MQL4MQL5 出力・通知・状態
Sleep()
- できること
- 指定したミリ秒だけ処理を止める
- 対応
- MQL4・MQL5
Sleep() とは
指定した時間(ミリ秒)だけ処理を止める関数です。注文に失敗したときに少し待ってから再試行する、といった使い方をします。
Sleep() の書式と引数
void Sleep(int milliseconds)| 引数 | 型 | 省略時 | 説明 |
|---|---|---|---|
milliseconds | int | 必須 | 止める時間(ミリ秒)。1000 で1秒。 |
戻り値
なし
Sleep() の使い方(コード例)
MQL4・MQL5 共通
for(int i = 0; i < 3; i++)
{
if(SymbolInfoDouble(_Symbol, SYMBOL_BID) > 0) break;
Sleep(500); // 0.5秒待って再確認
}OnTick()・OnStart() などの関数の中に書いて使う例です。MetaEditor でコンパイルできることを確認済みです。
Sleep() の注意点
- インジケーターでは使えません。EA とスクリプトで使います。
- ストラテジーテスターでは実際には待たず、テスト内の時間だけが進みます。
- 長く止めると、その間のティックを取りこぼします。
Sleep() でよく出るエラー
Sleep() を使う逆引きレシピ
関連する関数
出力・通知・状態の関数一覧
- 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












