決済をエントリー条件にしたい

2026/01/11 19:11
67

いつもお世話になっております。
決済をエントリー条件にしたいです。
実現可能でしょうか?

どうぞよろしくお願いいたします。

コメント

GogoJungle
2026/01/13 14:08

「ポジションが決済されたこと(決済直後)をきっかけに、次のエントリー条件を成立させたい」というご質問ですね。

「決済=ポジション数が減る」 を利用して、EAつくーるの条件式だけで「決済を検知→エントリー」を組むことは可能です。
ポイントは 「現在ポジションが0」ではなく「1本前より0本前のポジション数が少ない」 を条件にすることです。これにより、最初からポジションが0だった状況を除外できます。

ただし注意点として、これは「バーが確定して進む」前提のため、同じローソク足(同一バー)内で複数回エントリーするロジックには向きません(1本前/0本前の差が更新されないため)。

ポジション数(ポジション:1, 取引種別:全て, 計算位置:1本前) > ポジション数(ポジション:1, 取引種別:全て, 計算位置:0本前)
AND
(本来のエントリー条件)

買いエントリー(または売りエントリー)

具体例:決済を検知したら「次の買い条件が成立したときだけ買う」
ポジション数(ポジション:1, 取引種別:全て, 計算位置:1本前) > ポジション数(ポジション:1, 取引種別:全て, 計算位置:0本前)
AND
RSI(計算期間:14, 適用価格:終値, 計算位置:0本前) <= 数値(値:30)

買いエントリー

もし「決済されたら無条件で入り直す」に近い動きをさせたい場合

EAつくーるは「エントリー条件」が必須なので、無条件の代わりに常に真になる条件を置きます(初期状態のような形です)。

ポジション数(ポジション:1, 取引種別:全て, 計算位置:1本前) > ポジション数(ポジション:1, 取引種別:全て, 計算位置:0本前)
AND
ローソク足(適用価格:終値, 計算位置:0本前) = ローソク足(適用価格:終値, 計算位置:0本前)

買いエントリー(または売りエントリー)

こうなっていませんか?(よくある設定ミス)

ポジション数の「計算位置」が両方とも0本前になっている
→ これだと差が出ず、決済検知できません。
1本前と0本前で分けるのが重要です。

「ポジション数」のパラメータ「ポジション」が意図した番号と違う
→ 例えばポジション2を見たいのに「ポジション:1」のままだと、決済検知がズレます。
対象にしたいロジックのポジション番号を指定してください。

運用上の注意点(重要)

この方法はバー単位(1本前/0本前)の比較なので、
同一バー内で複数回のエントリー/決済が起きる設計(スキャルで連打、ナンピン・ピラミッディング等)には不向きです。

同一バー内の多重動作を防ぎたい場合は、オプションの

「一本当たりのエントリー回数制限」
を併用すると意図しない連打を抑えられます(今回の「決済検知」を壊さずに安全側にできます)。

以上の設定で、EAつくーるの機能のみで「決済を検知してからエントリー」を構成できます。

YAMA
2026/01/15 13:42

売りエントリーの条件をご教授頂いた通りに作成いたしましたが、ビジュアルモードの動きとなり、売りエントリーされません。
解決策はありますでしょうか?

スクリーンショット 2026-01-15 スクリーンショット 2026-01-15 133323.png
スクリーンショット 2026-01-15 スクリーンショット 2026-01-15 133436.png

YAMA
2026/01/15 13:43

スクリーンショット 2026-01-15 スクリーンショット 2026-01-15 133323.png

スクリーンショット 2026-01-15 スクリーンショット 2026-01-15 133436.png

GogoJungle
2026/01/19 19:29

いつもお世話になっております。

前回ご案内したロジック「1本前 > 0本前」は、「ポジションが減った変化」を検知するものでしたが、「EAを稼働させた最初の1回目」にポジションがないため、条件が成立せず、エントリーが始まらない(=決済も発生しない)という状態になっています。追加条件が必要となっておりましたので、下記で案内いたします。

全体図

スクリーンショット 2026-01-19 スクリーンショット 2026-01-19 190318.png

※ 緑色枠:前回案内した条件そのまま
※ 黄色枠:今回追加される条件
※ 赤色枠:本来のエントリー条件

条件1

  1. 初回エントリー・待機用
    まず、「まだポジションを持っていない時(1本前の時点でも0)」の条件を作ります。これにより、EA稼働直後もスムーズにエントリーが入ります。

ポジション数(取引種別:全て, 補正値1本前) = 数値(値:0)

jouken_1.png

条件2

  1. 継続時の決済検知用
    「運用中に決済された瞬間」の条件を作ります。
    ここでは「1本前はポジションを持っていた(≧1)」という条件を加えることで、1つ目の条件と役割を明確に分けます。

ポジション数(取引種別:全て, 補正値:1本前) ≧ 数値(値:1)

jouken_2.png

以上、よろしくお願いいたします。

YAMA
2026/01/21 14:06

実現でき非常に驚いております。
ありがとうございます。
加えての依頼があります。
ポジション1で買いエントリー
ポジション2で決済を条件にエントリーを行っていますが、ポジション2を決済した際にも改めてポジション2のエントリーを行います。
ポジション1の買いエントリーの決済のみをエントリ条件とすることはできますでしょうか。

お手数をおかけしますが、何卒よろしくお願いいたします。

GogoJungle
2026/01/26 12:31

前回までの流れを踏まえると、
「ポジション1(買い)の決済だけをトリガーにして、ポジション2をエントリーしたい」
というご要望ですね。
結論から申し上げますと、EAつくーるの機能のみで実現可能です。
現在起きている挙動は、 「決済を検知する対象がポジション2自身も含んでしまっている」 ことが原因です。

なぜポジション2の決済でも再エントリーされるのか
今の設定では、おそらく決済検知の条件が以下のようになっていませんか?

ポジション数(取引種別:全て)
ポジション番号の指定なし、または「2」

この場合、

ポジション1が決済されたとき
ポジション2が決済されたとき

どちらも「ポジション数が減った」と判定されるため、
ポジション2自身の決済でも再エントリーが発生します。

解決策:決済検知の対象を「ポジション1のみに限定する」
ポイントは非常にシンプルで、「ポジション数」を見る条件で、必ず「ポジション:1」を指定することです。

ポジション2(エントリー側)の取引条件設定例
以下は「ポジション1の決済を検知したときだけ、ポジション2をエントリーする」基本形です。

ポジション数(ポジション:1, 取引種別:全て, 計算位置:1本前) > 
ポジション数(ポジション:1, 取引種別:全て, 計算位置:0本前)
AND
(ポジション2として使いたい本来のエントリー条件)
↓
売りエントリー(または買いエントリー)

これで、

ポジション1が 1 → 0 になったときだけ条件成立
ポジション2が決済されても、ポジション1の数は変わらない

という動きになります。

初回エントリーも必要な場合(前回の補足)
EA起動直後にもポジション2を動かしたい場合は、前回ご案内した「初回待機用条件」を OR条件 で併用してください。

(条件A:初回用)
ポジション数(ポジション:1, 取引種別:全て, 計算位置:1本前) = 数値(値:0)
OR
(条件B:ポジション1の決済検知)
ポジション数(ポジション:1, 取引種別:全て, 計算位置:1本前) >
ポジション数(ポジション:1, 取引種別:全て, 計算位置:0本前)
AND
(本来のエントリー条件)
↓
ポジション2 エントリー

よくある設定ミス(念のため確認してください)

ポジション数の「ポジション」が 空欄 のまま
→ 全ポジション対象になり、意図しない決済検知になります

1本前と0本前の 両方が0本前
→ 差が出ず、決済検知できません

ポジション2側の条件で、誤って「ポジション:2」を見ている
→ 自分自身の決済を検知してしまいます

まとめ

ポジション1の決済だけをトリガーにしたい場合
→ 決済検知の「ポジション数」は必ず「ポジション:1」を指定

この構成で、
「ポジション1が終わったら、次は必ずポジション2」
という意図した連動動作になります。

関連トピックス

検索結果がありません。

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

注目トピックス

検索結果がありません。