今回は、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ポジションよりも高い場合のみオープンできます。

-
新しいパラメーター時間枠を使えば、任意のチャートで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でのテスト結果:

コメント 0