MQL4MQL5 EA(エキスパートアドバイザー) 通知・表示
音だけ鳴らしたい
結論:PlaySound("ファイル名.wav") を使います。アラート画面を出さずに音だけで知らせられます。
考え方
PlaySound() は、ターミナルの Sounds フォルダにある wav ファイルを鳴らします。アラートの画面がじゃまなときや、条件ごとに違う音で区別したいときに使います。ここでは「スプレッドが指定値より広がったら音で知らせる」EA を例にしています。
- 鳴らしたい wav ファイルを、MT4・MT5 のデータフォルダの Sounds フォルダに入れる(alert.wav などは最初から入っている)
- 条件が変化したときだけ PlaySound("ファイル名") を呼ぶ
そのまま使えるコード
MetaEditor の「新規作成」で「エキスパートアドバイザ(テンプレート)」を選び、できたファイルの中身をすべてこのコードに置き換えてコンパイル(F7)します。ファイルは Experts フォルダに保存され、ナビゲーターからチャートにドラッグして使います。
MQL4・MQL5 共通
#property strict
// スプレッドが広がったら音を鳴らす EA
input int InpMaxSpread = 30; // 許容スプレッド(ポイント)
input string InpSound = "alert.wav"; // 鳴らすファイル(Sounds フォルダ)
bool wasWide = false;
int OnInit()
{
return INIT_SUCCEEDED;
}
void OnTick()
{
int spread = (int)SymbolInfoInteger(_Symbol, SYMBOL_SPREAD);
bool wide = (spread > InpMaxSpread);
if(wide && !wasWide) // 広がった瞬間だけ鳴らす
{
PlaySound(InpSound);
Print("スプレッド拡大:", spread, " ポイント");
}
wasWide = wide;
}MT4 版・MT5 版とも MetaEditor でコンパイル(エラー・警告なし)を確認済みです。実際の口座で使う前に、デモ口座やストラテジーテスターで動作を確かめてください。
カスタマイズのポイント
- 自分で用意した wav ファイルも、Sounds フォルダに置けば名前で指定できます。
注意点
- ストラテジーテスターでは音は鳴りません。












