使用iClose/iOpen时间序列访问等工作时的MQL5错误。 - 页 6

 

我确实发现iTime在PERIOD_M1上挂了。


我的系统。

2018.11.15 10:03:35.115 Terminal        MetaTrader 5 x64 build 1944 started (MetaQuotes Software Corp.)
2018.11.15 10:03:35.118 Terminal        Windows 10 (build 17134) x64, IE 11, UAC, Intel Core i3-3120 M  @ 2.50 GHz, Memory: 4141 / 8077 Mb, Disk: 154 / 415 Gb, GMT+2
2018.11.15 10:03:35.118 Terminal        C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075

运行正常,没有便携式。

在澳元兑美元,M5,我在10:08:20运行了 "Test CopyTime.mq5"。

2018.11.15 10:08:20.159 Experts expert Test CopyTime (AUDUSD,Daily) loaded successfully

专家顾问代码

//+------------------------------------------------------------------+
//|                                                Test CopyTime.mq5 |
//|                              Copyright © 2018, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2018, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   datetime CM1_T[1];
   datetime CM2_T[1];
   CopyTime(_Symbol,PERIOD_M1,0,1,CM1_T);
   CopyTime(_Symbol,PERIOD_CURRENT,0,1,CM2_T);
   Comment("CopyTime PERIOD_CURRENT: "+TimeToString(CM2_T[0],TIME_DATE|TIME_SECONDS)+"\n"+
           "CopyTime PERIOD_M1: "+TimeToString(CM1_T[0],TIME_DATE|TIME_SECONDS));
  }
//+------------------------------------------------------------------+

然后在

2018.11.15 10:27:45.583 Network '10169544': connection to MetaQuotes-Demo lost

强行切断与互联网的连接(路由器关闭)。


在重新连接到

2018.11.15 10:32:58.823 Network '10169544': authorized on MetaQuotes-Demo through Access Point EU 2 (ping: 50.64 ms)

编码

CopyTime(_Symbol,PERIOD_M1,0,1,CM1_T)

已经不再提供M1上的一个条形图的当前开盘时间,而是一直提供连接中断前的最后时间。


2018.11.15 10:08:20.159 Experts expert Test CopyTime (AUDUSD,Daily) loaded successfully
2018.11.15 10:27:45.583 Network '10169544': connection to MetaQuotes-Demo lost
2018.11.15 10:32:58.823 Network '10169544': authorized on MetaQuotes-Demo through Access Point EU 2 (ping: 50.64 ms)
2018.11.15 10:32:58.823 Network '10169544': previous successful authorization performed from 178.165.123.77 on 2018.11.15 10:03:38
2018.11.15 10:32:58.900 Network '10169544': terminal synchronized with MetaQuotes Software Corp.
2018.11.15 10:32:58.900 Network '10169544': trading has been enabled - hedging mode
2018.11.15 10:33:00.653 Network '10169544': scanning network for access points
2018.11.15 10:33:19.062 Network '10169544': scanning network finished
2018.11.15 10:33:19.062 Network '10169544': auto connecting to a better access point with 95 % quality (previous: 88 %)
2018.11.15 10:33:19.062 Network '10169544': connection to MetaQuotes-Demo lost
2018.11.15 10:33:19.716 Network '10169544': authorized on MetaQuotes-Demo through Access Point EU 4 (ping: 65.57 ms)
2018.11.15 10:33:19.716 Network '10169544': previous successful authorization performed from 178.165.123.77 on 2018.11.15 10:32:58
2018.11.15 10:33:19.825 Network '10169544': terminal synchronized with MetaQuotes Software Corp.
2018.11.15 10:33:19.825 Network '10169544': trading has been enabled - hedging mode


也许它是一个静态数组

datetime CM1_T[1];

并且需要使用动态数组


新增: 用动态的CM1_T[]替换CM1_T[1]。在强行中断连接约三分钟后,字符串

CopyTime(_Symbol,PERIOD_M1,0,1,CM1_T)

输出断开链接前与M1的最后已知时间。

附加的文件:
 
Vladimir Karputov:

我确实发现iTime在PERIOD_M1上挂了。

我的系统。

运行正常,没有便携式。

在澳元兑美元,M5,我在10:08:20运行了 "Test CopyTime.mq5"。

专家顾问代码

然后在

强行切断与互联网的连接(路由器关闭)。

在重新连接到

编码

已经不再提供M1上的一个柱子的当前开盘时间,而一直提供连接中断前的最后时间。

也许它是一个静态数组

并需要使用一个动态数组

试着把它放在M30上,也从M30获得数据。这正是它冻结的方式,这在视频中显示。切换时间框架没有帮助,只有删除指标,然后再安装它。

 
Vitaly Muzichenko:

试着把它放在M30上,也从M30上获取数据。这正是我获得冻结的方式,在视频中显示了这一点。切换时间框架没有帮助,只有删除指标,然后再安装它。

我确认,玩重装指标并不是100%的帮助,所以说,每3次我设法完全重装指标,当然也不能用咖啡渣来猜测,卸下指标,在工具上重装更容易。

但这是一个地狱般的东西,在这种带着手鼓的舞蹈中,我们能谈论什么样的交易自动化。

 
Vladimir Karputov:

*** 也许是静态阵列的问题

我有动态数组,因为原来写的是在SoruXXX使用它们更好,问题不在于数组的类型。

 
你知道,在工作中,我不得不经常给不同公司的技术支持写信(赛门铁克、DeviceLock、卡巴斯基、FortiNet、Xspider等),但以前我从来没有找过我描述的问题的原因,mda ....。现在只剩下给自己写一份修复方案了:)
 
Farkhat Guzairov:

...但不幸的是,MQ产品,大约10年来一直是我的重点。

再过10年,一切都会正常运作 )))))))))))))))))))))

 
大约六个月前,我也有过类似的问题。我在写一个套利机器人,所以我同时在处理一大串的人物。 在写一个套利机器人,所以我同时在处理一个大的符号列表。机器人被保护起来,不能用过期的报价工作,所以问题只是活动减少。唯一有帮助的是将EA重新连接到图表上。
 
我们将进行转载和更正。
 
Renat Fatkhullin:
我们将进行转载和更正。

我们多久可以期待一次修正?

 
Farkhat Guzairov:

我们多久可以期待一个修复?

重新连接后的外星人看不见的时间框架更新的冻结问题已经得到处理和修复。原因是重新连接后的错误缓存状态。

1946年的测试版可通过帮助->检查桌面更新->最新测试版获得。