Very, very many compilation errors.
This is because I missed to attached some included file. No compilation errors for me. I will attach the missed files as soon as I can.
Here there are all the files.
\Include\Expert\MySignals\KeltnerChannelSignal.mqh
\Include\Indicators\Keltner Channel\enum.mqh
\Include\Indicators\Keltner
Channel\GetIndicatorBuffers.mqh
\Include\Crosses.mqh
In general, this: again a mess - you again did not show ALL the files.
Goodbye.
Here there are all the files.
\Include\Expert\MySignals\KeltnerChannelSignal.mqh
\Include\Indicators\Keltner Channel\enum.mqh
\Include\Indicators\Keltner
Channel\GetIndicatorBuffers.mqh
\Include\Crosses.mqh
Look for an error in the signal module.
To simplify:
//+------------------------------------------------------------------+ //| SignalKeltnerChannel.mqh | //| Copyright 2019, Marco Consiglio | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2019, Marco Consiglio" #property link "https://www.mql5.com" #property version "1.00" #include <Expert\ExpertSignal.mqh> // wizard description start //+------------------------------------------------------------------+ //| Description of the class | //| Title=KeltnerChannelSignal | //| Type=SignalAdvanced | //| Name=KeltnerChannel | //| Class=CKeltnerChannelSignal | //| Page= | //+------------------------------------------------------------------+ // wizard description end //+------------------------------------------------------------------+ //| The CKeltnerChannelSignal class. | //| Purpose: Class of trading signal generator | //| It is derived from the CExpertSignal class. | //+------------------------------------------------------------------+ class CKeltnerChannelSignal : public CExpertSignal { };
then the signal module is detected in the list.
Example:
//+------------------------------------------------------------------+ //| SignalKeltnerChannel.mqh | //| Copyright 2019, Marco Consiglio | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2019, Marco Consiglio" #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ //| Constants | //+------------------------------------------------------------------+ #define KeltnerChannelFile "Indicators\\Keltner Channel\\keltner_channel.ex5" #property tester_indicator KeltnerChannelFile //+------------------------------------------------------------------+ //| Included files | //+------------------------------------------------------------------+ #include <Expert\ExpertSignal.mqh> #include <Indicators\Keltner Channel\enum.mqh> #include <Indicators\Keltner Channel\GetIndicatorBuffers.mqh> #include <Crosses.mqh> // wizard description start //+------------------------------------------------------------------+ //| Description of the class | //| Title=KeltnerChannelSignal | //| Type=SignalAdvanced | //| Name=KeltnerChannel | //| Class=CKeltnerChannelSignal | //| Page= | //| Parameter=Timeframe,int,12,PERIOD_CURRENT,Timeframe | //| Parameter=MAPeriod,int,20,MA period | ////| Parameter=MAMethod,enMaModes,ma_Simple,MA smoothing method | -> not custom enums //| Parameter=MAMethod,ENUM_MA_METHOD,MODE_SMA,MA smoothing method | -> it's right: mql5 enums //+------------------------------------------------------------------+ // wizard description end //+------------------------------------------------------------------+ //| The CKeltnerChannelSignal class. | //| Purpose: Class of trading signal generator | //| It is derived from the CExpertSignal class. | //+------------------------------------------------------------------+ class CKeltnerChannelSignal : public CExpertSignal { protected: //--- Indicators CiCustom KeltnerChannel; //--- Setup parameters ENUM_TIMEFRAMES m_timeframe; //1 Time frame int m_ma_period; //2 Moving average period //enMaModes m_ma_method; //3 Moving average type -> not custom enums ENUM_MA_METHOD m_ma_method; //3 Moving average type -> it's right: mql5 enums enMaVisble m_ma_visible; //4 Midlle line visible? enPrices m_price_type; //5 Moving average price type color m_color_slope_up; //6 Color for slope up color m_color_slope_down; //7 Color for slope down int m_atr_period; //8 Range period double m_atr_multiplier; //9 Range multiplier enAtrMode m_atr_mode; //10 Range calculating mode enCandleMode m_view_bars; //11 View bars as: bool m_interpolate; //12 Interpolate mtf data public: //--- Methods to set the parameters void Timeframe(ENUM_TIMEFRAMES value) {m_timeframe = value;} void MAPeriod(int value) {m_ma_period = value;} //void MAMethod(enMaModes value) {m_ma_method = value;} void MAMethod(ENUM_MA_METHOD value) {m_ma_method = value;} }; //+------------------------------------------------------------------+
Example:
![MQL5 - Language of trade strategies built-in the MetaTrader 5 client terminal](https://c.mql5.com/i/registerlandings/logo-2.png)
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
I can't understand why tutorial about custom module of trade signals works and can be found in the wizard, but my module can't.
This is my custom module of trade signals.
Include\Expert\MySignals\KeltnerChannelSignal.mqh
That's the custom indicator. You can find the attached file.
Indicators\Keltner Channel\keltner_channel.mq5
I followed obsessively three tutorial on the argument, but can't understand what is wrong or missing.
Can someone help me to make the wizard recognize my module?
I'm using MetaEditor 5.00 build 2190 (18 Oct 2019).
If you need other files or info in order to reproduce the "error" (indeed no error message appear) I will surely give immediately.
Thanks in advanced for the pious guy who can help me understand what's wrong with my custom module.