Break Asian Range
- Experts
- Damaso Perez Moneo Suarez
- Version: 1.0
Introduction
Break Asian Range is a trading bot that automates the well-known “Asian highs and lows” strategy. It is designed to detect and trade breakouts of the Asian session in assets like EURUSD, GBPJPY, and other volatile pairs.
It combines customizable technical confirmations with advanced risk management (SL, TP, trailing stop, variable risk, reentries...) to suit both conservative and aggressive trading styles.
It works with multiple timeframes and recognizes key candlestick patterns like doji, hammer, or engulfing to validate entries, if desired by the trader.
Main Features
Strategy based on a well-known and repetitive market behavior.
Flexible: allows customization of confirmations, trading hours, risk, and more.
Compatible with any pair or asset.
Can operate conservatively or aggressively depending on the user's profile.
Includes support for re-entries, dynamic risk management, and trade filtering.
Already tested with good results on multiple pairs during April 2025 (see images below).
Comments and Support
I truly appreciate positive and constructive comments if you find the bot useful. That helps me improve future versions and tailor them to users' real needs.
I’m fully available to answer questions, explain any parameter, or address any issue related to the bot's operation.
Below you will find a detailed description of the system's functionality and configurable parameters.
Asian Highs and Lows Strategy
The Asian highs and lows strategy is based on the idea that each session (Asia, London, and New York) follows the AMD cycle (Accumulation, Manipulation, and Distribution), with Asia usually being the accumulation phase.
During the London session, manipulation is common — price breaks the high or low of the previous session, making traders believe the move will continue, only to reverse and hit most stop-losses.
Bot Operation
This bot uses the Asian Highs and Lows strategy and allows the trader to configure various options to adapt to their trading style. The bot selects the range based on the hours defined by the trader (it can be the Asian session or another session) and checks when it breaks the high or low to look for sell or buy entries, respectively. The bot also provides the option to ensure that the selected range can be considered an accumulation by defining the maximum number of points it can move during that session. If this validation is not needed, it can be skipped by setting it to '0'. Once the range is broken, the entry can be made directly when the high or low is broken by a predefined number of points, or it can wait until the selected zone is reached and additionally confirm with a doji, hammer, and/or engulfing candle. Two timeframes can be configured to detect these confirmation candles, such as 1min and 3min, or 1min and 5min, etc. The trader has many configuration options to find the best setup. Naturally, the more confirmations are required, the fewer entries the bot will make, but the accuracy rate will increase.
Special Features
In addition to the entry configuration based on range breakouts and additional candle confirmations, this bot has a variable risk control system that helps improve its efficiency. It should not be confused with a martingale strategy that does not close trades. This bot opens and closes trades one at a time. However, it allows you to increase the risk if the previous trades were losses, which helps to offset losses with winning trades.
It also has the option to move the Stop Loss to BreakEven when the price reaches a value with a user-defined Risk:Reward ratio. Partial closures can also be configured when the price reaches a predefined value.
Bot Parameter Settings
It is always important to know and fully understand all the configurable parameters of a bot in order to use it correctly. In this case, the bot also has quite a few parameters to better adapt to different circumstances and to the trader. Below, each parameter is explained so it can be clearly understood and customized to the trader's preference. The displayed name (in English) and the explanation will be shown:
Input group "General Parameters"
MagicNumber -- Bot ID. It must be unique among all bots running on the same Metatrader.
Choose the language for messages -- Selection of the language in which messages will appear in the "experts" tab.
Fixed SL. If false, SL and TP are calculated based on high and low -- Defines whether SL and TP are chosen with a fixed value (defined below), or dynamically based on the latest high/low for SL and 50% of the chosen range for TP.
Stop Loss points -- SL points if fixed (previous variable set to "true").
TakeProfit / StopLoss ratio -- TP ratio based on the defined fixed SL.
Minimum points for variable SL -- If SL is chosen dynamically, a minimum point value for SL can be set.
Condition to allow long entries -- Allows opening long trades. If set to false, it never goes long.
Condition to allow short entries -- Allows opening short trades. If set to false, it never goes short.
Condition to block new entry after a loss in the same Tx (excluding reentry) -- Sometimes entry conditions are met more than once within the allowed time. With this variable, if a SL has occurred earlier, it won’t re-enter even if the conditions are met again. This helps to control losses.
Max number of trades in one day -- As entry conditions can be met more than once in a day, this variable limits the number of trades per day. If reentry is enabled, it also counts toward this limit.
Allow reentry after SL during x hours -- When conditions are met and an entry occurs, a “limit” order is placed at the defined SL, in case the SL is hit and price then moves in our favor. USE THIS OPTION WITH CAUTION as it can increase losses. If enabled, it is recommended to halve the initial risk, in case it enters twice per trade.
Hours allowed for reentry -- How long the “limit” order remains active once placed.
Input group "SL/TP Management"
Enable BreakEven -- If we allow moving the SL once a certain value is reached.
Ratio required to move the SL -- At what SL/TP ratio we move the SL. For example, if we aim for a final 1:4 ratio, when it reaches 1:3 we want to move the SL to protect ourselves.
Points to add to entry price to secure small profit. If greater than current price, set to '0' -- If we want to place the SL slightly above the entry to at least cover commissions.
Enable partial close when TP % is reached -- If we allow closing part of the trade when a certain target is hit.
Ratio required to partially close the trade -- At what SL/TP ratio we want to perform the partial close. For example, if we aim for a final 1:4 ratio, at 1:3 we close 80% and let the rest run.
If partial close, points to extend TP. Set to 0 to disable -- If we want to move the TP a bit further after a partial close, since we already secured part of the position.
% of position to close on partial take profit -- What % of the trade we want to close on "Partial Close". Initial lots must be greater than 0.01.
Input group "Variable Risk"
Initial budget -- Initial account budget used to calculate risk.
Initial risk -- Initial risk to be considered in trades.
Risk multiplier -- Each time a stop loss occurs, the risk of the next trade will be multiplied by this value. When a trade is profitable, the next trade will start with the initial risk.
Days of history used to calculate variable risk -- Number of days to review to count lost trades.
Maximum allowed risk -- Maximum permitted risk. If the multiplied risk exceeds this value, it will be capped at this maximum.
Input group "Asian Range Break Confirmation"
Upper breakout buffer (in points) — how many points above the high we consider as a breakout to the upside.
Lower breakout buffer (in points) — how many points below the low we consider as a breakout to the downside.
Points from Asia range to accept entry — if the price has already reversed, how far from the Asian range we still accept an entry. This is measured from the Asian range, not the breakout zone.
Timeframe for Confirmation Period 1 — first timeframe to check the candles and confirm a trend reversal.
Timeframe for Confirmation Period 2 — second timeframe to check the candles and confirm a trend reversal.
Confirm with Hammer in Period 1 — whether we want to confirm using "hammer" candles in the first timeframe.
Difference: downward trend = hammer, upward trend = shooting star — whether the candle pattern direction must match the trend (hammer in downtrend, shooting star in uptrend) or not.
Confirm with Doji in Period 1 — whether we want to confirm using Doji candles in the first timeframe.
Confirm with Engulfing candle in Period 1 — whether we want to confirm using engulfing candles in the first timeframe.
Confirm with Hammer in Period 2 — whether we want to confirm using "hammer" candles in the second timeframe.
Confirm with Doji in Period 2 — whether we want to confirm using Doji candles in the second timeframe.
Confirm with Engulfing candle in Period 2 — whether we want to confirm using engulfing candles in the second timeframe.
Number of confirmations needed in Time Frame 1 – How many confirmations are needed in timeframe 1 to consider that the price has reversed.
Number of confirmations needed in Time Frame 2 – How many confirmations are needed in timeframe 2 to consider that the price has reversed.
Total number of confirmations required – Total number of confirmations (timeframe 1 and 2) needed to consider that the price has reversed.
% to define a Hammer candle – How to define a hammer candle. The ratio between the candle body and the wick. The body must be this % of the wick (body/wick < parameter).
% to define a Doji candle -- How a Doji candle is defined. The indicated % refers to the wick's proportion relative to the total size of the candle.
% to define an Engulfing candle – When searching for an engulfing candle, it can be set to 100% (the opposite-direction candle must be at least the exact size of the previous candle), or slightly less (a value under 100%), or slightly more (a value over 100%).
Input group "Asian Range Time"
Maximum points to allow "break range" – If you want to confirm that the defined range is an accumulation phase, you can set a maximum number of points. The system will only search for entries if the range is smaller than this value. If you don't want to use this filter, set it to '0' and the range break will be detected regardless of the number of points moved during the session.
Start hour for Asian session – Hour when the session starts.
Start minutes for Asian session – Minutes of the start hour.
End hour for Asian session – Hour when the session ends.
End minutes for Asian session – Minutes of the end hour.
Latest hour to detect break range – Final hour to look for range break entries.
Latest minutes to detect break range – Minutes of the final hour to detect break entries.
input group "Graphic configuration"
Variable to enable or disable the drawing of objects on the chart -- Whether to draw accumulation zones and entries on the chart
Color of the Acumulation rectangle when exist Acumulation -- Color of the range box when accumulation is valid (entries will be considered)
Color of the Acumulation rectangle when there is NO Acumulation -- Color of the range box when accumulation is not valid (entries will not be considered)
Color of the SL range -- Color of the box that marks the Stop Loss for the executed entry
Color of the TP range -- Color of the box that marks the Take Profit for the executed entry
It is important to note that if we set '0' in the confirmations for timeframe 1 and 2, but set '1' in the total confirmations, then at least one confirmation in any TF will be required to enter. If we want two confirmations in the same timeframe (for example in TF1 using both a doji and a hammer, or a doji and an engulfing, or a hammer and an engulfing), we must set '2' in the confirmations for timeframe 1 and leave the rest of the confirmations at '0'.
Recommendations
For all bots, it is recommended to test them first in the strategy tester to try to optimize the parameters (either automatically or manually) and to understand their operation as best as possible. Then it's better to run it on a demo account and finally on the real or funded account of your choice.
Some explanatory images and test configurations are shared, but it's always better to adapt them to your own needs.
This bot can be used on any asset, but it's recommended to simulate it first to see its effectiveness. The main strategy is designed for EURUSD and other similar pairs, although, as with any strategy, there are market conditions more favorable for this setup and others that are less favorable.
The variable risk helps the strategy to be more profitable, since even if several SLs are triggered in a row, a single TP can recover the losses and still bring profit (this also depends on the SL:TP ratio and the win rate).
Images
The attached images show an explanation of how the bot works and some results during April 2025.
Image 1, 2, and 3 – Results on EURUSD during April 2025, ending positive. Includes the parameters used.
Image 4 and 5 – Results on GBPJPY during April 2025, ending positive. Includes the parameters used (second part of parameters is the same as Image 3).
Image 6 and 7 – Results on AUDCAD during April 2025, ending positive. Includes the parameters used (second part of parameters is the same as Image 3).
Image 8 and 9 – Results on USDJPY during April 2025, ending positive. Includes the parameters used (second part of parameters is the same as Image 3).
Image 10 and 11 – Chart example with trade on M5 and M3 confirming with engulfing candle.
Image 12 – Example of a re-entry trade that turns out favorable. Be cautious with the re-entry setting as it may double the risk per session.
These images show real examples during a specific period, but they cannot guarantee the same results in other periods.

User didn't leave any comment to the rating