バーの時間値を取得する際に問題があります。私は、私はいつも1970.01.01 00:00:00
の値を受け取るPERIOD_D1
パラメータを持つ関数iTime()
を使用しようとすると、私はテスターの私のエキスパートアドバイザーをテストしています。MQL4履歴データのメモリが不足しています
また、GetLastError()
関数は、 "not enough memory for history data
"というメッセージを返します。テスターが数日間のデータを処理していたとしても、これはすべての時間繰り返されます。
datetime t = iTime(Symbol(), PERIOD_D1, 0);
Print("Trend tick time: " + t);
int check1 = GetLastError();
if ( check1 != ERR_NO_ERROR) Print("Error: ", ErrorDescription(check1));
そして、私はこのような出力を取得しています:
0 22:33:24 2016.06.29 08:00 HLR FDE30,M1: Trend tick time: 1970.01.01 00:00:00
0 22:33:24 2016.06.29 08:00 HLR FDE30,M1: Error: not enough memory for history data
0 22:33:25 2016.06.30 08:00 HLR FDE30,M1: Trend tick time: 1970.01.01 00:00:00
0 22:33:25 2016.06.30 08:00 HLR FDE30,M1: Error: not enough memory for history data
0 22:33:26 2016.07.01 08:00 HLR FDE30,M1: Trend tick time: 1970.01.01 00:00:00
0 22:33:26 2016.07.01 08:00 HLR FDE30,M1: Error: not enough memory for history data
[...]
そして、私は時間枠を取り、他のビルドで関数を呼んでいるときも同じことが起こるベローは、私が実行しようとするコードですパラメータ。たとえば、iMA()
,iCCI()
,iRSI()
のようになります。 https://docs.mql4.com/series/itime
私はちょうど私のメタトレーダーターミナルチャートの設定があることを追加します::私はこれを解決する方法を
Max bars in history: 1250000
Max bars in chart: 1250000
は、あなたが何か提案はありますか
ドキュメントは、上記の機能は、任意の時間枠の値を受け入れることができますことを示唆しています問題?
その他の設定や環境の制限があるかもしれませんが、わかりません。