直近の高値安値

EAつくーる
はやうち太郎
2025/04/06 21:51
45

添付画像のように直近の高値安値を取り込んで、損切や利確ラインに利用することは可能でしょうか?
例えば、ある条件で1本前の終値で売りエントリーしたとします。直近の高値を損切ラインとし、リスクリワード比1:1の位置に利確ラインを置くような設定をしたいです。
1本前の終値で売りエントリー:100円
直近の高値:101円
損切:101円
利確:100円ー(101円ー100円)=99円
66457.jpg

コメント

はやうち太郎
2025/04/06 21:54

ちなみにこれはLION FXです。

GogoJungle
2025/04/09 15:00

OnTick関数内のコードを、2行ご修正いただくことで実現すると存じます。

【修正前】

   take_profit = TakeProfit;
   stop_loss = StopLoss;

【修正後】

   take_profit = PriceToPips(MathAbs(iHigh(Symbol(), 0, iHighest(Symbol(), 0, MODE_HIGH, 20, 1)) - Bid));
   stop_loss = take_profit;

上記は直近20本の高値を利用する例です。「20」の部分をご変更いただくことで、高値を取得する期間を変えることも可能となっております。
ご参考になりましたら幸いでございます。

はやうち太郎
2025/04/11 10:08

ありがとうございます。以下の条件では売りエントリーしないという制約をかけることはできますか?
(直近の高値ーエントリーポイント)>(エントリーポイントー直近の安値)

GogoJungle
2025/04/15 09:23

ご提示いただいた条件で「エントリーしない」ということは、「それを否定する条件を満たす場合でのみエントリーする」となりますので、エントリー時に必要なAND条件の一つとして

直近の高値 - 現在の価格 ≦ 現在の価格 - 直近の安値・・・①

を追加すればOKですね。
式①を変形すると

現在の価格 ≧ (直近の高値 + 直近の安値) / 2

となりますので、指定する条件は「現在の価格が、直近の高値・安値の平均値以上である」です。

コードに直すと次のようになります。
&&で繋がる条件の1つとして、こちらを追加してみてください。

iClose(Symbol(), 0, 0) >= (iHigh(Symbol(), 0, iHighest(Symbol(), 0, MODE_HIGH, 20, 1)) + iLow(Symbol(), 0, iLowest(Symbol(), 0, MODE_LOW, 20, 1))) / 2 

関連トピックス

検索結果がありません。

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

注目トピックス

検索結果がありません。