◽️取引条件
●ポジション1
条件1—買い
条件2—売り
●ポジション2
条件1—売り
条件2—買い
◽️オプション
トレーリングストップ(固定幅) : 間隔5pips
最大ポジション数制限 : 1
ポジション1とポジション2に上記条件を設定
①条件1で買い or 売りエントリー
②買い or 売りポジション保有中に条件2が揃った場合のみドテンし利確 or 損切
①→②の順番で一連の動作としたEAを作成したいのですが、この場合どのように設定すればいいでしょうか?
連続エントリー制限を設定したらドテンは動作しないでしょうか?
よろしくお願いします。
| 検索結果がありません。 |
| 検索結果がありません。 |
ドテンを「ポジション保有中に反対条件が出たときだけ実行したい」というご質問ですね。
この動作であれば、ポジション1とポジション2を分けるより、1つのポジション内で買い条件・売り条件を持たせて、「ドテン機能」を使う形が基本になります。
現在のように
ポジション1
ポジション2
としてしまうと、「別ポジションの新規エントリー」として判定されやすく、保有中だけドテンしたい意図とズレやすいです。
設定方法特に「最大ポジション数制限: 1」を併用すると、反対側の条件が出ても新規エントリー側が止められて、期待どおりの流れにならないことがあります。
基本項目
通常どおり設定してください。
オプション
必要なのは主に以下です。
今回の用途では、ドテン機能を使うなら最大ポジション数制限は入れない方がわかりやすいです。
取引条件ドテン機能自体が「保有中の反対シグナルで決済して反対売買する」仕組みなので、最大ポジション数制限を重ねる必要はあまりありません。
1つのポジションだけ作成して、その中に買い条件と売り条件を入れてください。
たとえば、
であれば、ポジション1を以下のようにします。
これで動作は次のようになります。
つまり、ご希望の
という流れに近くなります。
今の設定で起きやすいことこうなっていませんか、という点を挙げます。
1. ポジションを2つに分けている
この場合、EAから見ると
「ポジション1の買い」
「ポジション2の売り」
が別ロジックの新規注文として扱われやすいです。
そのため、
「保有中だけ反対に切り替える」
ではなく、
「別ポジションが新しく出ようとする」
動きになりやすいです。
2. 最大ポジション数制限: 1 を入れている
これを入れると、反対条件が出たときに
「先に決済してから新規で入り直す」
流れの途中で制限に引っかかる可能性があります。
ドテン用途では、まずは最大ポジション数制限を外してテストするのがおすすめです。
連続エントリー制限についてご質問の
「連続エントリー制限を設定したらドテンは動作しないでしょうか?」
については、期待どおりに動かなくなる可能性が高いです。
理由は、連続エントリー制限が
の再エントリーを禁止する機能だからです。
ドテンは内部的には
という流れになりますので、連続エントリー制限があると「決済直後の再エントリー」とみなされて、反対売買が止まる可能性があります。
そのため、ドテンを優先したい場合は、連続エントリー制限は使わない方が安全です。
おすすめ構成今回の目的なら、まずは以下の構成が最も素直です。
基本項目
オプション
取引条件
補足もし「新規エントリーは1回だけ許可し、その後は保有中のドテンだけにしたい」というような、さらに細かい制御をしたい場合は、EAつくーるの機能だけでは厳密には難しい場合があります。
ただ、今回のご要望であれば、まずは
でかなり近い動作になります。
特に重要なのは、ポジション1とポジション2に分けず、1ポジションで買い・売りの両条件を持たせることです。
ご回答ありがとうございます。
最大ポジション数制限と連続エントリー制限は設定しない方がいいことは理解しました。
ただ、やりたいことの認識が違うようで、うまく説明できておらずすみません。
改めて説明します。
●ポジション1(買いのみ)
条件1—買い
条件2—売り
●ポジション2(売りのみ)
条件1—売り
条件2—買い
■EAの動き
①条件1で買い or 売りエントリー
②買い or 売りポジション保有中に条件2が揃った場合のみドテンしトレーリングストップ利確 or 損切
買いエントリーと売りエントリーである条件1のロジックは条件2とは違うロジックなので、ポジションを分けて設定しています。
①→②の順番を1セットとしてエントリーからトレーリングストップ利確(損切)を1つの動きとしたいです。
①→②、①→②、①→②の繰り返しにしたいです。
つまり、条件2→条件1の順番にはしたくないので質問させていただきました。
過去の質問を見たり実際にEAを作成して検証すると、条件2→条件1の順番でもエントリー、トレーリングストップ利確 or 損切となるので、それだとやりたいこととは違います。
この場合EAつくーるの機能だけでは難しいということでしょうか?
前回の内容を踏まえると、今回ご希望の動作は EAつくーるの機能のみでは厳密には難しい です。
理由は、今回のロジックでは単に「反対条件が出たらドテンする」だけでなく、
というように、現在がどの段階なのかをEA内で記憶する必要があるためです。
EAつくーるの取引条件は、基本的に各ポジションごとに
を行う仕組みです。
そのため、
というような、条件の成立順序までは標準機能だけでは管理できません。
現在のように、
と設定すると、ポジション1とポジション2は別のロジックとして判定されます。
そのため、条件2が先に成立した場合でも、EAから見ると「条件2による新規エントリー条件が成立した」と判断されるため、
の順番でも取引が始まってしまいます。
また、ドテン機能は「保有中のポジションと反対方向のエントリー条件を満たした場合に、現在のポジションを決済して反対方向へエントリーする」機能です。
EAつくーるで近づける場合そのため、「条件1で入った後だけ条件2を有効にする」「条件2でドテンした後は、次回必ず条件1待ちに戻す」といった履歴管理までは行えません。
完全に同じ動作ではありませんが、条件2から新規エントリーしてしまう動きを避けたい場合は、条件2を新規エントリーではなく、決済条件として使う方法があります。
この場合、条件2が先に出ても新規エントリーには使われないため、「条件2から始まる」動きは避けやすくなります。
ただし、この方法は ドテンではなく決済のみ になります。
条件2で反対ポジションまで持たせる動作にはなりません。
もう1つの方法として、条件2側に「条件1のあとに成立しやすい状態」を追加して、条件2から始まりにくくすることはできます。
例として、条件1で買い方向に入ったあとだけ条件2の売りを許可したい場合は、条件2に価格やインジケーターの位置関係などの追加条件を入れて絞り込む形です。
ただし、これはあくまで近似的な方法です。
連続エントリー制限についてEAが「条件1を先に通過した」と記憶しているわけではないため、完全な順番制御にはなりません。
連続エントリー制限を使っても、今回の目的は解決しにくいです。
連続エントリー制限は、
ための機能です。
今回必要な、
という順番管理を行う機能ではありません。
また、ドテンは内部的には「決済してすぐ反対方向へエントリーする」動きになるため、連続エントリー制限を設定すると、ドテン時の反対方向エントリーが止まる可能性があります。
MQLでの補足ご希望の動作を厳密に実現する場合は、EAつくーるで作成したEAをベースにして、MQL側で状態管理を追加する必要があります。
考え方としては、EA内に次のような状態を持たせます。
そして、
という制御を追加します。
したがって、今回の
という順番を固定し、
を禁止する動作は、EAつくーるの標準機能だけでは厳密には難しいです。
EAつくーる内で対応する場合は「条件2を決済条件にする」「条件2に追加条件を入れて絞り込む」といった近似対応になります。
条件2で必ずドテンまで行い、かつ次回も必ず条件1から開始したい場合は、MQL編集で状態管理を追加する形が現実的だと存じます。