EAツクールで作成可能か教えてください。

2025/02/08 14:57
84

同様の質問が上がっていたら申し訳ありません。
見つけられなかったので以下の二点について作成可能かわかる方がいれば教えていただきたいです。

1)決済値段
利確損切の値段をエントリーした値段の10%といった形でpipsではなく率で管理したいのですが可能でしょうか。

2)複数ポジションの所持
複数ポジションを持つためにはポジションを複数設定する必要があると考えています。
同じ条件で設定した場合同時に複数ポジションを持ってしまいます。
ポジション1をエントリーしている場合にポジション2をエントリーというような同じ条件でタイミングをずらして保有することはかのうでしょうか。

例)
短期MAが長期MAをしたから上に抜けた場合に買いエントリーとしたいとき、MAだけを条件としているためポジション1~Nは全部同じタイミングで入ってしまう。
ポジション1の決済タイミングが来る前にエントリータイミングが来たらポジション2を保有するようにしたい。

以上、作成方法についてご教授お願いします。

コメント

GogoJungle
2025/02/13 19:23

1)決済値段につきまして

買いポジション決済の時に利確の値段を率で管理する例となります。

まず、条件といたしまして、ローソク足 > 最終エントリー足の価格と設定します。

p2p1.png

p2p2.png

次に、コードの修正を行います。
定義を追加したうえで、OnTickという関数の中身の一部を、下記例を参考にご修正ください。

  • 定義の追加
input double TakeProfitPercentage = 10.0; // 利確のパーセンテージ
input double StopLossPercentage   = 10.0; // 損切りのパーセンテージ
  • 修正前
   if(iClose(Symbol(), 0, 0)+PipsToPrice(0)  >  iClose(Symbol(), 0, getLastEntryBar(Symbol(), 0, 0, Magic1))) signal = 1;
   if(signal != 0 && getOpenLots(Magic1, OP_BUY) != 0) {
      closePosition(Magic1, OP_BUY);
   }
  • 修正後
    if(iClose(Symbol(), 0, 0) + PipsToPrice(0) > iClose(Symbol(), 0, getLastEntryBar(Symbol(), 0, 0, Magic1)) * (1 + TakeProfitPercentage / 100.0)) signal = 1;
    if(signal != 0 && getOpenLots(Magic1, OP_BUY) != 0) {
        closePosition(Magic1, OP_BUY);

2)複数ポジションの所持につきまして

過去に同様の件への回答がございましたので、ご参考いただけますと幸いです。
https://labo.gogojungle.co.jp/articles/2007

各条件に前のポジション(ポジション2の場合はポジション1)の最終エントリー足 > 0の条件を加えることで可能になります。
※画像は「ポジション1でエントリーしてから10本以上経過していること」の例となります。

p2p3.png

なお、その次のポジションにつきましては、直前のポジションに追加した条件をそのまま引き継いだ上で条件を追加する必要がございます。条件を複製して、ポジションごとに必要な条件を追加していくことになります。

詳細につきましては、以下をご参考いただけますと幸いです。
https://labo.gogojungle.co.jp/articles/2014?comment=5075

shun
2025/02/14 20:05

お世話になっております。

ご連絡ありがとうございます。
内容確認して作成してみます。

関連トピックス

検索結果がありません。

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

注目トピックス

検索結果がありません。