アイデア提供者: Iurii Tokman
MQL5コード作成者: Vladimir Karputov
このEAは、2つの移動平均(iMA)と1つの相対力指数(iRSI)を使用してトレードを行います。新しいバーが出現したときのみ取引信号の判断が行われ、ポジションは利益が出た場合に各ティックでトレイルされ、クローズされます。
独自の解決策として、スローインジケーターの平均期間はファストの平均期間の2倍として計算され、RSIの平均期間は常にファストの平均期間に等しくなります。これにより、最適化のパラメータ数が減少します。
信号識別の式では、すべての「<」および「>」の最適化が可能です。そのためには、独自の変数(InpMoreLessBuy_1, InpMoreLessBuy_2, InpMoreLessBuy_3, InpMoreLessSell_1, InpMoreLessSell_2, InpMoreLessSell_3)が導入されます。これらの変数を使用して、式は次のように変更されます:
bool signal_buy=(!InpMoreLessBuy_1 ? ArrayFast[1]<ArraySlow[1]: ArrayFast[1]>ArraySlow[1]) && (InpMoreLessBuy_2 ? ArrayFast[0]>ArraySlow[0]: ArrayFast[0]<ArraySlow[0]) && (InpMoreLessBuy_3 ? RSI>InpRSI_level_UP : RSI<InpRSI_level_UP); bool signal_sell=(InpMoreLessSell_1 ? ArrayFast[1]>ArraySlow[1]: ArrayFast[1]<ArraySlow[1]) && (!InpMoreLessSell_2? ArrayFast[0]<ArraySlow[0]: ArrayFast[0]>ArraySlow[0]) && (!InpMoreLessSell_3? RSI<InpRSI_level_DOWN : RSI>InpRSI_level_DOWN);
入力パラメータ
-
移動平均のパラメータ:
- ファスト: 平均期間 - 移動平均「ファスト」の平均期間;
- ファスト: 水平シフト - 移動平均「ファスト」の水平シフト;
- ファスト: 価格の種類 - 移動平均「ファスト」の価格の種類;
- スロー: 水平シフト - 移動平均「スロー」の水平シフト;
- スロー: 価格の種類 - 移動平均「スロー」の価格の種類;
- ファストとスロー: スムージングタイプ - 平均化タイプ(「ファスト」と「スロー」の共通パラメータ)。
-
RSIインジケーターとその信号のパラメータ:
- RSI: 価格の種類 - RSIインジケーターの価格の種類;
- RSI: 上限レベル - RSIインジケーターの上限レベル;
- RSI: 下限レベル - RSIインジケーターの下限レベル。
-
取引パラメータ:
- ストップロス - ストップロス(ゼロに設定すると無効);
- テイクプロフィット - テイクプロフィット(ゼロに設定すると無効);
- トレーリングストップ - トレーリング(ゼロに設定すると無効);
- トレーリングステップ - トレーリングステップ;
- ロット - 固定ロットサイズで取引(ロットがゼロより大きく、リスクがゼロの場合);
- リスク - ロットサイズが動的に計算される(リスクがゼロより大きく、ロットがゼロの場合);
- 一方向の最大ポジション数 - 一方向の最大ポジション数(ゼロに設定すると無効);
- 利益達成時にすべてのポジションをクローズ - 利益達成時にポジションをクローズ(ゼロに設定すると無効);
- 逆のポジションをクローズ - 逆のポジションをクローズ(「false」に設定すると無効);
- マジックナンバー - EAのユニークな識別子。
このEAは、インジケーターのパラメータ設定と共に、ストップロス、テイクプロフィット、トレーリング、片方向にオープンする最大ポジション数、利益達成時のポジションクローズ、逆のポジションクローズを柔軟に設定(および無効化)することができます。また、ポジションボリュームの計算も管理できます。固定ロットサイズで取引(ロットがゼロより大きく、リスクがゼロ)することも、動的にロットサイズを計算すること(リスクがゼロより大きく、ロットがゼロ)も可能です。
最適化に関する推奨事項
「OHLC на M1」モードで、シンボルとM15の時間軸を選択します。ストップロス、テイクプロフィット、トレーリングを無効(ゼロに設定)にし、各方向の最大ポジション数を「1」に設定してください。または、最初の最適化パラメータを含むTwo MA one RSI M15 Start.setファイルをMQL5\Profiles\Tester\フォルダにコピーします。
最適化の種類を「高速(遺伝的アルゴリズム)」に選択し、最適化するパラメータを「バランス最大」に設定します。
最適化には、MQL5 Cloud Networkを利用することをお勧めします。2017年のUSDJPYの最適化は、クラウドと私のクアッドコアノートパソコンを使用して行いました。

その結果、
2018.05.28 08:03:19.923 最適化は7分58秒で完了
コストは$0.08でした。