Break of structure (BOS) forex Strategy

Please read all Details before using this indicator
This strategy is based on taking position after the break of a Previous High/Low swing happens (fixed time frame), the break of structure happens because of the swing happens then we go long or short respectively in this strategy.
I will be discussing the setting details through which you can make it work on different forex pairs.

Does it work on other pairs?
Yes, I have found similar back test results on other USD pairs.

Does it works on smaller time frame?
Yes it does work on smaller time frame , you have to understand the below concepts used and try different settings.
For the user the most important thing is to understand the settings of the indicator so that they can optimize the setting and get the best results:

This indicator contains the following IMPORTANT setting:
i. Fixed trading session for long trades (long position can be taken in that period of time only)
ii. Fixed trading session for short trades (Short position can be taken in that period of time only)

The concept behind restricting the time to go long or short is because in forex the particular pair move in a particular direction depending upon the currency and time zones.
This strategy works on different forex pairs, you need to find the best settings. I will be providing the best settings which works for this strategy and different pairs.

2. Choose Previous High/Low Timeframe
This is the most important option where you have to choose the timeframe for which you want H/L by default it is set to “D”. This timeframe H/L reference will be taken for taking trading decisions.

3.Setting for back test selection date range you can check the beck test of a particular time range.

4.You can check Long and Short positions performance separately, by unchecking the “Go_long” option it will remove all long positions from back test. Vice versa for “Go_short option”

5.Internal Bar Strength
IBS is simply an indicator where you buy on weakness and sell on strength, the cornerstone of any mean-reverting strategy.
It oscillates from zero to one and measures the relative position of the closing price relative to the High and Low.
IBS = (Close – Low) / (High – Low)

In the input setting the you can disable enable the IBS option from the strategy.

6. Parkinson volatility
Parkinson volatility is a volatility measure that uses the stock’s high and low price of the day (can be changed in the setting, instead of day it can be set to any bar length)
The main difference between regular volatility and Parkinson volatility is that the latter uses high and low prices for a day, rather than only the closing price.

In the setting you have three option
i. Enter Volatility Threshold
If the Parkinson volatility value is greater than the the threshold value then it lets the trade happen.
ii.Set the high/low bar time frame for calculating Parkinson volatility . ( Set 60m by default)

Formula used as below:
high_=security(syminfo.ticker, input("60"), high)
low_=security(syminfo.ticker, input("60"), low)
hourlyRangeSquared = pow((log(high_) - log(low_)), 2)
dailyParkinsonVol = sqrt(sum(hourlyRangeSquared, 24) / (4 * log(2)))

7. "Enter no of contract size"
This setting helps you to set the contract size , by default it is set to 100000.

8. “Zigzag Filter Length” this setting is for SWING H/L Lookback. With the help of this I have ploted Swing Support and Resistance .

9.Futrther confirmation of trade is done through the RSI criteria. In this I have provided four kind of RSI confirmation you can test all by selecting any one of the four.

i. filter trade on the basis of BB of RSI (as shown in the image)
ii. filter trade on the basis of RSI Levels (RSI>50 for long, vice versa for short)
iii. filter trade by rsi>basis of BB of RSI (for long) & rsi<50(for short)
iv. filter trade by rsi>50(long) & rsi< basis of BB of RSI (short)


10.For Exiting the trade I have used the trailing SL you can change it in setting.
You can exit the trade using two targets (two take profit) using different size for exiting the trade.

If you want to take only on target then you have to make QANTITY of shares for 1st Exit as 100. Then you will exit all your position in the first target.

A big thanks to there articles are very helpful

Thanks to Mickey for providing assistance.

Thanks to stack overflow community for clearing the doubts.

Trading view official documentation on V4 of pine script also helped me.

Release Notes: Removed some errors
Release Notes: added visual description and removed typo error.
Release Notes: Description on chart added .
Invite-only script

Access to this script is restricted to users authorized by the author and usually requires payment. You can add it to your favorites, but you will only be able to use it after requesting permission and obtaining it from its author. Contact badshah_e_alam for more information, or follow the author's instructions below.

TradingView does not suggest paying for a script and using it until you 100% trust its author and understand how the script works. In many cases you can find a good open-source alternative for free in our Public Library.

Author's instructions

If you like or comment this post I will give you 3 days free access for trial. DM me mail me contact me for access more than 3 days.

Want to use this script on a chart?

Warning: please read before requesting access.

An enthusiast trader. I code my strategies in pine script.DM me or Mail Me for any Info at, you can donate me at PayPal on mentioned mail.


Awesome Work
+1 Reply
badshah_e_alam FaizanNawazz
@FaizanNawazz, Thank you :)
Home Stock Screener Forex Screener Crypto Screener Economic Calendar About Chart Features Pricing Refer a friend House Rules Help Center Website & Broker Solutions Widgets Charting Solutions Lightweight Charting Library Blog & News Twitter
Profile Profile Settings Account and Billing Referred friends Coins My Support Tickets Help Center Private Messages Chat Sign Out