Sleep()関数|指定時間スリープ

執筆者

佐川直弘(株式会社トリロジー取締役)

MetaTrader4(MT4)を使用して自動売買EAを開発する際、特定の処理を一時停止させて再開したい場合があります。このような場合に、Sleep()関数を使用してプログラムを指定時間スリープ(停止)させることができます。この記事では、Sleep()関数の使い方とその使用例について解説します。初心者でも理解しやすいように、各ステップを詳しく説明します。

Sleep()関数|指定時間スリープする方法

MT4でプログラムを指定時間スリープさせるには、Sleep()関数を使用します。スリープとはプログラムを一時的に停止させることで、指定した時間が経過した後に再び動作を再開させることができます。

Sleep()関数の仕様
void Sleep(int milliseconds)
– milliseconds:スリープ時間(ミリ秒)
注意点
カスタムインディケータから呼び出すことはできません。

この関数は戻り値を持ちません。指定された時間だけプログラムを一時停止させます。

以下に、具体的なサンプルコードを示します。

サンプルコード
int start() {
    // 10秒間スリープする
    Print(“スリープ開始");
    Sleep(10000);  // 10000ミリ秒(10秒)間スリープ
    Print(“スリープ終了");
}

実際の利用例

外部APIを呼び出す際に、APIのレート制限に対応するため、一定時間スリープさせることができます。

API呼び出しの待機時間を設定する

まとめ

MT4でのスリープ方法について解説しました。Sleep()関数を活用することで、特定の処理を一時停止させることができ、柔軟なプログラム設計が可能になります。サンプルコードを参考に、自動売買EAの機能をさらに拡張してください。

MQL4

Posted by 佐川直弘