特定の時間を参照する方法

 
Time[]とiTimeの使い方は理解していますが、特定の時間や時間範囲を参照するには、単にdatetimeを使用するのでしょうか?

https://docs.mql4.com/dateandtime/Hour

それがすべてですか?

アドバイスをお願いします

ありがとうございます。

 
特定の時間や範囲を 指す "という意味がよくわからないのですが、どういう意味なのか、例を挙げていただけますか?
 
おっと失礼しました

では、資料の中から例を挙げてみましょうか


if(Hour()>=12 || Hour()<17)
{
OrderSend code
}

または

if(Minute()>=720 || Minute()<725)   //I may not be using this correctly
         {
         int m=TimeMinute(TimeCurrent());
         Print (m, " Minutes");
        
DateTimeFunctionsを 理解していないようです。
 

ドキュメントを読んで、何を言っているのか理解する必要があります......仮定しないでください。

このリンクをクリックしてください -->Minute() " プログラムを開始した時点で、サーバーの時刻のうち最後に知られていたものの、現在の分 (0,1,2,...59) を返します(この値はプログラムの実行時間内では変わりません)"...つまりサーバー時刻が 12:34 の場合 Minute() は34を返します。

"this value will not change within the time of the program execution" これは tick から tick まで、つまり start() の実行ではなく EA の実行を意味していると思います。

 
私はここで何かを見逃している


文字列 var1=TimeToStr(TimeCurrent(),TIME_DATE|TIME_MINUTES);
Print (var1, " var1");

このようなプリントアウトをするのですか?私はここで何を見ている、それは日などをスキップしてランダムに印刷されるように思える。


2011.12.07 08:23:17 2011.10.14 11:55 タイムサンプリング EURUSD,M15: 2011.10.14 11:55 var1
2011.12.07 08:23:17 2011.10.14 11:55 タイムサンプリングEURUSD,M15: 2011.10.14 11:55 var1
2011.12.07 08:23:17 2011.10.14 11:55 タイムサンプリング EURUSD,M15:2011.10.14 11:55 var1
2011.12.07 08:23:17 2011.10.14 11:55 タイムサンプリング EURUSD,M15:2011.10.14 11:55 var1
2011.12.07 08:23:16 2011.10.12 00:59 タイムサンプリング EURUSD,M15: 2011.10.12 00:59 var1
2011.12.07 08:23:16 2011.10.12 00:59 タイムサンプリングEURUSD,M15: 2011.10.12 00:59 var1
2011.12.07 08:23:16 2011.10.12 00:59 タイムサンプリングEURUSD,M15: 2011.10.12 00:59 var1
2011.12.07 08:23:16 2011.10.12 00:58 タイムサンプリング EURUSD,M15:2011.10.12 00:58 var1
2011.12.07 08:23:16 2011.10.12 00:58 タイムサンプリングEURUSD,M15: 2011.10.12 00:58 var1
2011.12.07 08:23:16 2011.10.12 00:58 タイムサンプリングEURUSD,M15: 2011.10.12 00:58 var1
2011.12.07 08:23:16 2011.10.12 00:57 タイムサンプリングEURUSD,M15: 2011.10.12 00:57 var1
2011.12.07 08:23:16 2011.10.12 00:57 タイムサンプリングEURUSD,M15: 2011.10.12 00:57 var1
2011.12.07 08:23:15 2011.10.07 06:51 タイムサンプリング EURUSD,M15: 2011.10.07 06:51 var1
2011.12.07 08:23:15 2011.10.07 06:51 タイムサンプリング EURUSD,M15: 2011.10.07 06:51 var1
2011.12.07 08:23:15 2011.10.07 06:51 タイムサンプリング EURUSD,M15: 2011.10.07 06:51 var1
2011.12.07 08:23:15 2011.10.07 06:51 タイムサンプリング EURUSD,M15: 2011.10.07 06:51 var1
2011.12.07 08:23:15 2011.10.07 06:51 タイムサンプリング EURUSD,M15: 2011.10.07 06:51 var1
2011.12.07 08:23:15 2011.10.07 06:51 タイムサンプリング EURUSD,M15: 2011.10.07 06:51 var1
2011.12.07 08:23:15 2011.10.07 06:51 タイムサンプリング EURUSD,M15: 2011.10.07 06:51 var1
2011.12.07 08:23:15 2011.10.07 06:50 タイムサンプリング EURUSD,M15: 2011.10.07 06:50 var1
2011.12.07 08:23:14 2011.10.04 17:42 タイムサンプリング EURUSD,M15: 2011.10.04 17:42 var1
2011.12.07 08:23:14 2011.10.04 17:42 タイムサンプリング EURUSD,M15:2011.10.04 17:42 var1
2011.12.07 08:23:14 2011.10.04 17:42 タイムサンプリング EURUSD,M15:2011.10.04 17:42 var1
2011.12.07 08:23:14 2011.10.04 17:42 タイムサンプリング EURUSD,M15:2011.10.04 17:42 var1
2011.12.07 08:23:14 2011.10.04 17:42 タイムサンプリング EURUSD,M15:2011.10.04 17:42 var1
2011.12.07 08:23:14 2011.10.04 17:42 タイムサンプリング EURUSD,M15:2011.10.04 17:42 var1
2011.12.07 08:23:14 2011.10.04 17:42 タイムサンプリング EURUSD,M15:2011.10.04 17:42 var1
2011.12.07 08:23:14 2011.10.04 17:42 タイムサンプリング EURUSD,M15:2011.10.04 17:42 var1

 
Agent86:

私はここで何を見ているのだろう。

一番上の1行目を見てください .................................これがヒントです ...

2011.12.07 08:23:172011.10.14 11:55タイムサンプリングEURUSDM15:2011.10.14 11:55 var1
今日/今STの時間EA/スクリプト/インジケータ名インジケータ時間帯STの時間 "と同じ

あなたの問題は何ですか? もし、あなたのSTが、あなたが散発的に実行しているものを実行しているような理由なら、私はあなたのコードを見ることができないので、助けることができません。...またはあなたがそれでやっていること。

 
EURUSD, M15のチャートを開き、右クリック→更新でSTの履歴を残し、テストをやり直してください。
 
OK、ありがとうございます。

私はこれをすべて間違って見ている可能性があります。

多分、私は単にif(Time[1] >= 18:00 && Time[1] < 21:00)または時間指定された取引を作成するためのいくつかのようなスキームを参照する必要があります。

この方法で時間帯を作ることができるのでしょうか?
トレードを行うための時間幅を作成する最も典型的な方法が何なのか、本当によくわからないのです

皆さん、ありがとうございます。
 
Agent86:
OK、すべてありがとうございます

私はこれをすべて間違って見ている可能性があります。

多分、私は単に if(Time[1] >= 18:00 && Time[1] < 21:00) のようなものを参照する必要があり、時間指定取引を作成するための何らかのスキームが必要なのでしょう。

Time[x]はdatetimeを 返すのでダメです ... ... でもできます ...

if(TimeHour(Time[1]) >= 18 && TimeHour(Time[1]) < 21)

TimeHourを 読み込む

 
または
datetime now = Time[0],
         bod = now - now % 86400,
         HR1800 = bod + 18*3600,
         HR2100 = bod + 21*3600;
if (Time[1] >= HR1800 && Time[1] < HR2100) ...
参照
 
みんなありがとう、これでこのテーマをやり遂げるのに十分なはずだ

読み込んで、コードを作ってみます。

ありがとうございます。