カスタムインジケータの値を出力するEA

カスタムインジケータの値を出力するEA


iCustom()関数でカスタムインジケータを使ってEAを作る際、カスタムインジケータのラインインデックスが何番のものを使えばよいかは、インジケータ設定ダイアログの「色の設定」でなんとなくわかります。

下の図は、VQの「色の設定」タブで、#0(インデックス0番)の幅を最大にして表示させた状態のものです。

vq_index.png

色や幅で、下記の表の通りの番号になることがわかります。

0番Yellowライン
1番Green上昇ライン
2番Red下降ライン
3番Yellow↑矢印
4番Aqua↓矢印

使用する番号がわかったら、次にその番号がどのようになればシグナルとするかを知る必要があります。

CustomChecker_EAv2

パラメータIndicatorNameにカスタムインジケータ名を入力すれば、#0~#7までの3本前・2本前・1本前・現在の値をチャート上に出力してくれるEAです。

→CustomChecker_EAv2ダウンロード

下の図をみてください。

vq_index2.png

もし、現在の足の始値の時点で売りシグナル発生にしたい場合は、「4番のShift1がEMPTY_VALUEではない」という条件にすればよいですね。

   double vq4_1 = iCustom(NULL, 0, "VQ", ・・・, 4, 1);

   int sign = 0;
   if(vq4_1 != EMPTY_VALUE) sign = -1;

という感じです。

もし、矢印を使わず赤色ライン確定で売りシグナルにしたい場合はもう少し複雑になります。

   double vq2_1 = iCustom(NULL, 0, "VQ", ・・・, 2, 1);
   double vq2_2 = iCustom(NULL, 0, "VQ", ・・・, 2, 2);
   double vq2_3 = iCustom(NULL, 0, "VQ", ・・・, 2, 3);

   int sign = 0;
   if(vq2_3 == EMPTY_VALUE &&
      vq2_2 != EMPTY_VALUE &&
      vq2_1 != EMPTY_VALUE) sign = -1;

という感じです。

ラインの場合は矢印等とは違い、各バーの間の部分を直線でつないで表示するようになっています。

なので、上記売りシグナルの条件の意味は「3本前と2本前の間は表示なし、かつ、2本前と1本前の間は表示あり」ということになります。

複数のラインインデックスで1本のラインを描画するインジケータの場合で重なって表示している場合は、インデックスの大きいほうが優先して表示され小さいほうは後ろに隠れてしまうので注意してください。(VQの#0黄色ラインのように。)

カスタムインジケータをEAにする方法の関連記事

2014年1月15日|コメント (6)

カテゴリー:MetaTrader EA

コメント (6)

初めてコメントします。
ブログを参考にさせて頂いています。
今回カスタムインジケータの値を出すために
上記のeaをお借りしたのですがうまく表示されません。
MQLで見てもエラーが起こってしまいます。
パラメータIndicatorのとこを名前を入れ直すとのことでしたが、Indicator nameの全てを書き換えればいいのでしょうか?
ちなみに私が値を出したいインジケータはチャート上にシグナルが出るインジケータになっています。

まったくのド素人なのでご面倒とは思いますがご返答頂ければ助かります。
何卒よろしくお願いします。

投稿者:yuuki |2016年6月21日 10:20

yuukiさん

こんにちは。ダウンロードしたファイルをそのままコンパイルしてみてください。
正常にコンパイルできたら、MT4画面のテスターで、このEAを選択して、パラメーター「IndicatorName」の欄に値を出したいインジケーター名を入力して、スタートします。

エラーが起こる場合は、どのようなエラーが起こっているかをお知らせください。

投稿者:keiji Author Profile Page|2016年6月21日 12:02

迅速なご対応ありがとうございます。

CustomChecker EAv2ダウンロードを押すと
プログラミング言語がズラリと表示されて
それをコピーし
MetaEditorで新たに新規作成から
ExpertAdviorを選択

あとはスルーして
fileを作成して
fileに表示されていた言語を消して
コピーしてあったCustomCheckerの言語を
張り付けてコンパイルするとエラーが18個表示させてしまいます。

double quotes are needed line17 Column67
この表記等が数個出ます。

解りづらく申し訳ありません。


何かダウンロードの仕方がいけないのでしょうか?

投稿者:yuuki |2016年6月22日 15:14

yuukiさん

こんにちは。
EAファイルを更新しましたので、再度試してみてください。
ブラウザのキャッシュで古いソースが表示される場合がありますので、コードが表示される画面を更新してからコピーしてみてください。

投稿者:keiji Author Profile Page|2016年6月22日 16:15

ご迷惑お掛けしております。
更新して頂いたEAで、なんの障害もなくダウンロード出来てコンパイルもエラーなく出来ました。
お陰様で左上に画像と一緒の数値が表示されました。


あとは自分の持っているカスタムインジケーターを
挿入すれば値を出してくれるのでしょうか?
私のパソコンが遅すぎてビジュアルチャートを出すのにも一時間ぐらいたって半分しか表示されていないので確認に時間がかかっている始末で。


投稿者:yuuki |2016年6月23日 13:29

yuukiさん

こんにちは。テスターの「エキスパート設定」ボタンでパラメーター入力画面を出してIndicatorNameにインジケーター名を入力して、ビジュアルモードをスタートさせてください。

投稿者:keiji Author Profile Page|2016年6月24日 14:02

コメントを投稿する

(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)






画像の中に見える文字を入力してください。

Captchaの認証で入力ミスがありますと、コメントが消えてしまいますのでご注意ください。
コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。