Multi Arbitration 1.1xx - MetaTrader 5用システムトレードの進化

Mike 2017.11.03 20:31 16 0 0
添付ファイル

今回は、Multi Arbitration 1.000の進化版である「Multi Arbitration 1.1xx」についてご紹介します。

1.000との違い:

  • このEAは、PERIOD_M1でのみ起動します(詳細は下記の時間枠のパラメーターを参照)。

  • 新たに2つのシンボルを同時にトレードします。2つ目のシンボルは、ExtArrSymbolsの静的配列から取得されます:

    string         ExtArrSymbols[20]=
      {
       "EURUSD","GBPUSD","USDCHF","USDJPY","USDCAD",
       "AUDUSD","AUDNZD","AUDCAD","AUDCHF","AUDJPY",
       "CHFJPY","EURGBP","EURAUD","EURCHF","EURJPY",
       "EURNZD","EURCAD","GBPCHF","GBPJPY","CADCHF"
      };
    //+------------------------------------------------------------------+
    //| エキスパート初期化関数                                   |
    //+------------------------------------------------------------------+
    int OnInit()
    
  • ポジションオープンの原則も変更されました:

    • 新たなBUYポジションは、現在の価格が最も低いBUYポジションよりも低い場合のみオープンできます。
    • 新たなSELLポジションは、現在の価格が最も高いSELLポジションよりも高い場合のみオープンできます。

    Multi Arbitration 1.1xx

  • 新しいパラメーター時間枠を使えば、任意のチャートでEAを最適化できます。このエキスパートアドバイザーは、メインシンボルの新しいバーが出現する際に動作します(EAが稼働しているチャートのシンボル):

    //+------------------------------------------------------------------+
    //| エキスパートティック関数                                             |
    //+------------------------------------------------------------------+
    void OnTick()
      {
    //--- 新バーが生まれる時間のみ作業します
       static datetime prevtime=0;
       datetime time_0=iTime(0,m_symbol_one.Name(),InpTimeFrame);
       if(time_0==prevtime)
          return;
       prevtime=time_0;
    

    ここでのInpTimeFrame変数は、私たちの時間枠入力です。この時間枠の入力によって、EAを任意の時間枠で動作させることができます!

  • EURUSDでのテスト結果:

    Multi Arbitration 1.1xx test

リスト
コメント 0