【问题标题】:MQL4 Not enough memory for history dataMQL4 没有足够的内存来存储历史数据
【发布时间】:2021-07-23 02:33:55
【问题描述】:

我无法在更高的时间范围内获取柱的时间值。我正在测试仪中测试我的智能交易系统,当我尝试使用带有 PERIOD_D1 参数的函数 iTime() 时,我总是收到 @987654324 的值@

另外,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

[...]

当我调用其他采用 timeframe 参数的内置函数时,也会发生同样的事情。例如 iMA()iCCI()iRSI()

文档表明上述函数可以接受任何时间范围值:https://docs.mql4.com/series/itime

我将补充一点,我的 MetaTrader 终端图表设置是:

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

您有什么建议可以解决这个问题吗?

也许还有其他一些设置或环境限制,我不知道?

【问题讨论】:

    标签: mql4 metatrader4


    【解决方案1】:

    您的磁盘可能没有空间或没有数据。

    为了运行 MetaTrader 终端策略测试器,您需要数据,您可以通过按 F2 并选择交易品种和时间范围来检查它。

    如果没有数据(即在 D1 ) - 按 Download 按钮获取该数据,然后运行再次使用策略测试器。

    希望对你有帮助。

    【讨论】:

      【解决方案2】:

      这基本上意味着 MT4 吃掉了你所有的 RAM 内存。 (可以在“任务管理器”中查看,按CTR+ALT+DEL)

      解决方案 转到工具 -> 选项 -> “图表中的最大条数”并设置为 5000

      ...你可能有一些巨大的数字。

      ..现在重启 MT4 一切正常。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-09
        • 1970-01-01
        • 2011-02-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-01
        相关资源
        最近更新 更多