Sleep 関数
指定した時間の間、EA又はスクリプトの実行を一時停止します。
カスタムインジケータで Sleep関数を呼び出すことはできません。これはインジケータがインターフェイススレッドでの実行中、速度を低下させないためです。
この関数には、0.1秒ごとの EA停止フラグのチェックが組み込まれています。
Sleep関数は、ストラテジーテスターで EAを実行しても一時停止されません。
データ型と構成・戻り値
void Sleep(①);
戻り値は無し。
引数 [1]
Sleep関数は 1個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | milliseconds | int | ミリ秒 | - | 一時停止する時間をミリ秒単位で設定。 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関数を削除するかコメント化して無効にして実行してみてください。