2016-12-01 19 views
0

バーの時間値を取得する際に問題があります。私は、私はいつも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 

は、あなたが何か提案はありますか

ドキュメントは、上記の機能は、任意の時間枠の値を受け入れることができますことを示唆しています問題?

その他の設定や環境の制限があるかもしれませんが、わかりません。

答えて

0

おそらくディスクに空き容量がないか、データがありません。

メタトレーダーターミナル戦略テスターを実行するために、あなたはF2を押すことによって、それを確認し、シンボル時間枠を選択することができ、データを必要としています。

(すなわちD1で)データがない場合 - そのデータを取得し、再度戦略テスターを実行するためにDownloadボタンを押してください。

私は役立つことを願っています。

関連する問題