MQL4MQL5 出力・通知・状態
Alert()
- できること
- アラート画面を出して音を鳴らす
- 対応
- MQL4・MQL5
Alert() とは
アラートのウィンドウを表示し、音を鳴らす関数です。インジケーターでサインが出たことを知らせるときによく使います。
Alert() の書式と引数
void Alert(...)引数はありません。
戻り値
なし
Alert() の使い方(コード例)
MQL4・MQL5 共通
static datetime lastAlert = 0;
datetime bar = iTime(_Symbol, PERIOD_CURRENT, 0);
if(bar != lastAlert)
{
lastAlert = bar;
Alert(_Symbol, " 新しい足ができました");
}OnTick()・OnStart() などの関数の中に書いて使う例です。MetaEditor でコンパイルできることを確認済みです。
Alert() の注意点
- 同じ足の間に何度も鳴らないよう、「最後に鳴らした足の時刻」を覚えておいて、新しい足でだけ鳴らすようにします。
- ストラテジーテスターでは表示されません。
- スマホに通知したいときは SendNotification() を使います。
Alert() を使う逆引きレシピ
- アラートウィンドウを出したいAlert() を使います。ポップアップの画面が開き、音も鳴ります。
- 同じ足で何度もアラートが鳴らないようにしたい最後にアラートを出した足の時刻を覚えておき、同じ足なら鳴らさないようにします。
- 手で引いた水平線にタッチしたら知らせたいObjectGetDouble(0, 線の名前, OBJPROP_PRICE) で水平線の価格を読み、現在値と比べます。
- RSI の買われすぎ・売られすぎでサインを出したいRSI を2本分取得し、30 を下から上に戻ったら買いサイン、70 を上から下に戻ったら売りサインと判定します。
- MACD とシグナルのクロスを判定したいMACD のメインライン(バッファ 0)とシグナルライン(バッファ 1)を2本分取得し、上下の入れ替わりを比べます。
- ボリンジャーバンドの ±2σ タッチを判定したいiBands() で上のバンド・下のバンドの値を取得し、確定足の高値・安値(または終値)と比べます。
- 前日の高値・安値ブレイクを判定したいiHigh(_Symbol, PERIOD_D1, 1)・iLow(_Symbol, PERIOD_D1, 1) で前日の高値・安値を取得し、現在値と比べます。
- 損失が一定を超えたら EA を止めたい有効証拠金が開始時の残高の◯%を下回ったら新規注文をやめ、必要なら ExpertRemove() で EA を外します。
関連する関数
出力・通知・状態の関数一覧
- PrintFormat
- Comment
- Alert
- SendNotification
- SendMail
- PlaySound
- MessageBox
- GetLastError
- ResetLastError
- Sleep
- GetTickCount
- IsStopped
- IsTradeAllowed
- IsTesting
- MQLInfoInteger
- TerminalInfoInteger
- EventSetTimer
- EventSetMillisecondTimer
- EventKillTimer
- ExpertRemove
- UninitializeReason
- WebRequest
- IsConnected
- IsExpertEnabled
- IsOptimization
- IsVisualMode
- MQLInfoString
- TerminalInfoString
- TesterStatistics












