このEAは、Small_Inside_Bar インジケーターを使用して「インサイドバー」価格アクションパターンを検索し表示します。
このインジケーターはEAの動作には必須ではなく、そのデータはEA内部で計算されています。
強気の「インサイドバー」パターンが見つかると、EAは買いポジションを開き、弱気パターンの場合は売りポジションを開きます。
ポジションを開くオプションは3つあります:
- 各シグナルで関連するポジションを開き、ストップロスまたはテイクプロフィットで閉じる;
- 各シグナルで関連するポジションを開き、反対のポジションを閉じる(リフィルスイング);
- シグナルでポジションが存在しない場合にのみポジションを開き、反対のポジションを閉じる(スイング)。
このEAでは、買い/売りの活動を無効にすることや、逆向きモード(買いシグナルで売りポジションを開くなど)を選択することもできます。
* すべてのシグナルで全てのポジションを開くモードを使用し、ストップロスやテイクプロフィットのレベルが設定されていない場合、EAはポジションを自動で閉じることができません。この場合、チャートにストップロスまたはテイクプロフィットが設定されていないという警告が表示され、手動でポジションを閉じる必要があります。
このエキスパートアドバイザーはトレーニング目的で設計されています。
EAには12の入力パラメータがあります:
- エキスパートマジックナンバー - EAのポジションを識別するためのユニークなID;
- ポジション開放モード - ポジション開放モード:
- 各シグナルでの任意のポジション - 各シグナルで任意のポジションを開く (*);
- 一方向のシグナルに基づくポジション(リフィルスイング) - 一方向に複数のポジションを開く(リフィルスイング);
- 常に1ポジション(スイング) - 常に1つのポジションを開く(スイング)。
- ロングポジション有効 - ロングポジションを開くことが有効(はい/いいえスイッチ);
- ショートポジション有効 - ショートポジションを開くことが有効(はい/いいえスイッチ);
- 逆取引 - 取引逆転モード(はい/いいえスイッチ);
- ロット数 - 開くポジションのボリューム;
- ストップロス(ポイント) - ストップロスの値(0はSLなしを意味する);
- テイクプロフィット(ポイント) - テイクプロフィットの値(0はTPなしを意味する);
- 価格のスリッページ - ポジションを開く際の最大許容スリッページ;
- ストップのためのスプレッド乗数 - ストップオーダーの適切な距離を計算するために適用されるスプレッド乗数 (*);
- 環境更新待機時間(秒) - 取引環境の更新を待つ時間(**);
- 環境の状態を取得する試行回数 - 取引環境の正確な情報を取得するための試行回数(***)。
* 保留中の注文(ストップロスやテイクプロフィットも含む)には、ストップオーダーを配置するための最小許可距離 - ストップレベルがあります。つまり、保留中の注文(およびストップロスやテイクプロフィット)は、価格に対して上記の距離よりも近くに配置することはできません。ただし、ストップレベルがゼロの場合、それは単にストップレベルが浮動していることを意味し、存在しないわけではありません。この場合、最小距離は通常スプレッド*2の値ですが、時にはダブルスプレッドでも不十分です。これが、EAが保留中の注文を配置するために必要な最小距離を計算するために使用するカスタムスプレッド乗数を導入した理由です。
** 取引注文がサーバーに送信されると、実行の遅れが発生することがあり、マーケットポジションの数が正しくカウントされない場合があります。このような「未定義」の状態が検出されると、エキスパートアドバイザーは指定された秒数待機し、その後環境を再度読み取ります。
*** 一つのティック内でのそのような待機期間の数は、EAのパラメータで設定されています。取引環境の正確な情報を取得するためのすべての許可された試行を行った後、エキスパートアドバイザーは処理を終了し、次のティックを待っています。この時点で取引環境が更新されなかった場合、EAはこの新しいティックでこれらの試行を繰り返します。
戦略をチェックするために、デフォルト設定でEURUSD H1の1分OHLCモードを使用し、2016年1月4日から2018年3月29日までの間でテストを行いました。その後、ストップロスとテイクプロフィットの最適な値を見つけるために、同じモードと期間で最適化を行いました。
最適なストップロスは800ポイント、最適なテイクプロフィットは900ポイントです:

