皆さん、こんにちは!今日は、MetaTrader 5のためのColorJFatl_Digitインジケーターを利用した、3つの独立したトレーディングシステムを組み込んだEA(エキスパートアドバイザー)についてお話しします。このEAは、前回のトレード結果に応じて次回の取引ボリュームを調整する機能を持っています。
取引シグナルは、トレンドが変わった際にバーがクローズしたときに形成されます(この変化は、3つのインジケーターのいずれかが色を変えることで表示されます)。
EAの入力変数ブロックには、開いたポジションのボリュームを管理するための設定が含まれています。例えば、最初のシステムの場合の設定は以下の通りです:
input uint A_BuyLossMMTriger=2; //損失を出した買いトレードの数でMMを減少 input uint A_SellLossMMTriger=2; //損失を出した売りトレードの数でMMを減少 input double A_SmallMM=0.01 //損失時に使用する資金の割合 input double A_MM=0.1 //通常取引時に使用する資金の割合
このような設定の場合、直近の2回のトレードが損失であれば、EAは次のトレードを0.01ロットでオープンします。直近のトレードのうち、少なくとも1回が損失でない場合は、ポジションボリュームが0.1になります。
2番目のトレーディングシステムにも似たような入力設定があります:
input uint B_BuyLossMMTriger=2 //B損失を出した買いトレードの数でMMを減少 input uint B_SellLossMMTriger=2; //B損失を出した売りトレードの数でMMを減少 input double B_SmallMM=0.01 //B損失時に使用する資金の割合 input double B_MM=0.1 //B通常取引時に使用する資金の割合
3番目のシステムでは、入力にC_プレフィックスが使用されています。
このEAを最も効果的に設定するためには、各トレーディングシステムを別々に設定し、他の2つを無効にすることが推奨されます。そのためには、以下のパラメータを適切に設定します:
input bool B_BuyPosOpen=true //Bロングポジションの許可 input bool B_SellPosOpen=true //Bショートポジションの許可
これらをfalseに設定します。
このEAが正常に動作するためには、コンパイルされたColorJFatl_Digit.ex5インジケーターのファイルが<terminal_data_directory>\MQL5\Indicatorsフォルダに存在している必要があります。
以下に示すテストでは、デフォルトのエキスパートアドバイザーの入力パラメータが使用されています。

図1. チャート上のトレード例
2016年のGBPJPY H3、H8、デイリーのテスト結果です。

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