記事についてのディスカッション

 

新しい記事「DoEasyライブラリでのその他のクラス(第66部): MQL5.comシグナルコレクションクラス」はパブリッシュされました:

本稿では、シグナルを管理する関数を備えたMQL5.comシグナルサービスのシグナルコレクションクラスを作成します。さらに、DOMの売買取引高の合計を表示するように板情報スナップショットオブジェクトクラスを改善します。

現在の銘柄/時間枠での作業を事前に設定し、MQL5.comシグナルサービスの取引シグナルでの作業のフラグをアクティブにしながら、EAをコンパイルして銘柄チャートで起動します。


EA設定ウィンドウの[共通]タブで、[シグナル設定の変更を許可する]をオンにします。


そうしないと、EAはMQL5.comシグナルを処理できなくなります。

EAを起動した後、操作ログはシグナルコレクションの作成の成功とその簡単な説明に関するメッセージを表示します。

Collection of MQL5.com Signals service signals created successfully
Collection of MQL5.com Signals service signals:
- Free signals: 195, Paid signals: 805

作者: Artyom Trishkin

 

なぜ記事セクションに「トレーディング・システム」のタグがあるのですか?

トレーディング・システム」のセクション全体は、あなたの記事でいっぱいです。

 
Maxim Dmitrievsky:

なぜ "トレーディングシステム "というタグが記事のセクションにあるのですか? ここにはTCはありません。

トレーディング・システム」のセクション全体は、あなたの記事でいっぱいです。

トレーディング・システムを作るために特別に作られたライブラリだからです。

 
Artyom Trishkin:

というのも、このライブラリーは特にトレーディング・システムを作るために作られたものだからだ。

これには論理的な矛盾がある。

 
Maxim Dmitrievsky:

論理的に矛盾している

鶏と卵の問題のようなものだ。
 
 
またやってはいけないことをやったようで大変申し訳なく思います反省しております
自分自身の無知な
行動によって周りを満たしてしまったことをお許しくださいすみません。



 
こんにちは、私はWhatsAppであなたとチャット先生
 
Lovely Raja :
こんにちは先生私はWhatsAppであなたとチャット

私はWhatsAppを通じて通信しません

 

こんにちは!

ブラジルの皆さん、こんにちは。


私はコードをコンパイルするために障害に直面しており、私のmql5の知識は非常に基本的なものであるため、コンパイル時の問題を克服するためにあなたの助けを求めています...私は解決していません。

彼の素晴らしい仕事ぶりを賞賛し、敬意を表します。

 
Francisco Carlos Sobral Ribeiro #:

素晴らしい!

ブラジルでもよろしく。


私はコードをコンパイルするために障害に直面しており、私のmql5の知識は非常に基本的なものであるため、コンパイル時の問題を克服するためにあなたの助けを求めています...私は解決していません。

彼の素晴らしい仕事ぶりを賞賛し、敬意を表します。

Trading.mqhでは、派生クラスからアクセスできるように、いくつかのメソッドをprotectedセクションに移動する必要があります。現在はクラスのprivateセクションにあります。私は不注意でこのエラーを起こしたのですが、古いコンパイラーはこのエラーを見逃していました。ターミナルを更新したら、このエラーが検出できるようになった。

Trading.mqhファイルの84行目から89行目までを以下のように変更して ください:


Trading.mqhファイルのいくつかのメソッドは、派生クラスからアクセスできるように、protectedセクションに移動する必要があります。現在はクラスのプライベート・セクションにあります。このミスは私が不注意で犯したものですが、古いコンパイラーは見逃していました。

Trading.mqhファイルの84行目から89行目にかけて、以下の変更が 必要です:

//--- オペレーションタイプ別のオーダー方向を返す
   ENUM_ORDER_TYPE      DirectionByActionType(const ENUM_ACTION_TYPE action)  const;
//--- トレードオブジェクトを希望するサウンドに設定します。
   void                 SetSoundByMode(const ENUM_MODE_SET_SOUND mode,const ENUM_ORDER_TYPE action,const string sound,CTradeObj *trade_obj);

protected:
//--- 取引要求価格を設定する
   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:
//--- StopLevel価格からの(1)StopLoss、(2)TakeProfit、(3)注文設定価格の距離による許容性のチェックフラグを返す。
   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);


また、155行目から181行目までは以下のように変更してください


および155行目から181行目にかけて同様の編集を 加える
//--- エラー処理メソッドを返す
   ENUM_ERROR_CODE_PROCESSING_METHOD   ResultProccessingMethod(const uint result_code);
//--- エラー訂正
   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) ポジションを建てる (2) 保留注文を設定する
   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:
//--- (1)の識別子によって、リスト内のクエリオブジェクトのインデックスを返す、
//--- (2)オーダーチケット、(3)リクエストポジションチケット
   int                  GetIndexPendingRequestByID(const uchar id);
   int                  GetIndexPendingRequestByOrder(const ulong ticket);
   int                  GetIndexPendingRequestByPosition(const ulong ticket);

public:

これですべてがコンパイルされる。

修正したファイルをこの投稿に添付します。


その後、すべてがコンパイルされます。

修正されたファイルはこの投稿に添付されています。

ファイル:
Trading.mqh  448 kb