Download MQ L5 Wizard - Trade Signals Based on Dark Cloud Cover/Piercing Line + RS I for MetaTrader 5

MQ L5 Wizard - Trade Signals Based on Dark Cloud Cover/Piercing Line + RS I

MQ L5 Wizard - Trade Signals Based on Dark Cloud Cover/Piercing Line + RS I

This software component for MetaTrader 5 is built to enhance the capabilities of your trading environment. This Expert Advisor serves as automated trading software. It is utilized to monitor financial markets and execute trades based on predefined algorithmic rules, enabling precise position management without the need for constant manual oversight.

MT5 expert Pack 📂

How to Setup and Use MQ L5 Wizard - Trade Signals Based on Dark Cloud Cover/Piercing Line + RS I

1. Installation: Open the "File" menu, select "Open Data Folder," navigate to MQL/Experts, paste your file, and restart the terminal.

2. Activation: Drag the EA from the Navigator onto a chart, ensure "Allow live trading" is checked in the Common tab, and verify the AutoTrading button is green.

3. Optimization: Right-click your chart, choose "Expert List," click "Properties" to adjust inputs, and save your preferred setup as a set file for future use.

4. Maintenance: Regularly check the "Experts" tab in the terminal window to monitor trade logs and potential execution errors.

Frequently Asked Questions

Q: Why is my EA not opening trades? A: Check the "AutoTrading" button, ensure "Allow live trading" is enabled, and verify your broker allows automated trading on your account type.

Q: Can I run multiple EAs on one chart? A: No, each chart can only host one active EA; however, you can open multiple charts for different currency pairs to run several EAs.

Q: What does the "smiley face" icon mean? A: A smiley face in the top-right corner of the chart indicates the EA is successfully running; a frowny face means it is disabled.

Description & Settings


The allows creating ready-made Expert Advisors based on the classes delivered together with the client terminal (see for the details). It allows to check your trade ideas quickly, all you need is to create your own trading signals class. The structure of this class and example can be found in the article .
The generic idea is the following: the class of trading signals is derived from , the next, it's necessary to override the and virtual methods with your own methods.
There is a book " (in Russian), there are many trading strategies are considered there, we will focus on reversal candlestick patterns, confirmed by , , and oscillators.
The best way is to create the separate class, derived from for checking of formation of candlestick patterns. For confirmation of trade signals, generated by candlestick patterns, it's sufficient to write the class, derived from CCandlePattern and add the necessary features (for example, confirmation by oscillators) there.
Here we will consider the signals, based "Dark Cloud Cover/Piercing Line" reversal candlestick pattern, confirmed by indicator. The module of trade signals is based on the class, it's simple example of its use for creation of trade signals with candlestick patterns.
1. "Dark Cloud Cover" and "Piercing Line" reversal candlestick patterns
1.1. Dark Cloud Cover
It's a bearish candlestick reversal that occurs at the end of uptrend. A long white candlestick is formed on the first day and a gap up is created on the second day. However, the second day closes below the midpoint of the first day.
Figure 1. "Dark Cloud Cover" candlestick pattern
The recognition of "Dark Cloud Cover" pattern is implemented in CheckPatternDarkCloudCover() method of class:
The CheckCandlestickPattern(CANDLE_PATTERN_DARK_CLOUD_COVER) method of class is used to check formation of "Dark Cloud Cover" candlestick pattern.
1.2. Piercing Line
The gap down on the second day perpetuates the downtrend. However, the second day's close is above the midpoint of the first day's body. This suggests to the bears that a bottom could be forming. This price action is not nearly as discernable using bar charts as it is with candlestick charts. The more penetration of the close on the second day to the first day's body, the more probable the reversal signal will succeed.
Fig. 2. "Piercing Line" candlestick pattern
The recognition of "Piercing Line" pattern is implemented in CheckPatternPiercingLine() method of class:
The CheckCandlestickPattern(CANDLE_PATTERN_PIERCING_LINE) method of class is used to check formation of "Piercing Line" candlestick pattern.
2. Trade signals, confirmed by RSI indicator
The trading signals to open long or short position must be confirmed by indicator. The value of RSI must be lower/greater than critical levels (40 for long position and 60 for short position).
The closing of opened position depends on the values of . It can be done in 2 cases:

if RSI has reached the opposite critical level (70 for long position and 30 for short position)

if the reverse signal isn't confirmed (when RSI reaches the following levels: 30 for long position and 70 for short position)
Fig. 3. "Dark Cloud Cover" pattern, confirmed by RSI indicator

int CDC_PL_RSI::LongCondition() - checks conditions to open long position (returns 80) and close of the short position (returns 40);

int CDC_PL_RSI::ShortCondition() - checks conditions to open short position (returns 80) and close of the long position (returns 40).
2.1. Open long position/Close short position

The formation of "Piercing Line" pattern must be confirmed by indicator: RSI(1)<40 (the value of the RSI of the last completed bar must be less than 40).

The short position must be closed if indicator has crossed upward the critical levels 70 or 30.

2.2. Open short position/Close long position

The formation of "Dark Cloud Cover" pattern must be confirmed by indicator: RSI(1)>60 (the value of the RSI indicator of the last completed bar must be greater than 60).

The long position must be closed if indicator has crossed downward the critical levels 70 or 30.

2.3. Creating Expert Advisor using MQL5 Wizard
The CDC_PL_RSI class isn't included in the Standard Library classes, to use it, it's necessary to download the adc_pl_rsi.mqh file (see attachments) and save it to the client_terminal_data\folder\MQL5\Include\Expert\Signal\MySignals. The same should be done with the acandlepatterns.mqh file. You can use it in MQL5 Wizard after restart of the MetaEditor.
To create an Expert Advisor launch :
Fig. 4. Creating Expert Advisor using MQL5 Wizard
Let's specify the name of the Expert Advisor:
Fig. 5. General properties of the Expert Advisor
After that we need to select the modules of trade signals used.
Fig. 6. Signal properties of the Expert Advisor
In our case we use only one module of trade signals.
Adding the "
Signals based on Dark Cloud Cover/Piercing Line confirmed by RSI
" module of trading signals:
Fig. 7. Signal properties of the Expert Advisor
Module of trade signals added:
Fig. 8. Signal properties of the Expert Advisor
You can select any trailing properties, but we will use "Trailing Stop not used":
Fig. 9. Trailing properties of the Expert Advisor
Concerning the money management properties, we will use "Trading with fixed trade volume":
Fig. 10. Money management properties of the Expert Advisor
By pressing the "Finish" button, we will get the code of the generated Expert Advisor, located in Expert_ADC_PL_RSI.mq5, it will be saved in terminal_data_folder\MQL5\Experts\.
The default input parameters of the generated Expert Advisor:
must be replaced to:
The Signal_ThresholdOpen/Signal_ThresholdClose input parameters allow to specify threshold levels for open and close of positions.
In code of the LongCondition() and ShortCondition() methods of the trade signals class we have specified the fixed values of the threshold:

Open position: 80;

Close position: 40.
The Expert Advisor, generated by MQL5 Wizard open and close position using the "votes" from the modules of trade signals. The vote of the main module (as container, it consist of all the modules added) is also used, but its LongCondition() and ShortCondition() methods always return 0.
The vote results of the main module is also used in "votes" averaging. In our case we have: main module + 1 module of trade signals, so we need to take this fact into account when setting of the threshold values. Because of this fact the ThresholdOpen and ThresholdClose must be set as 40=(0+80)/2 and 20=(0+40)/2.
The values of Signal_StopLevel and Signal_TakeLevel input parameters is set to 0, it means that closing of the positions will be done only when closing conditions will be true.
2.4. History backtesting results
Let's consider backtesting of the Expert Advisor on historical data (EURUSD H1, testing period: 2010.01.01-2011.02.23, PeriodRSI=20, MA_period=14).
In creation of Expert Advisor we used the fixed volume (, 0.1), Trailing Stop algorithm is not used ().
Fig. 11. Testing results of the Expert Advisor, based on Dark Cloud Cover/Piercing Line + RSI
The best set of input parameters can be found using the of MetaTrader 5 client terminal.
The code of the Expert Advisor, created by MQL5 Wizard is attached in expert_ad_pl_rsi.mq5.

You May Also Like

RobotFX does not own any of the code provided on this platform. All tools are freely available on the internet; we simply index and re-offer them for download. We are not responsible for any financial losses that may occur. Trading responsibilities rely solely on the traders downloading and using the displayed Expert Advisors, indicators, and scripts. These tools are provided for educational purposes only and may require modification or optimization to align with a trader's specific strategy or needs.
© ROBOTFX - Best MetaTrader Expert Advisors & Indicators