ストップロスとテイクプロフィットの活用法 - MetaTrader 5のエキスパートアドバイザー

Mike 2017.11.03 20:43 41 0 0
添付ファイル

トレードがストップロスでクローズされた場合、ボリュームは2倍になります。一方、テイクプロフィットでクローズされた場合は、最小ボリュームが使用されます。ストップロスやテイクプロフィットが発動した後にトレードが行われたかどうかは、OnTradeTransactionを使って確認できます。

優れた列挙型である ENUM_DEAL_REASONビルド1625 に追加されました:

ENUM_DEAL_REASON 理由の説明
... ...
DEAL_REASON_SL ストップロスが発動したために実行された取引
DEAL_REASON_TP テイクプロフィットが発動したために実行された取引
... ...

これをOnTradeTransactionで確認できます。

つまり、テイクプロフィットまたはストップロスによって取引が発生したかどうかを判断する非常にシンプルで信頼性のある方法です。

現時点(ビルド1626)では、このエキスパートアドバイザーはライブテストでのみ確認できます。チャート上で起動するか、実データでデバッグモード(MetaEditorでF5を押す)で動かす必要があります。私が使用したバイパスマニューバーは以下の通りです:

      if(deal_symbol==m_symbol.Name() && deal_magic==m_magic)
         if(deal_entry==DEAL_ENTRY_OUT)
           {
            if(deal_reason==DEAL_REASON_SL)
               ExtLot*=2.0;
            else if(deal_reason==DEAL_REASON_TP)
               ExtLot=m_symbol.LotsMin();
           }
リスト
コメント 0