iCustom()関数でカスタムインジケーターを使ってEAを作る際、カスタムインジケーターのラインインデックスが何番のものを使えばよいかは、インジケーター設定ダイアログの「色の設定」でなんとなくわかります。
次の図は、VQの「色の設定」タブで、#0(インデックス0番)の幅を最大にして表示させた状態のものです。
色や幅で、下記の表の通りの番号になることがわかります。
0番 | Yellow | ライン |
1番 | Green | 上昇ライン |
2番 | Red | 下降ライン |
3番 | Yellow | ↑矢印 |
4番 | Aqua | ↓矢印 |
使用する番号がわかったら、次にその番号がどのようになればシグナルとするかを知る必要があります。
CustomChecker_EAv2
パラメーターIndicatorNameにカスタムインジケーター名を入力すれば、#0~#7までの3本前・2本前・1本前・現在の値をチャート上に出力してくれるEAです。
下の図をみてください。
もし、現在の足の始値の時点で売りシグナル発生にしたい場合は、「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をお借りしたのですがうまく表示されません。
MQLで見てもエラーが起こってしまいます。
パラメータIndicatorのとこを名前を入れ直すとのことでしたが、Indicator nameの全てを書き換えればいいのでしょうか?
ちなみに私が値を出したいインジケータはチャート上にシグナルが出るインジケータになっています。
まったくのド素人なのでご面倒とは思いますがご返答頂ければ助かります。
何卒よろしくお願いします。
yuukiさん
こんにちは。ダウンロードしたファイルをそのままコンパイルしてみてください。
正常にコンパイルできたら、MT4画面のテスターで、このEAを選択して、パラメーター「IndicatorName」の欄に値を出したいインジケーター名を入力して、スタートします。
エラーが起こる場合は、どのようなエラーが起こっているかをお知らせください。
迅速なご対応ありがとうございます。
CustomChecker EAv2ダウンロードを押すと
プログラミング言語がズラリと表示されて
それをコピーし
MetaEditorで新たに新規作成から
ExpertAdviorを選択
あとはスルーして
fileを作成して
fileに表示されていた言語を消して
コピーしてあったCustomCheckerの言語を
張り付けてコンパイルするとエラーが18個表示させてしまいます。
double quotes are needed line17 Column67
この表記等が数個出ます。
解りづらく申し訳ありません。
何かダウンロードの仕方がいけないのでしょうか?
yuukiさん
こんにちは。
EAファイルを更新しましたので、再度試してみてください。
ブラウザのキャッシュで古いソースが表示される場合がありますので、コードが表示される画面を更新してからコピーしてみてください。
ご迷惑お掛けしております。
更新して頂いたEAで、なんの障害もなくダウンロード出来てコンパイルもエラーなく出来ました。
お陰様で左上に画像と一緒の数値が表示されました。
あとは自分の持っているカスタムインジケーターを
挿入すれば値を出してくれるのでしょうか?
私のパソコンが遅すぎてビジュアルチャートを出すのにも一時間ぐらいたって半分しか表示されていないので確認に時間がかかっている始末で。
yuukiさん
こんにちは。テスターの「エキスパート設定」ボタンでパラメーター入力画面を出してIndicatorNameにインジケーター名を入力して、ビジュアルモードをスタートさせてください。
はじめてご連絡させていただきます。
有益なEAやインジケーターに関する情報のご提供、いつも大変ありがとうございます。
今回、EA化を検討したいカスタムインジケーター(super-signals-channel-BOspecial)があり、インデックス番号を調べようと、CustomChecker_EAv2を使って表示させてみたところ、#0~#3まで及びCurrent~Shift3まで、すべての項目が0.00000000で表示されてしまいます。
値動きが発生してチャート上は矢印のシグナルが表れても、CustomChecker_EAv2上では全く変化が見られない状況です。
このことからこのインジケーターは、ご提供いただいておりますAlmightyEAforSignalIndicatorsを使ったEA化や、iCustom関数でのEA化は難しいと考えられますでしょうか?
このカスタムインジケーター(super-signals-channel-BOspecial)じたいはリペイントされてしまうのですが、それを了解したうえで、EA化できないものか悩んでいたのですが、基本的には不可と考えるべきでしょうか?
お手数ですが、何らかのご教示いただけましたら大変助かります。
kojiさん
こんにちは。
通常のsuper-signals-channelと同じような表示方法でしたら、iCustom()関数は使用可能と思います。操作履歴に「cannot open file ~」の出力がある場合は、インジケーター名が正確に入力されているかどうか確認してみてください。
表示方法が違う場合で、インジケーター設定ダイアログの「色の設定」タブでもインデックス番号が確認できない場合は、iCustom()関数は使用できないと思いますので、その他の方法を考える必要があります。
早速のご回答ありがとうございます。
私の不注意で申し訳ございません。ファイル名が不正確でした。
誤:super-signals-channel-BOspecial
正:super-signals-channel BOspecial (※ハイフン”‐”が1つ多かったです)
CustomChecker_EAv2のプロパティのindocatorName欄にコピペで貼り付けたので、ファイル名に誤りはないだろうと思っていたのですが、どうもコピー元が間違っていたようです。
ファイル名を正しく指定した結果、CustomCheckerに、シグナル発生時にレートが表示されるようになりました。
インジケーター設定ダイアログの「色の設定」タブでは、#0~#3までが表示され、矢印シグナルは#2(↓)、#3(↑)に該当いたします。
つきましては、AlmightyEAforSignalIndicatorsやiCustom関数でEA化を試みてみたいと思います。
この度はご教示頂き大変ありがとうございました。
こんにちは、CustomChecker EAv2を試してみました。
インジケーターは、矢印がでるタイプなのですが
CustomChecker EAv2でみてみると、#0のみがEMPTY VALUEとなっています。
矢印は上と下の2種類があるのですが、#0のみの1つしか出ないのは
正常でしょうか?
別の矢印のインジケーターは、ちゃんと#0,#1の2つがでます。
#0のみしかでない場合、どうやってArrow up /Arrow downを
判断したらいいですか?
Tanakaさん、こんにちは。
頂いたコメントからでは、#0以外がどのように表示されているかなどが分かりませんが、2種類の矢印が出るタイプでしたら色の設定タブで色や大きさを変化させて、矢印が#何番かを判定します。その#番号がどのような値を返すのかを出力すると判断できると思います。
素晴らしい
はじめまして。CustomChecker_EAv2のファンです。
ただ、例示されておりますVQですが、なぜか表内すべての表示が”Empty_Value”になってしまうのです。VQはMT4のbuild600以降(でしたっけ)ではそのままコンパイルするとエラーがでますが、そこを回避したVQを用いてもこの結果なのです。
また、試しにmqlのCommentで値を表示させようとしても1つの数字が出て以降は変化しないのです。けれども、サブウィンドウにはVQのグラフと矢印は表示されている状態になります。
何が悪いのでしょうか?(すでに、頭がオーバーヒート状態です)
はじめまして!!早速質問なのですがVolume意外EAにできないのでしょうか??
色の番号をいれても稼働しないです。また、13こ色の番号があってメタとレーダーで該当番号を探しても言語かされています。。あと、今勉強中でデコンパイラがほしいのが簡単なデコンパイラーってあるんでしょうか?dotpeekはだめでした
はじめまして、
現在、インジケーターを作成しており、内容はCCI、rsiを一つにまとめるという単純なものです。
表示はできたのですが、CCIとrsiの縦軸が大きく違うのでrsiの表示が小さくなります。
通常、インジケーターを重ねた場合は縦軸がどちらかの表示になりますが、大きさは変りません。
通常どおり重ねた表示の物を作成するには、どうしたらいいのでしょうか?
よろしくお願いします。
田村さん
こんにちは。
複数のインジケーターを1つにまとめた場合、重ねて表示させたときのように複数の縦軸を持つことはできません。
はじめまして!!早速質問なのですがVolume意外EAにできないのでしょうか??
色の番号をいれても稼働しないです。また、13こ色の番号があってメタとレーダーで該当番号を探しても言語かされています。。あと、今勉強中でデコンパイラがほしいのが簡単なデコンパイラーってあるんでしょうか?dotpeekはだめでした