今回は、MetaTrader 5用のColorSchaffJJRSXTrendCycleインディケーターを基にした、長期および短期取引に対応する二つのトレーディングシステムについてご紹介します。これらは一つのEA(エキスパートアドバイザー)の中で様々な設定が可能で、前回の取引結果に基づいて次の取引のボリュームを変更することができます。設定項目は大きく二つのグループに分けられます。
- Lで始まる名前の項目は、ロングポジションを管理するための入力パラメータです。
- Sで始まる名前の項目は、ショートポジションを管理するための入力パラメータです。
//+----------------------------------------------+ //| ロング取引用のEAの入力パラメータ | //+----------------------------------------------+ magic numberinput uint L_Magic=777; //L マジックナンバー //+----------------------------------------------+ //| ショート取引用のEAの入力パラメータ | //+----------------------------------------------+ input uint S_Magic=555; //S マジックナンバー
この二つのトレーディングシステムは異なるマジックナンバーを持ち、独立して動作します。実際の金融市場は対称的なことは少なく、上昇市場と下降市場で異なるパラメータが必要です。まずは、一方のトレーディングシステムだけをテストし、もう一方を無効にして設定を行うことが重要です。
input bool L_PosOpen=true; //L ロングポジションの許可 input bool L_PosClose=true; //L ロングポジションのクローズ許可
同様に、もう一つのシステムについても設定を行ってください。
EAの入力ブロックには、オープンポジションのボリュームを管理するための項目が追加されています:
input uint L_TotalMMTriger=5; //L ストップロス計算用の最後の買い取引数 input uint L_LossMMTriger=3; //L マネーマネジメントを調整するための損失数 input double L_SmallMM=0.01; //L 損失時の取引における資金の割合 input double L_MM=0.1; //L 通常の取引での資金の割合 input MarginMode L_MMMode=LOT; //L ロット設定モード
そして
input uint S_TotalMMTriger=5; //S ストップロス計算用の最後の売り取引数 input uint S_LossMMTriger=3; //S マネーマネジメントを調整するための損失数 input double S_SmallMM=0.01; //S 損失時の取引における資金の割合 input double S_MM=0.1; //S 通常の取引での資金の割合 input MarginMode S_MMMode=LOT; //S ロット設定モード
このような入力がある場合、最後の5回の取引から3回の損失が出ていると、EAは次の取引を同じ方向で開き、ボリュームは0.01ロットになります。損失が3回未満であれば、ポジションのボリュームは0.1ロットになります。
EAを動作させるためには、コンパイル済みのJJRSX.ex5とColorSchaffJJRSXTrendCycle.ex5インディケーターのファイルが<terminal_data_directory>\MQL5\Indicatorsに配置されている必要があります。
テストではデフォルトのエキスパートアドバイザーの入力パラメータが使用されており、ストップロスやテイクプロフィットは使用されていません。

Fig. 1. 取引の設定例
2017年のEURAUD H8におけるテスト結果:

Fig. 2. テスト結果のチャート

Fig. 3. 非対称設定の取引例
コメント 0