How to use Leverage and Margin in PineScriptEn route to being absolutely the best and most complete trading platform out there, TradingView has just closed 2 gaps in their PineScript language.
It is now possible to create and backtest a strategy for trading with leverage.
Backtester now produces Margin Calls - so recognizes mid-trade drawdown and if it is too big for the broker to maintain your trade, some part of if will be instantly closed.
New additions were announced in official blogpost , but it lacked code examples, so I have decided to publish this script. Having said that - this is purely educational stuff.
█ LEVERAGE
Let's start with the Leverage. I will discuss this assuming we are always entering trades with some percentage of our equity balance (default_qty_type = strategy.percent_of_equity), not fixed order quantity.
If you want to trade with 1:1 leverage (so no leverage) and enter a trade with all money in your trading account, then first line of your strategy script must include this parameter:
default_qty_value = 100 // which stands for 100%
Now, if you want to trade with 30:1 leverage, you need to multipy the quantity by 30x, so you'd get 30 x 100 = 3000:
default_qty_value = 3000 // which stands for 3000%
And you can play around with this value as you wish, so if you want to enter each trade with 10% equity on 15:1 leverage you'd get default_qty_value = 150.
That's easy. Of course you can modify this quantity value not only in the script, but also afterwards in Script Settings popup, "Properties" tab.
█ MARGIN
Second newly released feature is Margin calculation together with Margin Calls. If the market goes against your trades and your trading account cannot maintain mid-trade drawdown - those trades will be closed in full or partly. Also, if your trading account cannot afford to open more trades (pyramiding those trades), Margin mechanism will prevent them from being entered.
I will not go into details about how Margin calculation works, it was all explainged in above mentioned blogpost and documentation .
All you need to do is to add two parameters to the opening line of your script:
margin_long = 1./30*50, margin_short = 1./30*50
Whereas "30" is a leverage scale as in 30:1, and "50" stands for 50% of Margin required by your broker. Personally the Required Margin number I've met most often is 50%, so I'm using value 50 here, but there are literally 1000+ brokers in this world and this is individual decision by each of them, so you'd better ask yourself.
--------------------
Please note, that if you ever encounter a strategy which triggers Margin Call at least once, then it is probably a very bad strategy. Margin Call is a last resort, last security measure - all the risks should be calculated by the strategy algorithm before it is ever hit. So if you see a Margin Call being triggred, then something is wrong with risk management of the strategy. Therefore - don't use it!
Leverage
London breakout GBPUSD daytradeHello,
First I want to WARN THAT YOU NEED A MINIMUM OF 30X LEVERAGE FOR THIS STRATEGY IN ORDER TO WORK.
THE REASON IS THAT THE SIZE IS CALCULATED BASED ON A VERY SHORT STOP LOSS LEVEL IN PIPS
UTILIZE IT AT YOUR OWN RISK
This is a daytrading strategy, that's suited for GBPUSD 1H timechart.
It a very simple strategy that utilizes 2 moving averages : a very fast one and a very slow one.
It will always enter only at the beginning candle of London session, and it will always exit at the candle at the finish of London session.
So the rules are simple :
If its 8 am GMT and the candle close or high cross the slow moving average and we are above at the same over the slow moving average we make a long movement. The oposite condition is applied for short.
At the same time we always use a very small stop loss = 50-100 points ( 5-10 pips).
We dont have a take profit, in our case the trade ends always at the end of London session. In this case at 15h GMT
It might work on other currencies aswell, but it has to be tested first.
For any questions or suggestions, please let me know.
Leverage Strategy and a few words on risk/opportunityHello traders,
I started this script as a joke for someone... finally appears it could be used for educational content
Let's talk about leverage and margin call
Margin Call
A margin call is the broker's demand that an investor deposit additional money or securities so that the account is brought up to the minimum value, known as the maintenance margin.
A margin call usually means that one or more of the securities held in the margin account has decreased in value below a certain point.
Leverage
A leverage is a system which allows the trader to open positions much larger than his own capital. ... “Leverage” usually refers to the ratio between the position value and the investment needed,
Strat
The strategy simulates long/short positions on a 4h high/low breakout based on the chart candle close.
The panel below shows the strategy equity curve. Activating the margin call option will show when the account would be margin called giving the settings
Casino
I'm not doing any financial recommendation here.
I made this strategy so that people include more risk management metrics into their strategy.
From the code, we see it's fairly easy to calculate a leveraged position size and a margin call flag - when that flag is hit, the system stops trading.
I simplified things to the extreme here but my point is that the leverage is a double-edge sword gift.
Assuming we always take the same position sizing, increasing the leverage speed up how fast a margin could be ..... called. (bad joke? feel free to tell me). Not saying it will, saying it introduces more risk by design.
Then one could say "I'll just turn off that stupid margin call option". And that's when someone starts backtesting with unrealistic market conditions.
Finally...
When I backtest I always assume the worst in every scenario possible (because I'm French), I always try to minimize the risk first (also because I'm French), keeping as close from 0 as possible (French again)
Then I add the "opportunity" component, looking to catch the maximum of opportunity while keeping the risk low.
It's like a Rubix cube puzzle - decreasing the risk is one side of the equation but whenever I try to catch more opportunity... my risks increases.
Then I update my risk... and now the opportunity decreases... (#wut #wen #simple)
Completely removing the risk from a trading strategy isn't something I wouldn't dare doing.
Trading involves risk. Being obsessed by decreasing the risk is what I do BEST :)
Dave
Custom position sizerThis is a simple script to aid with determining position size.
Inputs are the intended entry price, desired risk (expressed as % of account at risk), account value, and leverage factor.
To use the script;
1. Identify and update the entry price (yellow line on the chart)
2. Update with desired risk
3. Update with account size
4. Adjust the leverage value until the stop loss (red line on chart for long positions, green line for short positions) reaches the desired value/location on the chart
The label will then update to show the required position size for the trade.
mex rekt levelsimple tool to calculate where the positions are liquidated. each color is a level of default leverage used on mex, eg. 10x,25x, and so on.
there is an offset input to adjust the levels horizontally, to make it easier to see in time where the positions got liquidated
Bitmex Liquidation Bands - JDA simple visual representation of leverage implications in Bitmex.
Can be used as a guide to place stops or targets to as the chart tends to jump from one liquidation point to another, most of the time.
Different leverages can be selected.
If I made a mistake in the percentages, please let me know so I can correct it! ;-)
JD.
#NotTradingAdvice #DYOR
Bitfinex Long vs Short (TickerID)Uses the active ticker to show long/short values on all Bitfinex pairs that have that data available on Tradingview.