一時停止させる Sleep 関数

関数

共通関数

Sleep 関数

 指定した時間の間、EA又はスクリプトの実行を一時停止します。

 カスタムインジケータで Sleep関数を呼び出すことは出来ません。これはインジケータがインターフェイススレッドでの実行中、速度を低下させないためです。
 この関数には、0.1秒ごとの EA停止フラグのチェックが組み込まれています。
 Sleep関数は、ストラテジーテスターで EAを実行しても一時停止されません。

データ型と構成・戻り値

void Sleep(①);

 戻り値は無し。

引数 [1]

 Sleep関数は 1個の引数で構成されます。


引数名データ型単位初期値説明
millisecondsintミリ秒一時停止する時間をミリ秒単位で設定。
1000ミリ秒 = 1.0秒

使用例

Sleep 関数を使った現在時刻の表示

 Sleep関数を使って 2秒間隔で 5回現在時刻を取得するコードです。

コード

// Sleep関数 動作確認
#property strict

void OnInit() {
   for(int i=0; i < 5; i++){ 

      datetime nowTime = TimeLocal();
      
      Sleep(2000); // 2秒間一時停止
      
      Print("★現在時刻:",nowTime);
   }
}

コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果

 2秒間の一時停止で 2秒間隔で現在時刻が取得されていることが分かります。


 以下は、Sleep関数を使わないで処理をした結果です。処理に時間がかからないので同じ時刻が取得されることになります。
 コードの 9行目の Sleep関数を削除するかコメント化して無効にして実行してみてください。

タイトルとURLをコピーしました