解決済み

作成できるエントリー条件について

EAつくーる
ダウ遼太郎
2025/02/01 07:57
65

初めまして。
『EAつくーる』で作成可能かお聞きしたいです。
①の条件が満たされた後、②の条件でエントリーするといった
EAは作成可能でしょうか?
例えば
①の条件 RSIが30未満になった後、
②の条件 RSIが31以上になったら買建する
上記のようなEAは作れるのか知りたいです。

コメント

GogoJungle
2025/02/03 14:58

念のため確認でございますが、

①の条件 RSIが30未満になった後、
②の条件 RSIが30以上になったら買建する

ではなく

①の条件 RSIが30未満になった後、
②の条件 RSIが31以上になったら買建する

というご質問でよろしいでしょうか?

前者と後者で難易度が大きく変わりまして、前者はEAつくーるの機能のみで容易に作成可能となっておりますが、後者の場合は難しい状況です。
(後者はRSIの値が一度30を下回った後、30以上31未満、例えば30.5のときにエントリーせずに待機することになりますが、このような「ある条件を満たした後にすぐエントリーせず待機する」機能はEAつくーるには搭載されておりません。)

因みに前者の場合は

1本前のRSI < 数値(30)
0本前のRSI ≧ 数値(30)
↓
買いエントリー

とすればOKです。

後者をご希望の場合は実現方法を考えてみますので、ご返信いただければ幸いでございます。

ダウ遼太郎
2025/02/08 05:30

返信ありがとうございます。
そうですね。後者の「ある条件を満たした後にすぐエントリーせず待機する」で正しいです。
なぜ、RSIが30未満になった後、待機したいかと言いますと
”価格の反転を待ちたい”ということです。
よろしければ返信お願いいたします。

GogoJungle
2025/02/10 15:26

ありがとうございます。承知しました。

EAつくーるの機能のみでも可能ですが、コードを一部修正した方が簡単かもしれません。
以下を参考に、コードの修正をお試しください。
なお、「ポジション1」のみに条件を設定する、単ポジションのEAで説明させていただきます。

準備

「RSIの値が31以上になったら買いエントリーする」という条件のみを用意しておきます。
他にも条件が必要な場合はANDで繋いで作成してください。

LABO_2084_1.png

変数の追加

「RSIが30未満になったことがある」という状態を保存しておくためのフラグ、flag_rsiを定義します。

【修正前】

bool Trade = true;

【修正後】

bool Trade = true;
bool flag_rsi = false;

RSIをチェックする処理の追加

1本前のRSIが30を下回ったらフラグを立てます。
また、フラグが立っていない場合はそれより下のエントリー処理をスキップさせます。

【修正前】

   if(Trade == false) return;

【修正後】

   if(Trade == false) return;
   if(iRSI(Symbol(), 0, 14, PRICE_CLOSE, 1)  <  30) flag_rsi = true;
   if(flag_rsi == false) return; 

エントリーしたらフラグを降ろす処理を追加

エントリー時にフラグをfalseにします。

【修正前】

      if(openPosition(signal, lots, take_profit, stop_loss, Magic1)) {
         bars1 = Bars;
      }

【修正後】

      if(openPosition(signal, lots, take_profit, stop_loss, Magic1)) {
         bars1 = Bars;
         flag_rsi = false;
      }

以上でございます。
この修正により、「RSIが30を下回ったらフラグを立てる。フラグが立っていないときは何もしない。フラグが立っているときのみRSIが31以上かの判定をし、31以上ならエントリーする。エントリーしたらフラグを降ろす。」という動作が実現します。

ご参考になりましたら幸いでございます。

関連トピックス

検索結果がありません。

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

注目トピックス

検索結果がありません。