Discussion of article "Other classes in DoEasy library (Part 66): MQL5.com Signals collection class"
Why is the tag "trading systems" in the articles section? There are no TCs here
The whole section "trading systems" is full of your articles, in summary
Why is the tag "trading systems" in the articles section? There are no TCs here.
The whole section "trading systems" is full of your articles, in summary
Because the library is created in particular for creating trading systems.
Because the library is created in particular for creating trading systems.
there is some logical contradiction in this
there's a certain logical contradiction
New article ' More classes in the DoEasy library (Part 66): the MQL5.com signal collection class ' has been published:.
Author: Artyom Trishkin
Hi sir i chat with you on WhatsApp
I do not communicate through WhatsApp
Boa noite!
Saudações aqui do Brasil.
Estou tendo impedimento na hora de compilar o código e como meu conhecimento de mql5 é muito básico, resta pedir sua ajuda para superar os problemas na compilação...não sei resolver.
Quero aproveitar e parabenizá-lo pelo trabalho brilhante, seus códigos me ajudam muito.
Boa noite!
Saudações aqui do Brasil.
Estou tendo impedimento na hora de compilar o código e como meu conhecimento de mql5 é muito básico, resta pedir sua ajuda para superar os problemas na compilação...não sei resolver.
Quero aproveitar e parabenizá-lo pelo trabalho brilhante, seus códigos me ajudam muito.
In Trading.mqh, you need to move some methods to the protected section so that they can be accessed from derived classes. Now they are in the private section of the class. I made this error due to inattention, but the old compiler missed it. After updating the terminal, this error became detectable.
In lines 84 - 89 of the Trading.mqh file you should make the following changes:
In the Trading.mqh file, some methods need to be moved to a protected section so that they can be accessed from derived classes. Now they are in the private section of the class. This mistake was made by me inadvertently, but the old compiler missed it. After updating the terminal, this error began to be detected.
In lines 84 - 89 of the Trading.mqh file, you need to make the following changes:
//--- Returns the order direction by operation type ENUM_ORDER_TYPE DirectionByActionType(const ENUM_ACTION_TYPE action) const; //--- Sets the trade object to the desired sound void SetSoundByMode(const ENUM_MODE_SET_SOUND mode,const ENUM_ORDER_TYPE action,const string sound,CTradeObj *trade_obj); protected: //--- Sets trade request prices template <typename PR,typename SL,typename TP,typename PL> bool SetPrices(const ENUM_ORDER_TYPE action,const PR price,const SL sl,const TP tp,const PL limit,const string source_method,CSymbol *symbol_obj); private: //--- Returns the flag for checking the permissibility by the distance of (1) StopLoss, (2) TakeProfit, (3) the order setting price from the StopLevel price bool CheckStopLossByStopLevel(const ENUM_ORDER_TYPE order_type,const double price,const double sl,const CSymbol *symbol_obj); bool CheckTakeProfitByStopLevel(const ENUM_ORDER_TYPE order_type,const double price,const double tp,const CSymbol *symbol_obj); bool CheckPriceByStopLevel(const ENUM_ORDER_TYPE order_type,const double price,const CSymbol *symbol_obj,const double limit=0);
and in lines 155 - 181 make the following changes :
//--- Returns the error handling method ENUM_ERROR_CODE_PROCESSING_METHOD ResultProccessingMethod(const uint result_code); //--- Error correction ENUM_ERROR_CODE_PROCESSING_METHOD RequestErrorsCorrecting(MqlTradeRequest &request,const ENUM_ORDER_TYPE order_type,const uint spread_multiplier,CSymbol *symbol_obj,CTradeObj *trade_obj); protected: //--- (1) Opens a position, (2) sets a pending order template<typename SL,typename TP> bool OpenPosition(const ENUM_POSITION_TYPE type, const double volume, const string symbol, const ulong magic=ULONG_MAX, const SL sl=0, const TP tp=0, const string comment=NULL, const ulong deviation=ULONG_MAX, const ENUM_ORDER_TYPE_FILLING type_filling=WRONG_VALUE); template<typename PR,typename PL,typename SL,typename TP> bool PlaceOrder( const ENUM_ORDER_TYPE order_type, const double volume, const string symbol, const PR price, const PL price_limit=0, const SL sl=0, const TP tp=0, const ulong magic=ULONG_MAX, const string comment=NULL, const datetime expiration=0, const ENUM_ORDER_TYPE_TIME type_time=WRONG_VALUE, const ENUM_ORDER_TYPE_FILLING type_filling=WRONG_VALUE); private: //--- Returns the index of the query object in the list by (1) identifier, //--- (2) order ticket, (3) request position ticket int GetIndexPendingRequestByID(const uchar id); int GetIndexPendingRequestByOrder(const ulong ticket); int GetIndexPendingRequestByPosition(const ulong ticket); public:
After that everything will compile.
The corrected file is attached to this post.
After that, everything will compile.
The corrected file is attached to this post.
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
New article Other classes in DoEasy library (Part 66): MQL5.com Signals collection class has been published:
In this article, I will create the signal collection class of the MQL5.com Signals service with the functions for managing signals. Besides, I will improve the Depth of Market snapshot object class for displaying the total DOM buy and sell volumes.
Compile the EA and launch it on a symbol chart, while preliminarily setting working on the current symbol/timeframe and activating the flag of working with trading signals of the MQL5.com Signals service:
In the Common tab of the EA settings window, check "Allow modification of Signals settings":
Otherwise, the EA will not be able to work with the MQL5.com Signals.
After launching the EA, the journal displays the message about the successful creation of the signals collection and its short description:
Author: Artyom Trishkin