ホーム システムトレード 投稿

Exp_Iin_MA_Signal_MMRec - MetaTrader 5向けのトレーディングシステム

添付ファイル
21969.zip (21.83 KB, ダウンロード 0回)

Iin_MA_Signalインジケーターに基づいたこのトレーディングシステムは、過去の取引結果に応じて次のトレードのボリュームを調整できる信号を発します。取引信号は、バーがクローズした際にトレンドが変化した場合に形成され、これがインジケーターの色ラベルで表示されます。

オープンポジションのボリュームを管理するためのEA変数のブロックが追加されています:

input uint    BuyTotalMMTriger=5; // ストップロスを計算するための最後の買い取引の数
input uint    BuyLossMMTriger=3;  // MMを減少させるための損失を出した買い取引の数
input uint    SellTotalMMTriger=5;// ストップロスを計算するための最後の売り取引の数
input uint    SellLossMMTriger=3; // MMを減少させるための損失を出した売り取引の数
input double  SmallMM_=0.01;      // 損失時の取引における口座割合
input double  MM=0.1;             // 通常の取引時の口座割合
input MarginMode MMMode=LOT;      // ロット値の決定方法

このような入力がある場合、最後の5回の取引の中で3回が同じ方向で損失を出していると、EAは次の取引を同じ方向で0.01ロットのボリュームで開きます。最後の5回の取引の中で損失を出した取引が3回未満の場合、ポジションのボリュームは0.1となります。

このEAは、Exp_Iin_MA_Signal EAのさらなる改良版です。EAの入力ブロックがコードに追加され、ポジションのオープン/クローズのブロックが変更されました:

//---- 取引実行
//---- マジックナンバーによるロングポジションのクローズ
   BuyPositionClose_M(BUY_Close,Symbol(),Deviation_,BuyMagic);

//---- マジックナンバーによるショートポジションのクローズ  
   SellPositionClose_M(SELL_Close,Symbol(),Deviation_,SellMagic);

   double mm;
//---- マジックナンバーによるロングポジションのオープン
   if(BUY_Open)
     {
      mm=BuyTradeMMRecounterS(BuyMagic,BuyTotalMMTriger,BuyLossMMTriger,SmallMM_,MM); // 過去の取引結果に応じたロングポジションのボリュームを定義
      BuyPositionOpen_M1(BUY_Open,Symbol(),UpSignalTime,mm,MMMode,Deviation_,StopLoss_,TakeProfit_,BuyMagic);
     }

//---- マジックナンバーによるショートポジションのオープン
   if(SELL_Open)
     {
      mm=SellTradeMMRecounterS(SellMagic,SellTotalMMTriger,SellLossMMTriger,SmallMM_,MM); // 過去の取引結果に応じたショートポジションのボリュームを定義
      SellPositionOpen_M1(SELL_Open,Symbol(),DnSignalTime,mm,MMMode,Deviation_,StopLoss_,TakeProfit_,SellMagic);
     }

このEAが正しく動作するためには、コンパイルされたIin_MA_Signal.ex5インジケーターファイルが<terminal_data_directory>\MQL5\Indicatorsフォルダ内に存在する必要があります。

テストで使用されたデフォルトのエキスパートアドバイザーの入力パラメータは、ストップなしのものでした。

図1. チャート上の取引の例

図1. チャート上の取引の例

2017年のGBPJPY H1のテスト結果:

図2. テスト結果チャート

図2. テスト結果チャート

関連記事

コメント (0)