Double Channel Expert Advisor For MT4
WE IMPROVED THIS EXPERT ADVISOR FOR YOU!!!
PLEASE NOTE: This expert advisor was publicly available for free usage on other websites and is not programmed by us. We explain the functionality and possible improvements of the EA. Furthermore, we are convinced that fully automatic Expert Advisors will fail in the long run. On the other hand, our semi-automatic approach with detecting the best setups and then activating our Expert Advisors (e.g. V-Power EA, EdgeZone EA) produced many successful traders and some of them even got prop traders at prop trading firms. Therefore, we added a similar semi-automatic trading feature (to allow only buy or only sell trades) to the free Expert Advisors. You can download the modified version here and enjoy!
Table Of Contents:
- Double Channel Expert Advisor For MT4
- The Double Channel Expert Advisor For MT4 – Entry Criteria
- The Double Channel Expert Advisor For MT4 – Exit Criteria
- The Double Channel Expert Advisor For MT4 – Room for Improvement
The Double Channel Expert Advisor For MT4 makes use of an external indicator to enter trades in the foreign exchange market. Since the robot depends on a signal from an external source for trade entry, the custom indicator must be put in the correct folder in the MT4 directory. The expert advisor can be implemented on any timeframe of any currency pair. Initial testing reveals that this trading system is profitable with minimal drawdown and high profit factor.
The Double Channel Expert Advisor For MT4 – Entry Criteria

The Double Channel Expert Advisor provides the user with great flexibility when using it in trading. He can try various combinations of settings until he finds one or two that will yield positive results. The user does not have to settle with the default settings. This expert advisor is indeed customizable to suit the style of every user.
The following is a list of the most important options in Inputs that the user must deal with and tweak to his liking. The options are shown with their default values.
- ChannelPeriod = 14 – This is the period of the custom indicator used in this trading system.
- ChannelWidth = 2 – This information is sent along with the period above when calling the custom indicator from the expert advisor.
- IndicatorShift = 0 – The shift is sent along with the period and width above when obtaining a value from the custom indicator.
- CloseInSignal = false – When this variable is set to true, an open trade will be closed when an opposite signal is provided by the custom indicator.
- TypeAutoClose = Close_Ticket_Orders – The user has two options in trade closure. The default option will have trades closed individually by the ticket number. The other option (Close_Basket_Orders) will have trades closed collectively.
- CloseInProfit = true – If the default value of true is maintained, individual or all open trades will be closed when a certain profit amount is reached.
- PipsCloseProfit = 25.0 – When a trade or set of trades has gained 25 pips, the trade or basket of trades will be closed immediately in profit.
- CloseInLoss = false – If this parameter is set to true, individual or all open trades will be closed when a certain amount of loss is reached.
- PipsCloseLoss = 100.0 – If the above variable is true, a trade or group of trades will be closed when the trade or set of trades has lost 100 pips.
- UseTakeProfit = false – If this variable is false, a trade will have no take profit.
- TakeProfit = 10.0 – If UseTakeProfit is true, a trade will have a take profit of 10 pips.
- UseStopLoss = false – If this parameter is false, a trade will have no stop loss.
- StopLoss = 10.0 – If UseStopLoss is true, a trade will have a stop loss of 10 pips.
- UseTrailingStop = false – This setting means that trailing stop is disabled.
- TrailingStop = 5 – If trailing stop is enabled, the stop loss of a trade will be adjusted to secure profit when the trade gains five pips.
- TrailingStep = 1 – For every one pip of price movement beyond the trail stop trigger point, additional one pip is secured by moving the stop loss by the same amount.
- UseBreakEven = false – This setting means that breaking even is not used.
- BreakEven = 4 – When breakeven is enabled, the stop loss of a trade will be shifted to the entry price when it has gained four pips.
- AutoLotSize = true – By default, this variable is set to true. As such, the lot size is dynamic and depends on the risk factor and the account balance.
- RiskFactor = 1.0 – This value means that the lot size of a trade is one percent of the account balance.
- ManualLotSize = 0.01 – If dynamic lot sizing is disabled, the expert advisor would use this lot size for all trades. This is not the default setting, but the user can make a change.
- UseTimeFilter = false – By default, the robot would not consider the time of the day when entering trades.
- TimeStartTrade = 0 – If the time filter is enabled, trading will start on this hour of the day (server time).
- TimeEndTrade = 0 – If the time filter is enabled, trading will end on this hour of the day (broker time).
- MaxSpread = 0.0 – This value indicates that the spread on the traded symbol is not considered during trade entry.
- MaxOrders = 0 – With this value, the expert advisor can open multiple trades without maximum limit.
- Slippage = 3 – This value is expressed in pips. This means that the user is willing to accept an entry price that is at most three pips from the requested price by the robot.
- SoundAlert = true – The expert advisor will display alerts when a trade is taken.
- MagicNumber = 0 – The zero value indicates that the user allows the robot to set the magic number for trades.
- CommentsOrders = "DoubleChannelEA" – This text is added as supplementary information to each trade to be used in trade management.
The trading system uses a custom indicator that comes with the expert advisor as the sole indicator for trade entry. The indicator should be put in the Indicators folder so that the expert advisor works. Otherwise, the robot would not run at all. If the user wants to put the custom indicator in another folder inside the Indicators folder, this is possible so long as the code is updated.
The custom indicator being used and the manner of signal generation are presented below:
- Double channel – As shown in the image above, this indicator displays three lines on the main chart that look like moving averages. The line in orange is the upper level, while the line in aqua is the lower level. The middle line in yellow is simply the moving average. The indicator also comes with up and down arrows that print from time to time. These arrows are the source of trade signals. If an up arrow is printed, a bullish signal is generated. If a down arrow is displayed, a bearish signal is provided. Since the arrows seldom come up, the robot trades infrequently.
If a new candle has formed on the active symbol and when the expert advisor receives a trade signal from the custom indicator, it immediately takes action by opening a trade whose lot size is based on the account size. Normally, this lot size is bigger than the minimum trade volume in most trading accounts. The trade taken is executed without a stop loss and take profit as set in Inputs.
The Double Channel Expert Advisor For MT4 – Exit Criteria
Most of the time, the Double Channel Expert Advisor opens one or two trades on the chart. However, the robot can open multiple trades of the same type in quick succession if arrows show up more frequently. It can be assumed that the robot will trade any arrow that appears on the chart. Further testing is needed to confirm this assumption, but it is a safe hypothesis. Opening trades this way is not that risky, though, because the position size is not incremented and a maximum trade limit has been set in the beginning.
The Double Channel Expert Advisor For MT4 – Room for Improvement
While it is too early to conclude that the Double Channel Expert Advisor is a profitable trading system, the overall result in testing is satisfactory. The maximum drawdown was less than five percent, the win rate was 85 percent, and the profit factor was 4.48, which is way too far from the 1.0 profitability threshold.