解決済み

元のカスタムインジケーターのアラートが出る

2026/03/30 23:40
45

お世話になっております。Aというカスタムインジケータを利用しそれにフィルターを設定し新たにBというインジを作成しました。それにはアラート機能はつけてないのですがチャートに反映するとAのアラートが出てしまいます。Aはチャートに反映していません。これはどういう事でしょうか?

コメント

GogoJungle
2026/04/02 11:15

「カスタムインジケーターAをベースにしたBを使っているのに、Aのアラートが出てしまう」というご質問ですね。

結論から申し上げますと、Bの中でAのインジケーターが内部的に呼び出されているため、Aのアラート機能も一緒に動作している可能性が高いです。


よくある原因

今回のケースは、以下のような構造になっている可能性が高いです。

  • B(自作インジ)

    • 内部でA(元インジ)を iCustom 等で呼び出している
      → この時、Aの「アラート処理」も一緒に実行される

つまり、チャート上にAを表示していなくても、プログラム内部ではAが動いているため、アラートが出てしまいます。


こうなっていませんか?

以下のような状態になっている可能性があります。

  • Bの設定で
    「カスタムインジケーター」→ Aを指定している

  • A側に

    • Alert()
    • PlaySound()
    • SendNotification()
      などの処理が入っている

回避方法(推奨順)

方法①:AのアラートをOFFにする

最も簡単な方法です。

  • Aに「アラートON/OFF」のパラメータがある場合
    OFFに設定した状態でBから呼び出す

ただし、AにON/OFF機能が無い場合は次の方法になります。


方法②:Aを改造してアラートを削除(または無効化)

EAつくーる/インジつくーる単体では制御できないため、必要に応じてMQL側の修正になります。

具体的には:

  • Aのmq4 / mq5を開く
  • 以下のような処理をコメントアウト
Alert("...");
PlaySound("...");
SendNotification("...");

または

if(false){
   Alert(...);
}

のようにして無効化します。


方法③:アラート無し版のAを別途用意する

実務的にはこれが一番安全です。

  • Aをコピーして「A_noAlert」などを作る
  • アラート部分だけ削除
  • Bではその「A_noAlert」を参照する

EAつくーる/インジつくーる的な補足

EAつくーる・インジケーターつくーるの「カスタムインジケーター」機能は、

  • 値を取得するだけでなく、そのインジ自体も内部実行される

という仕様です。

そのため、

  • アラート
  • 描画処理
  • 通知

などもそのまま動作してしまう点に注意が必要です。


まとめ
  • BからAを呼び出している限り、Aは「見えなくても動いている」

  • そのためAのアラートも発動する

  • 対策は

    • AのアラートをOFF
    • もしくはアラート削除版を作る

関連トピックス

検索結果がありません。

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

注目トピックス

検索結果がありません。