アイデアの著者: Sergey Rashevskiy
mq5コードの著者: barabashkakvn
作戦の概要
ポジションがオープンしていない場合(EAによってオープンされた場合)、反対方向に向かう2つのポジションが初期ロット数「Lots」でオープンされ、ストップロスは「Stop Loss」に設定されます。テイクプロフィットは使用しません。ストップロスはトレーリング(「Trailing Stop」および「Trailing Step」のパラメータが適用されます)で移動します。
トレーリングの仕組み
最初のポジション修正により、ストップロスがブレイクイーブンまたは小さな利益に確実に移動します。その後のストップロスの修正は、保証された利益を増加させます。
その後、ストップロスをアクティブにするための2つのオプションがあります:
- 1. ポジションが損失でクローズした場合
- 1.1. この場合、トレンドが反転したと仮定します。クローズしたポジションの反対方向に増加したロットでポジションをオープンします(残りのポジションのボリュームに「Number of minimum lots」を加えます)。例えば、利益の出ないBUYポジションがクローズした場合、増加したロットでSELLポジションをオープンします。これにより、同一方向に2つのポジションを持つことになります。
- 1.2. その後、得られた方向でのみ動作します:価格が最小の損失ポジションから「Step」ポイントだけ離れた方向に動くのを待ち、増加したロットでポジションをオープンします(最小の損失ポジションのボリュームに「Number of minimum lots」を加えます)。
- 2. ポジションが利益でクローズした場合(これは少なくとも一度修正されたポジションです)
- 2.1. これはトレンドの反転ではなく、小さな反発であると仮定します。クローズした方の方向に増加したロットでポジションをオープンします。例えば、利益の出たBUYポジションがクローズした場合、増加したロットでBUYオーダーをオープンします。これにより、同じ方向に2つのポジションを持つことになります。
- 2.2. その後、トレーリングを適用しようとします。いずれにせよ、いずれかのストップロスが機能し、私たちは p. 1 または p. 2 に戻ります。
BUYおよびSELLポジションの計算、BUYの総利益およびSELLの総利益、最小損失のBUYおよびSELLポジションの検索は、CalculateAllPositions関数内で一度の呼び出しで行われます。
入力パラメータ
- Lots - 初期ポジションボリューム
- Number of minimum lots - ポジションボリュームが変更される最小ロット数
- Stop Loss(ピップで)
- Trailing Stop(ピップで)
- Trailing Step(ピップで)
- Step - 異なる方向のポジション間の初期ステップ
- Minimum nearest(ピップで) - ポジションシリーズ内での最小距離
- magic number - 一意のEA識別子