解決済み

ナンピンEA全決済後、新たなポジションをとるエラー

EAつくーる
ふくやん
2026/01/28 19:21
52

最初のエントリーを手動で行う半裁量のナンピンEAを作成しました。
設定したpipsの含み益になり全決済したあとで、時々、新たなポジションがエントリーされています。
通信状態が悪ときに、最後に残った第一ポジションに対して、EAがポジションをとっていると思われます。
このエラーを防ぐにはどうすればよいでしょうか?

コメント

GogoJungle
2026/01/29 14:58

半裁量(最初は手動エントリー)で動かすナンピンEAで、全決済が完了した直後に、意図せず新規エントリー(追加ポジション)が入ってしまうことがある、というご質問ですね。

この現象は多くの場合、「全決済」と「ナンピン追加判定」が同じタイミングで走ったり、通信遅延で “まだポジションがあるように見えている瞬間” が発生して、EAが続きのナンピン処理をしてしまうことで起きます。EAつくーる側だけで対策できる範囲があるので、まずそこを固めるのがおすすめです。


設定方法(対策手順)

1) 基本項目の確認(ナンピン使用時の必須)

「こうなっていませんか?」として最初に確認したいのがここです。

  • 基本項目 → 損切り:0
  • 基本項目 → 利食い:0

ナンピンオプション利用時に損切り/利食いが0以外だと、個別ポジションのSL/TPが絡んで約定タイミングがズレやすく、全決済直後の“残って見える瞬間”が起きやすくなります(仕様上の注意点でも「0推奨」になっています)。

2) オプション「全決済」の使い方を整理(“誰のポジションを閉じるか”)

半裁量EAの場合、手動で入れた最初のポジションがEAの管理対象として正しく扱われていないケースが混ざります。

  • オプション → 全決済 を使う場合

    • 「マジックナンバー」欄が未入力だと「全てのポジションを決済」になります。
    • 逆に、EA管理のものだけ閉じたいなら、対象マジックを明示します。

ただし半裁量(手動初回)だと、手動ポジションは通常マジックが付かないため、
“EAが見ているポジション”と“全決済で閉じたポジション”がズレることがあります。
このズレがあると、全決済後の判定が不安定になりやすいです。

おすすめ方針(どちらかに寄せる)

  • 方針A:手動ポジションも含めて全部閉じてOK → 全決済のマジックは未入力(全決済)
  • 方針B:EAが作った分だけ閉じたい → 全決済のマジックに EAのポジション番号(例:1) を指定し、手動初回は別管理にする

半裁量ナンピンは、まず 方針A(全部閉じ) に寄せた方が挙動は安定しやすいです。

3) 「全決済直後の再エントリー禁止(クールダウン)」を入れる

今回の症状に一番効きやすいのはこれです。
全決済直後に通信遅延があっても、一定時間は追加エントリーさせないようにできます。

  • オプション → 連続エントリー制限 をチェック

    • 指定方法:まずは扱いやすい 「秒数で指定」
    • 秒数:10~30秒(通信が不安定な環境なら60秒でも可)

これで「全決済した直後のゴタつき」でナンピンが走るのをかなり抑えられます。

4) 「初回は手動」の前提を、EA側の条件で明示する(自動初回を封じる)

EAつくーるの初期状態だと、エントリー条件が残っていて “ポジションが無ければ常に買い” のような状態になっていることがあります。

「こうなっていませんか?」

  • 取引条件に、初期のまま 「ローソク足 = ローソク足 → 買いエントリー」 が残っている

半裁量の場合は、EAが自分で初回を建てないように、新規エントリー条件を成立しない形にしておくのが安全です。

例:買い/売りエントリー側に「常に成立しない条件」を1つ入れておく(ロジック無効化)

数値(値:1) = 数値(値:0)
↓
買いエントリー

数値(値:1) = 数値(値:0)
↓
売りエントリー

これでEAは初回エントリーをしなくなり、「全決済後にたまたま新規が入る」を強く抑制できます。
(ナンピン追加はオプション側で動く前提なので、初回だけ封じたい半裁量構成と相性が良いです)

5) 「一本当たりのエントリー回数制限」を併用する

タイミングが重なって同一足で複数回判定が走ることを抑えられます。

  • オプション → 一本当たりのエントリー回数制限 をチェック

それでも稀に出る場合の考え方(仕様限界と回避策)

残念ながら、EAつくーる単体では「全決済がサーバーに完全反映されたことを確認してから次処理へ進む」といった 約定完了待ち(注文状態の厳密管理) は細かく書けません。通信遅延・約定遅延が大きい環境だと、稀に取りこぼしが出る可能性は残ります。

ただし、上の (3)連続エントリー制限(4)初回エントリー条件の無効化 を入れると、実運用上ほぼ止まることが多いです。

MQLでの補足(最終手段・方向性だけ)

どうしてもゼロにしたい場合は、外部MQL編集で「全決済実行後、一定時間は新規注文を出さない」「保有数が0になったのを複数回確認するまで追加処理をしない」といったガードを追加する方法があります(例:全決済後にクールダウンフラグ+時間判定)。
ただ、初心者の方はまず上記のEAつくーる設定で十分に再現防止できるケースが多いです。


まとめ(今回の症状に効く優先順)
  1. 基本項目:損切り0/利食い0(ナンピンの必須)
  2. オプション:連続エントリー制限(秒数10~30秒)
  3. 取引条件:初回の買い/売りエントリーを成立しない条件で無効化(半裁量用)
  4. オプション:一本当たりのエントリー回数制限をON

この4点で、「全決済直後に時々新規が入る」現象はほぼ抑えられます。

ふくやん
2026/02/02 19:48

基本項目TP、SLはともに0となっています。
マジックナンバーはコード修正し裁量にあわせて0に変更、全決済オプションでは未入力です。
取引条件では決済条件のみです。

EAつく~る側のオプションで、以下2点を修正しました。
・連続エントリー制限設定
・1本あたりのエントリー回数制限

問題のエラーは発生しなくなり、解決しました。ありがとうございました。

関連トピックス

検索結果がありません。

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

注目トピックス

検索結果がありません。