ATRの利確と損切り方法について

EAつくーる
まいける
2025/01/29 01:15
126

いつもお世話になっております。
ATRの利確と損切りの方法について教えていただきたいのですが、
仮に買いのエントリーをして、ATRを使って損切り:利益を2:3の割合で設定することはできるのでしょうか?
できるのであれば教えていただけると幸いです。

コメント

GogoJungle
2025/01/29 09:07

EAつくーる本体の機能ではATRの値を元にエントリー時のST・TPを設定することはできませんが、コードを2行、修正していただくことで実装可能でございます。

【修正前】

   take_profit = TakeProfit;
   stop_loss = StopLoss;

※上記で検索すると複数の候補がヒットしますが、先頭にdoubleと付いていない2行を見つけてください。

【修正後】

   take_profit = PriceToPips(iATR(Symbol(), 0, 14, 0)) * 1.5;
   stop_loss   = PriceToPips(iATR(Symbol(), 0, 14, 0));

期間14のATRを元に、SL:TP=2:3になるように設定した例です。
TP÷SL=3÷2=1.5より、TPをATRの1.5倍、1倍としています。

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

まいける
2025/01/31 02:40

ありがとうございます!

まいける
2025/02/03 05:11

たびたび申し訳ありません。
倍率を最適化するのにパラメーターを変更できるしようにするにはどうしたらいいでしょうか?

GogoJungle
2025/02/03 16:15

比率を設定するための変数Ratioを準備すればOKです。

input int Magic = 1;
input double Ratio = 1.5; // この行を追加
   take_profit = PriceToPips(iATR(Symbol(), 0, 14, 0)) * Ratio; // 具体的な数値ではなく変数を記載する
   stop_loss   = PriceToPips(iATR(Symbol(), 0, 14, 0));
まいける
2025/02/06 08:00

ありがとうございます!
損切りの比率も変更することは可能でしょうか?
お手数おかけしますがお願いいたします。

GogoJungle
2025/02/06 09:47

ATRに対する比率をTP・SLで個別に設定できるようにするということですね。
変数をRatioTP,RatioSLの2つにすればOKです。

input int Magic = 1;
input double RatioTP = 1.5; // この行を追加
input double RatioSL = 1.0; // この行を追加
   take_profit = PriceToPips(iATR(Symbol(), 0, 14, 0)) * RatioTP;
   stop_loss   = PriceToPips(iATR(Symbol(), 0, 14, 0)) * RatioSL;

関連トピックス

検索結果がありません。

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

注目トピックス

検索結果がありません。