タイトルが入力されていません。
コンテンツがありません。
There have no category
There have no subcategory
お世話になっております。Aというカスタムインジケータを利用しそれにフィルターを設定し新たにBというインジを作成しました。それにはアラート機能はつけてないのですがチャートに反映するとAのアラートが出てしまいます。Aはチャートに反映していません。これはどういう事でしょうか?
「カスタムインジケーターAをベースにしたBを使っているのに、Aのアラートが出てしまう」というご質問ですね。
結論から申し上げますと、Bの中でAのインジケーターが内部的に呼び出されているため、Aのアラート機能も一緒に動作している可能性が高いです。
今回のケースは、以下のような構造になっている可能性が高いです。
B(自作インジ)
iCustom
つまり、チャート上にAを表示していなくても、プログラム内部ではAが動いているため、アラートが出てしまいます。
以下のような状態になっている可能性があります。
Bの設定で 「カスタムインジケーター」→ Aを指定している
A側に
最も簡単な方法です。
ただし、AにON/OFF機能が無い場合は次の方法になります。
EAつくーる/インジつくーる単体では制御できないため、必要に応じてMQL側の修正になります。
具体的には:
Alert("..."); PlaySound("..."); SendNotification("...");
または
if(false){ Alert(...); }
のようにして無効化します。
実務的にはこれが一番安全です。
EAつくーる・インジケーターつくーるの「カスタムインジケーター」機能は、
という仕様です。
そのため、
などもそのまま動作してしまう点に注意が必要です。
BからAを呼び出している限り、Aは「見えなくても動いている」
そのためAのアラートも発動する
対策は
コメント文がありません。
「カスタムインジケーターAをベースにしたBを使っているのに、Aのアラートが出てしまう」というご質問ですね。
結論から申し上げますと、Bの中でAのインジケーターが内部的に呼び出されているため、Aのアラート機能も一緒に動作している可能性が高いです。
よくある原因
今回のケースは、以下のような構造になっている可能性が高いです。
B(自作インジ)
iCustom等で呼び出している→ この時、Aの「アラート処理」も一緒に実行される
つまり、チャート上にAを表示していなくても、プログラム内部ではAが動いているため、アラートが出てしまいます。
こうなっていませんか?
以下のような状態になっている可能性があります。
Bの設定で
「カスタムインジケーター」→ Aを指定している
A側に
などの処理が入っている
回避方法(推奨順)
方法①:AのアラートをOFFにする
最も簡単な方法です。
→ OFFに設定した状態でBから呼び出す
ただし、AにON/OFF機能が無い場合は次の方法になります。
方法②:Aを改造してアラートを削除(または無効化)
EAつくーる/インジつくーる単体では制御できないため、必要に応じてMQL側の修正になります。
具体的には:
または
のようにして無効化します。
方法③:アラート無し版のAを別途用意する
実務的にはこれが一番安全です。
EAつくーる/インジつくーる的な補足
EAつくーる・インジケーターつくーるの「カスタムインジケーター」機能は、
という仕様です。
そのため、
などもそのまま動作してしまう点に注意が必要です。
まとめ
BからAを呼び出している限り、Aは「見えなくても動いている」
そのためAのアラートも発動する
対策は