Metatrader consolidation zone (CZ) expert advisor that can trade breakouts (or within the CZ), by filtering entries based on the moving average indicator, ATR indicator, date/time and the forex news.
- detect and determine the consolidation zones
- enter trades when the price leaves these zones (if trading breakouts) and place stoploss, take profit, breakeven, trail the price etc
- restrict trading by days, hours, forex news releases and confirm trade signals my moving average, ATR
The idea behind this MetaTrader breakouts expert advisor is to trade breakouts out of consolidation zones. It often happens that the price moves in a defined range (ie the price consolidates) for a while, and then it breaks out of these consolidation zones. When the price forms a consolidation zone, forex traders usually set pending orders above or below these zones. The trend traders would probably place pending orders only in the direction of the trend, at the appropriate CZ (consolidation zone) end. When the price leaves the consolidation zone and hits the pending order(s), this trade will open.
To better understand how the RobotFX Stairsteps EA works please check the forex chart below. As you can see, there is a downtrend, meaning that the price falls. As it continues to fall, the price creates small consolidation zones. They look a little like stairs, hence the name Stairsteps. The stair steps are the consolidation zones. The RobotFX Stairsteps expert advisor draws the CZ and enters short trades as soon as the price leaves these consolidation zone, falling down.
- BoxBuffer: Margin above and below a consolidation zone, beyond which an entry is triggered.
- BoxBufferType: Type of BoxBuffer: multiplier of ATR, multiplier of CZ height or multiplier of stop loss value.
- BoxLength: Minimum number of bars for a valid consolidation zone.
- BoxRange: Minimum height for a valid consolidation zone.
- BoxRangeType: Type of BoxRange.
- AutoReduceCZ: The consolidation zone is narrowed within its highest and lowest points. False means BoxRange defines its height.
- CZPerSession: Maximum number of consolidation zones during each session. If there are no trading sessions, it refers to the whole day. 0 disables this option.
- TimeFrame: The timeframe used for calculating the consolidation zones.
- MaxEntryDistance: Entry distance from breakout level should not exceed the defined value. 0 disables this option.
- MaxEntryDistanceType: Type of MaxEntryDistance.AnchorCandle: We set an anchor at the open price of the current candle. The first breakout trade should open above it for longs or below it for shorts.
- AnchorCandleTF: The timeframe of anchor candle.
- InitialBreakoutDirectionOnly: All trades of a consolidation zone should have the same direction as the first one.
- LongTrades: Long trades are allowed.
- ShortTrades: Short trades are allowed.
- MinBarsClosedOutside: 0 means an entry signal is valid when price exceeds the buffer zone, a value of 1 or greater defines the number of bars that should close beyond the buffer lines for a valid entry.
- EMAFilter: An entry is valid when real time moving average also reaches the level of the entry signal.
- ReverseSignals: Direction of entry signals is reversed.
- CopyIndicator: Trades are opened based only on signals from indicator. Take profit and stop loss are also copied from the indicator and are applied to bid. The indicator should be attached on a chart of the same timeframe and share the same MagicNumber.
- MaxTradeSetReversals: Maximum allowed trades of a trade set.
- ResetBoxSize: After a trade set is completed, if the defined number of bars lies within the extended consolidation zone, a new trade set is allowed to occur.
- BreakoutBypass: Number of breakout signals omitted before the breakout that triggers a trade.
- FIBSasPriceTarget: Take profit is defined by the nearest fibonacci level.
- FIB_TP: Fibonacci sequence ratios used to calculate the respective levels.
- MagicNumber: Magic number of the trade. If more than one chart of the same pair is opened the magic numbers should be different. Different pairs can have the same magic number.
- TradeComment: Comment of the trade as shown at the Metatrader terminal.
- QuickTakeProfit: Take profit of the first trade of a trade sequence. If ReverseSignals is true and QuickTakeProfit is 0, then the opposite border of the consolidation zone is used as take profit.
- QuickTakeProfitType: Type of QuickTakeProfit.
- ModifyTakeProfit: After the first trade of a tradeset the take profit value is modified so that it is no less than the greatest stop loss value among all trades of this tradeset.
- StopLossOverride: The stop loss value in pips. If ReverseSignals is false and StopLossOverride is 0, then the opposite border of the consolidation zone is used as stop loss.
- StopLossOverrideType: Type of StopLossOverride.
- BreakEvenTrigger: The stop loss moves to the entry price after price is in profit for the defined value.
- BreakEvenTriggerType: Type of break even trigger.
- LockProfit: The stop loss moves to the entry price plus the defined value after price reaches BreakEvenTrigger level.
- LockProfitType: Type of LockProfit.
- TrailingStart: Trailing stop is activated when price goes above the entry price for longs or below the entry price for shorts, for the defined value.
- TrailingStartType: Type of TrailingStart.
- TrailingStop: Value of trailing stop loss. Stop loss is continuously modified so that its distance from current price is always the defined value. 0 disables this option.
- TrailingStopType: Type of trailing stop loss.
- TrailingStep: The trailing stop loss is modified when price exceeds the level at which the previous trailing stop modification occurred, for the defined value.
- TrailingStepType: Type of TrailingStep.
- DynamicTrailingStop: The stop loss is constantly calculated as a percentage of the distance between current price and take profit. 0 disables this option.
- CloseProfitableAfterMinutes: At the defined minutes after its opening, a profitable trade is closed.
- CloseLosingAfterMinutes: At the defined minutes after its opening, an unprofitable trade is closed. Slippage: Maximum allowed slippage of trades.
- MaxSpread: No trades are opened when spread is greater than the defined pips. 0 disables this option.
- VisibleTP: Take profit visible to brokers used in case of disconnection. It is a multiplier of hidden take profit value.
- VisibleSL: Stop loss visible to brokers used in case of disconnection. It is a multiplier of hidden stop loss value.
- SendEmail: Disabled means no email, TradeOpening means an email is sent only when a trade is opened, TradeClosing means an email is sent only when a trade is closed, TradeOpeningOrClosing means an email is sent in both cases.
- SendNotifications: Disabled means no push notification, TradeOpening means a notification is sent only when a trade is opened, TradeClosing means a notification is sent only when a trade is closed, TradeOpeningOrClosing means a notification is sent in both cases.
- Alerts: Disabled means no alerts, TradeOpening means alerts only when a trade is opened, TradeClosing means alerts only when a trade is closed, TradeOpeningOrClosing means alerts in both cases.
- AlertSound: Play the defined sound file with an alert. The sound file should be placed in the sounds directory of Metatrader. Set it to blank for no sound.
- ScreenShots: Screenshots are saved in the files folder at the opening and closing of a trade. Disabled means no screenshots, TradeOpening means a screen shot is saved only when a trade is opened, TradeClosing means a screen shot is saved only when a trade is closed, TradeOpeningOrClosing means a screen shot is saved in both cases.
- LongColour: Arrow colour of long trades.
- ShortColour: Arrow colour of short trades.
- LabelFontColour: Colour of the labels that show information of the expert advisor.
All hour based settings are in hhmmhhmm format and refer to GMT. The first four digits define the start time and the last four digits the end time. Up to three trading sessions can be used. Set it to “00002400” to trade all day.
- AutoGMTOffset: Difference between server time and GMT, defined automatically by the EA. It can’t be used during backtests.
- ManualGMTOffset: Difference between server time and GMT, defined manually.
- DSTOffset: If ManualGMTOffset is used, Daylight Saving Time correction is automatically applied according to the European Union rules.
- TradingSession1: Trading hours restrictions for the first trading session.
- TradingSession2: Trading hours restrictions for the second trading session.
- TradingSession3: Trading hours restrictions for the third trading session.
- MondayOpenHour: For each week, new trades are only opened after this hour of Monday. It is in hhmm format. Set it to blank to disable this option.
- FridayCloseHour: Hour of Friday when all trades are closed and no new ones are opened to avoid the weekend gap. It is in hhmm format. Set it to blank to disable this option.
- FridayCloseTrades: At FridayCloseHour open trades are closed. None means no trades are closed, ProfitableTrades means only profitable trades are closed, LosingTrades means only losing trades are closed, AllTrades means all trades are closed.
- DailyCloseHour: Hour of each day when all trades are closed and no new ones are opened till the next day. It is in hhmm format. Set it to blank to disable this option.
- DailyCloseTrades: At DailyCloseHour open trades are closed. None means no trades are closed, ProfitableTrades means only profitable trades are closed, LosingTrades means only losing trades are closed, AllTrades means all trades are closed.
- TradingDays: Comma separated days of the week that allow trading.
- NewsFilter: No new trades are opened during news period.
- MinutesBeforeNews: The NewsFilter is active for the defined number of minutes before news.
- MinutesAfterNews: The NewsFilter is active for the defined number of minutes after news.
- Lots: The lot size if money management is not used.
- MoneyManagement: True means that the lot size is defined by the money management.
- EquityPercent: Lot size is a percent of account equity. 0 disables this option.
- StopLossRisk: Percent of account balance to risk for each trade, if it hits stop loss. 0 disables this option. Only one of EquityPercent or StopLossRisk can be used.
- CZResetMartingale: Martingale sequence resets when a new CZ is formed.
- Martingale: Percentage means a LotMultiplier percentage is added to the lot size after a loss, Multiplication means the lot size is multiplied by LotMultiplier after a loss. Martingale is activated only after the initial lots of a trade are closed at loss because of stop loss.
- StartMartingaleAfterSL: The martingale sequence starts after the defined number of consecutive unprofitable closed trades.
- LotMultiplier: Lot size increase factor in case of Martingale.
- MaxMartingaleSequence: The maximum number of consecutive martingale trades.
- IncludeHigh: Whether or not to consider the most important (red color) news.
- IncludeMedium: Whether or not to consider the medium importance (orange color) news.
- IncludeLow: Whether or not to consider the least important (yellow color) news.
- IncludeSpeaks: Whether or not to consider speeches (banks, FOMC etc) .
- ReportAllForUSD: Whether or not to consider all news about the USD dollar.
- ShowResetButton: The RESET button will clean the chart and restart the EA as it has just been attached to chart.
StairSteps MT4 EA
Paul (verified owner) –
Enjoy consistent profits