解決済み

一定連敗後の決済値の自動変更

EAつくーる
アマデウス
2025/12/04 17:56
50

マーチンゲール設定をし、深いハマりをなるべく抑えたいので
一定連敗後に利食い値を自動で変更できますでしょうか。
(ロットの上昇はそのままで)

例 初期設定 TP100pips・SL100pips
3連敗後、4戦目以降 TP50pips・SL100pips

コメント

GogoJungle
2025/12/11 10:48

マーチンゲールを使いながら、「一定回数連敗したあとのみ TP を 50pips に変更したい」というご質問ですね。結論から申し上げますと、EAつくーるの機能だけで実現可能です。

ここでは、
「通常時:TP=100pips / SL=100pips」
「3連敗後、4戦目以降:TP=50pips / SL=100pips(ロットはマーチンで増加したまま)」
という例で説明します。


設定の考え方

EAつくーるには「連敗回数」を直接カウントする機能はありませんが、
マーチンゲールでロットが増えていく性質を利用して、

  • 3連敗を超えたあとのポジション
    =「マーチンで増えた結果、ある一定以上のロットになっているポジション」

を条件として判定します。

例として、

  • 初期ロット:0.01ロット
  • マーチン倍率:2倍(0.02 → 0.04 → 0.08 → 0.16 …)

のような設定を想定すると、

  • 3連敗を超えたあとのロットは「0.08 を超えるロット」になっているはず

とみなせます。
そこで、

  • 「ロット数 > 0.08」
  • かつ 「損益(pipsで計算) >= 50」

を満たしたら「買いポジション決済」を行うようにすれば、
結果として「3連敗後の大きなロットのポジションだけ、TP=50pips で決済」が実現できます。


具体的な設定手順

1. 「基本項目」の設定

「基本項目」画面で、次のように設定します。

  • ロット数:0.01(お好みの初期ロット)
  • 損切り:100(初期設定どおり)
  • 利食い:100(初期設定どおり)
  • スリッページ:お好みの値

ここでは「通常時は TP=100pips / SL=100pips」で運用し、
連敗後の浅い利確は「取引条件」の決済ロジックで上書きするイメージです。

※ナンピンオプションは使わず、「マーチンゲール」のみを使用する前提です。


2. 「オプション」でマーチンゲールを設定

「オプション」画面で「マーチンゲール」にチェックを入れ、次のように設定します。

  • ロット数の計算方法:一定(ロット倍率・追加を使用)
  • 倍率:2
    (例:0.02 → 0.04 → 0.08 → 0.16 … と増やしたい場合)
  • ロット追加:0
  • カスタムロット設定:未使用(空欄のまま)
  • 最大ロット数:任意(リスク管理上の上限があれば設定)

この設定により、損切りのたびにロットが倍々に増えていきます。


3. 「取引条件」で「3連敗後のみ TP=50pips」を作る

エントリー条件(買いエントリー)は、お客様のロジックに合わせて設定していただいて大丈夫です。
ここでは「決済条件」に「ロットが大きくなったときだけ50pipsで利確する」条件を追加します。

例として、「ポジション1」で買いロジックを組んでいるとします。

決済条件(取引条件 → ポジション1 → 決済条件)

次のような条件を追加します。

ロット数(取引種別:買いのみ, ポジション:1) > 数値(値:0.08)
AND
損益(取引種別:買いのみ, ポジション:1, 計算方法:pipsで計算) >= 数値(値:50)
↓
買いポジション決済

ポイントは以下の通りです。

  • 「ロット数 > 0.08」

    • マーチンゲールの設定(初期ロット・倍率)から、「3連敗を超えるとロットが0.08を超える」ように設計しておきます。
    • たとえば「0.02 → 0.04 → 0.08 → 0.16…」のような増え方をする場合、「0.08を超えるロット = 4戦目以降」とみなせます。
  • 「損益(pipsで計算) >= 50」

    • 「pipsで計算」を選択し、「数値(値:50)」と比較することで「+50pips 以上の含み益が出たら決済」という条件になります。
  • 「買いポジション決済」

    • 「ポジション1」で保有している買いポジションだけを決済します。

これにより、

  • 通常時(ロット数がまだ小さいうち)は、基本項目の TP=100pips / SL=100pips で運用

  • 3連敗を超えてロットが大きくなったポジションだけ、

    • 損益が +50pips に達した時点で決済

という動きになります。


連敗回数や初期ロットを変えたい場合

もし、

  • 初期ロット
  • マーチン倍率
  • 何連敗目から TP を浅くするか

を変えたい場合は、

  1. ご自身の設定に合わせて「何回目のエントリーでロットがいくらになるか」を計算する
  2. 「そのロットより大きい値」を「ロット数 > ○○」の閾値として設定する

という手順で応用できます。

例:

  • 初期ロット:0.01
  • 倍率:2
  • 4連敗後(5戦目以降)で条件を変えたい場合

→ ロットの推移:0.01 → 0.02 → 0.04 → 0.08 → 0.16 …
→ 「ロット数 > 0.08」を「ロット数 > 0.16」に変えれば、「5戦目以降のみ」などに調整可能です。


以上のように、「ロット数」と「損益(pipsで計算)」を組み合わせることで、
EAつくーるだけで「一定連敗後のみ TP を短くする」ロジックを実現することができます。

アマデウス
2025/12/11 16:57

ありがとうございます!
さらに条件を追加すれば、段階的に決済値を変更することも可能
ということですね!

アマデウス
2025/12/11 17:13

あ、段階的にしたい場合は
ロット数の範囲指定を「=」や「=>」等で工夫しないとですね。

GogoJungle
2025/12/15 12:55

はい、ご理解のとおりです。
EAつくーる単体でも「ロット数(=マーチンの進行度)」を目安にして、段階的に利確値(TP相当)を切り替える運用は可能です。

ただしご認識のとおり「ロット数が○○以上○○未満」という範囲指定は、比較条件を2つ(上下限)用意してANDで挟む形になります。


設定方法(段階的にTP相当を変える例)

前回と同じ考え方で、基本項目は「通常TP/SL」を入れつつ、段階TPは「決済条件」で上書きします。

1) 基本項目

  • ロット数:初期ロット(例:0.01)
  • 損切り:100
  • 利食い:100(通常時のTPとして使う)
  • スリッページ:任意

2) オプション

  • マーチンゲール:ON(倍率などは前回の想定どおり)

3) 取引条件(ポジション1の「決済条件」)に段階を追加

例として、ロット推移が 0.01 → 0.02 → 0.04 → 0.08 → 0.16 → 0.32 … の場合に、

  • 4戦目以降(0.16以上)では「+50pipsで利確」
  • 5戦目以降(0.32以上)では「+30pipsで利確」

のように段階化する例です。

(段階1:0.16以上0.32未満は +50pips で決済)
ロット数(取引種別:買いのみ, ポジション:1) >= 数値(値:0.16)
AND
ロット数(取引種別:買いのみ, ポジション:1) < 数値(値:0.32)
AND
損益(取引種別:買いのみ, ポジション:1, 計算方法:pipsで計算) >= 数値(値:50)
↓
買いポジション決済

OR

(段階2:0.32以上は +30pips で決済)
ロット数(取引種別:買いのみ, ポジション:1) >= 数値(値:0.32)
AND
損益(取引種別:買いのみ, ポジション:1, 計算方法:pipsで計算) >= 数値(値:30)
↓
買いポジション決済

うまく動かないときに多いポイント(こうなっていませんか?)

  • 「>=」と「>」が混在していて境界のロットで意図しない段階に入る
    例:0.32ちょうどをどちらに含めるかは、上段を「<0.32」、下段を「>=0.32」のように揃えるのがおすすめです。
  • ロットが小数でピッタリにならず、想定の閾値に届かない/超える(ブローカーの最小ロット刻み等の影響)
    その場合は閾値を「0.159」や「0.319」など少し余裕を持たせると判定が安定します。
  • 決済条件のORの並び順で、浅いTP条件に先に引っかかってしまう
    段階が複数ある場合は、基本的に「より深い段階(ロットが大きい方・TPが小さい方)」を後段に置き、条件がかぶらないように上下限(範囲)を付けるのが安全です。

この構成にすると、「ロットの上昇(マーチン)はそのまま」「ロット段階に応じてTP相当だけ自動で短くする」を、EAつくーるの画面設定だけで段階的に実現できます。

関連トピックス

検索結果がありません。

ノーコードで誰でも簡単EA開発!MQL言語学習にも使える! | GogoJungle

注目トピックス

検索結果がありません。