エントリー時のインジケーター数値を基にした決済設定

EAつくーる
こまつな
2024/11/17 00:10
17

以下のような決済(損切)の設定は現行機能で可能でしょうか?

「最終エントリー足1本前の移動平均線の価格から30pips下がったら決済」

「最終エントリー足の価格」を使えば足の価格を基にした決済設定はできると思いますが、エントリー時の”インジケーターの価格”は難しそうだと思っています。
できない場合は機能追加を要望します。

コメント

GogoJungle
2024/11/18 16:18

結論から申しますと、「現行機能でも可能ですが、コードを修正した方が簡単」でございます。

現行機能で作成する場合

まず、「最終エントリー足が1本前のとき、現在の価格が2本前の移動平均線の価格から30pips下がったら決済」という条件を作成します。

全体像
LABO_1996_4.png

条件1
LABO_1996_2.png

条件2
LABO_1996_3.png

次に、「複製」機能を利用してこれを大量に増やします。

全体像
LABO_1996_1.png

最後に、複製した条件について、次の条件のNに2, 3, 4,…を代入して数値を書き換えます。
「最終エントリー足がN本前のとき、現在の価格がN+1本前の移動平均線の価格から30pips下がったら決済」

設定した条件は

最終エントリー足 = 1
AND
0本前のローソク足の終値 < 2本前のMAの値-30
↓
決済

最終エントリー足 = 2
AND
0本前のローソク足の終値 < 3本前のMAの値-30
↓
決済

最終エントリー足 = 3
AND
0本前のローソク足の終値 < 4本前のMAの値-30
↓
決済

最終エントリー足 = 4
AND
0本前のローソク足の終値 < 5本前のMAの値-30
↓
決済

・
・
・

となりますので、十分なNを用意してあげれば全体として「最終エントリー足1本前の移動平均線の価格から30pips下がったら決済」という条件を満たすわけです。

コードを修正する場合

エントリーに関する条件やオプションを通常通り作成し、決済については次の条件を設定して、ファイルをダウンロードします。

全体像
LABO_1996_5.png

条件1
LABO_1996_6.png

ダウンロードしたコードについて、99999の含まれる行を検索し、次のように書き換えます。

修正前

if(iClose(Symbol(), 0, 0)+PipsToPrice(0)  <  iMA(Symbol(), 0, 21, 0, MODE_SMA, PRICE_CLOSE, 99999)+PipsToPrice(-30)) signal = 1;

修正後

if(iClose(Symbol(), 0, 0)+PipsToPrice(0)  <  iMA(Symbol(), 0, 21, 0, MODE_SMA, PRICE_CLOSE, Bars - bars1 + 1)+PipsToPrice(-30)) signal = 1;

以上でございます。
お試しいただければ幸いでございます。

関連トピックス

検索結果がありません。

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

注目トピックス

検索結果がありません。