2016-12-01 134 views
0

我在更高時間範圍內獲取時間值的問題。我測試我的智能交易測試中,當我嘗試使用功能iTime()PERIOD_D1參數我總是收到的1970.01.01 00:00:00的值。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

我只補充一點,我的MetaTrader終端圖設置爲:

Max bars in history: 1250000 
Max bars in chart: 1250000 

你有什麼建議,我怎麼能解決這個問題?

也許有其他一些設置或環境限制,我不知道?

回答

0

可能您的磁盤空間不足或沒有數據。

爲了運行MetaTrader的終端策略測試,你需要的數據,你可以按F2檢查,然後選擇一個符號和時間表。

如果沒有數據(即在D1) - 按Download按鈕來獲取數據,然後再次運行策略測試。

我希望有幫助。