ICustom機能 - ページ 3

 

主にテスト・検証用

私はインジケータを使って戦略を開発し、EAがインジケータと同じように動作しているかどうかを検証したいのです。 もう少しMT4を使いこなせたら、インジケータのロジックをサブルーチンかDLLにして、インジケータとEAの両方から呼び出せるようになるかもしれませんね。

テスターを使用すると、チャートを開くことができます。 そのロジックをオーバーライドすれば、そのチャート上にオブジェクトを置くことも可能です。

どなたか、グラフィックで何をしているのかわかるEAをご存じないでしょうか?

 

Fisher m11をカスタムとして使って、初めてICustomを作りました。テスターでインジケーターを 表示すると、いいチャートなのですが、ほとんどの場合負けが続いています。Fisher m11はインジケータなので、そのフォルダに入れる必要があります。Fisher Auto EA m11はexpertsフォルダにある必要があります。以下は、私がEAに配置した方法です。

iCustom(NULL,0, "Fisher_m11",Fisher_Period, IndexSmoothing,PriceSmoothing,0);

double iCustom( string symbol, int timeframe, string name, ..., int mode, int shift) とします。

自作EAを作成中の方の参考になるかもしれません。

ファイル:
 

私も似たような質問をしています。

どなたか

SHI_SilverTrendSigAlert(シルバートレンド シグアラート)

SilverTrend_Signal With Alert v3 をEAで使う方法をご存知の方いらっしゃいますか?

をEAで使う方法をご存知の方はいらっしゃいますか?

専門家の助けが必要です。

 

SilverTrendはトレードには良いのですが、バーが閉じるまでシグナルが出たり消えたりするので、EAを作る上では難しいかもしれません。 12個のSilver EAをzipでまとめましたので、ご覧ください。

ファイル:
 

ただ、iCustomの行の終了値を頭の中で明確にしておきたかったのです。

ラインとシフト

VQのように1本の線しかないインジケータで、直前のローソク足が矢印で上向きになって買いのシグナルを出したか、矢印で下向きになって売りのシグナルを出したかを知りたい場合、2つの条件を設定する必要があるのでしょうか。

double VQ0 = iCustom(NULL, 0, "VQ", false,0,5,3,1,5,true,false,true,true,false,true,1485, 1,1);

double VQ1 = iCustom(NULL, 0, "VQ", false,0,5,3,1,5,true,false,true,true,false,true,1485, 2,1);

[/code]

So the above is going to check for an up condition (up) or sell (down) condition on the closed bar, correct?

Then my Buy and Sell code should be; correct?

//Buy

if (VQ0>VQ1 && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))

//Sell

if (VQ0<VQ1 && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))

[/code]

Now if I wanted to add a second indicator so that TWO conditions need to be met at the same time to trigger a trade, it has two graphical lines (Don't know if it matters by how many lines it has, the indicator knows what it's Buy and Sell conditions are, correct?) My code would change to;

[code]

double VQ0 = iCustom(NULL, 0, "VQ", false,0,5,3,1,5,true,false,true,true,false,true,1485, 1,1);

double VQ1 = iCustom(NULL, 0, "VQ", false,0,5,3,1,5,true,false,true,true,false,true,1485, 2,1);

double QQEA0 = iCustom(NULL, 0, "QQEA",5,14,4.236, 1, 1);

double QQEA1 = iCustom(NULL, 0, "QQEA",5,14,4.236, 2, 1);

and Buy and Sell code should be

[code]

//Buy

if (VQ0>VQ1 && QQEA0>QQEA1 && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))

//Sell

if (VQ0<VQ1 && QQEA0<QQEA1 && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))

編集:バックテストを行ったところ、すべてのM30(チャートTF)のように取引されているようです。私は、最初のシグナル条件でのみ取引を開始し、次の反対側のシグナル条件まで待機するようにしたい。このような場合、両方のインジケータが買いであることに同意すると、その取引が終了すると、次のキャンドルでまだ条件が満たされていれば、別の買い取引を継続するように思えます。それは私が望むものではありません。 私は、売買シグナルごとに1回だけ取引をしたいのです。ありがとうございます。

添付された2つのEAは、My First EAと呼ばれるもので、誰かが条件が間違っていると思ったので修正したものと、YourExpertAdvisorというテンプレートを使って私が作成したものです。どちらも正しいですか?

ありがとうございます。

ファイル:
 

もし私の理解が正しければ、あなたはEAに、一致するたびにシグナルが発生するのではなく、途切れることのない一連の指標の一致を「1つのシグナル」として扱わせたいのですね。

そのためには、ステートフルEAにして、以下のような設計にするのも一つの方法です。

static int last_signal = 0;

int signal = 0;

if ( ) signal = 1;

if ( ) signal = -1;

if ( signal != 0 && signal != last_signal ) {

// New signal series...

}

last_signal = signal;

 
ralph.ronnquist:
もし私が正しく理解しているなら、あなたはEAに、一致した各時点がシグナルであるのではなく、途切れることのない一連の指標の一致を「1つのシグナル」として扱わせたいのですね。

一つの方法として、ステートフルなEAにして、以下のような設計にすることです。

static int last_signal = 0;

int signal = 0;

if ( ) signal = 1;

if ( ) signal = -1;

if ( signal != 0 && signal != last_signal ) {

// New signal series...

}

last_signal = signal;

こんにちは、Ralphさん。私が立ち上げたこのスレッドがもっとわかりやすいかもしれません。

https://www.mql5.com/en/forum/178432

ありがとうございます。

 
codersguru:
ホミシダです。

お待たせして申し訳ございませんでした。

LSMAの修正版とiCustom_Demoを添付します。

LSMAに新しいバッファを追加して、現在の色(1=赤、2=緑、3=黄)を保持するようにしました。

どこが(1=downtrend , 2=uptrend , 3=notrend)なのか。

このバッファの値を取得するためにiCustomfunctionを 使用するには、次のように記述します。

double clr = iCustom(NULL,0,"LSMA in Color",14,1500,5,0);

Codersguruさんありがとうございます!

私のDigital Compassをディスクインジケーターで使用するバージョンを作成することができました。

 

TheRumpledOneさんも、画像をインラインにするのではなく、添付 する方法を学ばれると良いと思います。

 
ralph.ronnquist:
TheRumpledOneさんも、インラインにするのではなく、画像を添付 する方法を学ばれると良いと思います。あなたが貼り付けるジャンクでは、ただ多くのスペースを浪費するだけです。

ジャンク "なら、なぜ投稿するのでしょうか?

理由: