- It is highly recommended to use a VPS and low-spread 5-digit broker who closes daily candles at 5 pm New York time.
Such broker gives five 24-hour daily candles for each week.
The default EA settings are for EURUSD M30. Presets for customizing (GMT offset: +2, DST: US/Europe) can be downloaded from the Download page. <Preset file structure> <How to Use the EA>
Structure of Magic Number:[Direction][MagicNumber][OrderID] For example: 
Direction: ‘1’ – buy, ‘2’ – sell;
MagicNumber: basic identifier of the EA’s orders, for example ‘70111’;
OrderID: it always will be = ’00’ for the MQL5 version.
Complete list of settings (v1.78 September 06, 2017):
- LotSize – fixed lot for orders. Used if UseMargin% and Balance are set to 0.
- Balance – amount for each increment of LotSize. In case of non-zero value, the EA calculates the lot size based on the account balance, e.g. 0.05 lots for every $1000. This management type increases (decreases) the lot size when the account balance increases (decreases). The lesser the amount, the higher the risk.
- UseMargin% – % of free margin which is used when entering a trade. If UseMargin%=0, the EA will use LotSize.
- MaxRiskPerTrade% – maximum risk (as a percentage of the balance) per trade based on StopLoss value. If MaxRiskPerTrade%=0, the EA will use LotSize or UseMargin%.
- MaxLot – maximum lot size that the EA can use.
Time *Time limits will be disabled if the value is set to -1.
- OrderHourStart/Stop – hour to start and stop trading (MT4 server time).
- OrderMinuteStart/Stop – minute to start and stop trading.
- OrderDayOfWeek – day/days of the week the EA can trade.
- OrderMonth – month, when the EA is allowed to trade. The ‘OrderMonth’ parameter allows you to determine what months are more profitable. This parameter is used only for testing.
- OrderMonths – months, when the EA is allowed to trade. Values from 1 January to 12 December separated by comma character, for example: 1,2,3,4,5,6,7,8,9,10,11,12.
- OrderHours – hours, when the EA is allowed to trade. Values from 0 to 23 separated by comma character.
- OrderMinutes – minutes, when the EA is allowed to trade. Values from 0 to 59 separated by comma character.
- Model type – model (PCh, Pivot, PA) which will generate a trading signal.
- Execution type – limit, stop or market orders. Market execution can be used as M or MR.
- PendingOrderModify – if set to true, the EA will try to modify an existing pending order if a calculated entry price is changed. If false, the EA will try to open a new order with a correct price. An outdated pending order will be deleted.
- MaxSpreadPip – when the spread goes up beyond this value the EA will not open a market order.
- MaxSlippagePip – allow you to specify the maximum slippage for a market order (opening/closing a position).
- SkipFirstTrade – use this parameter to skip the first trade of the day. It’s recommended to use only for testing.
- OneTradePerDay – use this parameter to limit the EA to trade only once per day.
- OneDirection – if set to true, the EA will not open Buy and Sell orders simultaneously.
- DailyATR_Period – period of DailyATR. Used for the normalization of the volatility.
- NYCloseBroker – set this parameter to false if your broker server time is not set to New York close.
- GMT_offset – GMT offset of your broker in the winter period. This parameter is used if the NYCloseBroker is set to ‘false’.
- Daylight_Saving_Time – set this parameter to the US/Europe if your broker changes the GMT offset in the summer time period. This parameter is used if the NYCloseBroker is set to ‘false’.
The Model is based on the horizontal support [Low] and resistance [High] levels. The EA determines the support/resistance levels based on a confirmed minimal/maximum prices. The EA can adjust offset of high/low levels for optimization purposes. The PCh model can be used as a breakout (EURUSD, GOLD) or a mean-reversion strategy (night-time AUDNZD, AUDCAD, EURNZD). The optimal take-profit/stop-loss levels for the MR/M strategies are the middle of the range (HL/2 level).
- PCh_TimeFrame – timeframe of the Price Channel.
- PCh_Period – defined period of the Price Channel.
- PCh_Left(Right)_Confirm – minimal number of bars on the left (right) side of the extremum for the price confirmation.
- PCh_OffsetPip, HL/2_OffsetPip – offset of the Price Channel levels for optimization purposes.
- PCh_Algorithm – the method used in Price Channel calculations. The Price Channel levels are lines which are set above and below the price. In case of value:
– Last_High/Low – method is based on the maximum and minimum values of the price for a certain period. In this case, the calculation takes into account only the last highest/lowest values of the price, and on their basis, the EA constructs two lines forming the price range.
– Bollinger Bands – method is based on two standard deviations away from a simple moving average.
– Confirmed_Level – method is based on the confirmed maximum/minimum prices for a certain period.
– Rollback_Mode – method is based on the rollback from the Price Channel boundary.
- UseBrokenLevels – if set to ‘false’, the EA will not use broken levels. This parameter is used only with the ‘Confirmed_Level‘ method.
The Model uses pivot points to determine critical support and resistance levels. The EA calculates central line (CL) at a specified time (Initial Hour) using the following formula: CL = (Highest Price (Period)) + Lowest Price (Period) + Close Price at a Specific Time) / 3. Support levels (SL) and resistance levels (RL) are then calculated off this central line: SL = CL – a Percentage of the Daily ATR; RL = CL + a Percentage of the Daily ATR. The Pivot model can be traded as BR/MR strategy.
- Pivot_InitialHour – initial hour to calculate the central line (CL).
- Pivot_CentralLine – method used on calculations of the central line. In case of value:
– (H+L+C)/3 – CL = (Highest Price (Period)) + Lowest Price (Period) + Close Price at a Specific Time).
– Simple Close – CL = Close Price at a Specific Time;
- Pivot_LevelSize – percentage of the DailyATR to calculate support and resistance levels.
The Model is based on the analysis of the price movement at a specified time/place. The Model identifies simple M/MR chart patterns. The PA model can be used to build a seasonal trading system. The PA model can be traded as M/MR strategy.
- PA_TimeFrame – timeframe of the Price Action.
- PA_InitialHour, PA_Bars – initial hour and number of bars to analyze the price movement.
- PA_Size%ATR – minimal size (in %ATR) of the price movement.
- RollbackLevel% – % of the price movement to calculate the level of limit order placement (0 = off).
- StopLoss, TakeProfit – max. permissible loss and profit target. It can express in pips (in case of value > 3) or %ATR (in case of 0 < value <3). If the value set to 0 then the EA places SL(TP) on the middle of the price range (HL/2 level).
- Take|Stop Modify – if true, the EA will modify take-profit (stop-loss) if the calculated support and resistance levels are changed.
- MaxTakeProfit(StopLoss)Pip – use this parameter to limit (in pips) the maximum value of ‘TakeProfit’ (‘StopLoss’). For example, the ‘MaxTakeProfitPip’ can be useful if the value of ‘TakeProfit’ is set on the middle of a price channel.
- CloseOnOppositeSignal – if true, the EA will close the trade that was opened by the previous signal if an opposite signal is generated.
- TradingPauseBar – trading pause (in bars) that will be initiated after a trade has been closed. The EA will not open a new trade during the Trading Pause period. In case of value < 0, the Trading Pause will be initiated only if a trade has been closed at a loss.
- StopBar – time-based stop that automatically closes trades after a certain number of bars, regardless of other conditions (0 = off).
- StopHour – time-based stop that automatically closes trades at a specified hour, regardless of other conditions (>23 = off).
- FridayStopHour – hour to close trades on Friday’s (-1 = off).
- DisableTP(SL)_Hour – hour to disable TP (SL), i.e. the TP (SL) price of the position will set to 0. (-1 = off).
- TakeToBreakevenPip – minimum loss level in pips when the TP should be moved to breakeven, i.e. to the open price of the position (0 = off).
- TrailingStopPip – in case of value > 0: trailing in pips when position is in profit, in case of value < 0: minimum profit level in pips when the SL should be moved to breakeven (0 = off).
- StopProfitBar, StopProfitPip – if a position has a floating profit more than ‘StopProfitPip‘ pips, and the position holding time has exceeded ‘StopProfitBar‘ bars, then such a trade will be automatically closed, regardless of other conditions.
*Set value to 0 to disable a filter.
- DailyEMA_Period, DailyHL/2_Period – period of the trend filter. The trend filter passes buy/sell signals when price closes above/below DailyEMA (DailyHL/2 level), and the other way around if the value of the filter is negative. Do not use DailyEMA and DailyHL/2 simultaneously.
- VolaFilter%ATR_Intraday(Daily) – value in % of DailyATR. The Intraday filter doesn’t pass signals to the execution if the width of the price range > specified value, and the other way around if the value of the filter is negative. The Daily filter doesn’t pass signals if the ratio of DailyATR/DailyATR(30-day) > specified value.
- PivotFilter – set to use the Pivot Model as a filter.
- RangeFilter – filter is based on the position of the current price inside a local range.
- ShadowFilter – minimal ratio(%) of the upper/lower shadows to the DailyATR.
- PreviousDay’s_Return%ATR – value in % of DailyATR.
In case of value > 0:
– a buy (for MR) / sell (for M) signal is passed if the previous day’s return (Close-Open) < -specified value * DailyATR/100;
– a sell (for MR) / buy (for M) signal is passed if the previous day’s return > specified value * DailyATR/100;
In case of value < 0:
– a sell (for MR) / buy (for M) signal is passed if the previous day’s return < -specified value * DailyATR/100;
– a buy (for MR) / sell (for M) signal is passed if the previous day’s return > specified value * DailyATR/100.
- HurstFilter – set to use the Hurst Exponent as a filter. The values of the Hurst exponent vary between 0 and 1. The price is likely to have: Persistence – value 0.5 – 1 (i.e. whatever is happening now is likely to continue); Anti-persistence – value 0 – 0.5 (i.e. whatever is happening now is likely to reverse); Randomness – value around 0.5 (i.e. likely to go in any direction). The filter passes buy and sell signals when Hurst Exponent > a specific value, and the other way around if the specific value of the filter is negative.
- HurstTimeFrame – timeframe of the filter.
- HurstFilterBars – number of bars in a time series.
- RSI_Filter% – filter is based on the ‘RSI’ indicator. The RSI_Filter% can work in two modes:
- Tail mode (in case of value > 0). In this mode:
– a Mean-reversion strategy filters out (ignores) a buy/sell signal when the ‘RSI’ is below 50–RSI_Filter% / above 50+RSI_Filter%, respectively;
– a Momentum strategy filters out a sell/buy signal when the ‘RSI’ is below 50–RSI_Filter% / above 50+RSI_Filter%.
This mode allows you to filter out too dangerous situations on the market. For example, a MR strategy can ignore any buy signals if the price drops too sharply because there is a high chance that price will continue to fall. A BR strategy can ignore a buy signal if the price approaches the upper level with too high acceleration.
- Peak mode (in case of value < 0). In this mode:
– a Mean-reversion strategy filters out (ignores) a buy/sell signal when the ‘RSI’ is above 50-|RSI_Filter%| / below 50+|RSI_Filter%|;
– a Momentum strategy filters out a sell/buy signal when the ‘RSI’ is above 50-|RSI_Filter%| / below 50+|RSI_Filter%|.
This mode allows you to ignore signals with too low potential.
- Tail mode (in case of value > 0). In this mode:
- RSI_TimeFrame, RSI_FilterPeriod – RSI indicator corresponding parameter settings.
- UserComment – a field custom comment that can be used to label the orders opened by the EA.
- MagicNumber – an identifier of the EA’s orders. This number should be less than 99999 and unique when multiple EAs are attached to a terminal.