お世話になります。チャート上に表示したインジケーターで
3~10で買い、11で売り(ドテン売買で3~10を手仕舞い)
するようなEAを作りたいのですが、
実際の売買は3で買い、11で売り(ドテン売買で3を手仕舞い)となってしまいます。4~10はスルーされてしまいます。
また、赤の縦線付近でEAを稼働させた場合、7で買い11で売り(ドテン手仕舞い)となってしまいます。
最大契約本数を10本にしているのですが上手く行きません。
どこか不都合があるのでしょうか
![スクリーンショット 2025-10-09 151546.png]
| 検索結果がありません。 |
| 検索結果がありません。 |
お問い合わせありがとうございます。
誠に恐れ入りますが、添付していただいた画像が表示されない状況でございましたので、ご質問内容だけに基づいたご回答になります。もしご回答内容にずれが生じている場合は、大変お手数をおかけしますが、再度画像を添付していただけますと、改めてご回答させていただきますので、よろしくお願いいたします。
ご質問の内容から、複数ポジションの同時保有(最大10本)を想定した設定であるにもかかわらず、実際には「最初の1回(3で買い)」しか約定せず、後続の4~10の買いサインが無視されてしまう状況と拝見いたしました。
この場合、EAつくーるの仕様およびMT4/MT5の動作上、次のいずれかの要因が考えられます。
■ 主な原因と対処法
1. 【「最大ポジション数」設定が有効になっていない】
EAつくーるの「基本設定」にある
「最大ポジション数」 は、同一マジック番号ごとに保有できる建玉数を制限する仕組みです。
→ 同一マジック番号で最大10本まで保有可能
ただし、EAつくーるで生成されたコードの中では、
getOpenLots(Magic1) == 0のような記述がある場合、「すでに1本でもポジションがある間は新規エントリーしない」動作になります。
対処法:
コード内を検索し、下記のような条件があれば修正してください。
修正前:
修正後:
これにより、最大10本までシグナルに応じて新規エントリーが行われるようになります。
2. 【ドテン売買時にポジション一括決済が優先されている】
EAつくーるでは、「ドテンエントリー(反対売買時に全決済)」を有効にしている場合、
反対サインが出た瞬間に保有中のすべての買いポジションを決済してから売りを建てます。
そのため、質問の「11で売り(ドテン売買で3~10を手仕舞い)」を想定している場合でも、
EAつくーるの仕様上、**「最初に建てた1本のみ」**が対象になっている可能性があります。
対処法:
3. 【稼働タイミングとシグナル評価タイミングのズレ】
EAを途中(例:赤縦線以降)で稼働させた場合、EAつくーるは「それ以前の足の状態」を記憶していません。
したがって、「7で買い」などのようにすでに過去に出ていたシグナルは認識されず、
稼働後に初めて出たサイン(この場合は11の売り)から判定が開始されます。
対処法:
EAを稼働させる際は、
ようにしてください。
■ まとめ
getOpenLots(Magic1) == 0により1本制限されている< 10に変更■ 補足
EAつくーる標準コードの構造上、複数ポジション+ドテン動作を完全両立することは難しいため、
もし「3~10で買い → 11で全決済+売りドテン」を厳密に行いたい場合は、
出力コードを一部改造し、「ドテン売買」判定のループを全ポジションに拡張する必要があります。