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