错误、漏洞、问题 - 页 1400

 

在升级到新版本(1178)后,当在图表上加载EA时,我在日志中得到以下错误,即从图表中卸载程序。

2015.10.14 21:04:50.571 TestLibrary (EURUSD,M30)        
2015.10.14 21:04:50.571 TestLibrary (EURUSD,M30)        00: 0x00000000028E1F21
2015.10.14 21:04:50.571 TestLibrary (EURUSD,M30)        
2015.10.14 21:04:50.571 TestLibrary (EURUSD,M30)                      00000000028 E1F37 C6467000          mov        byte [rsi+0x70], 0x0
2015.10.14 21:04:50.571 TestLibrary (EURUSD,M30)                      00000000028 E1F30 C686AD02000000    mov        byte [rsi+0x2ad], 0x0
2015.10.14 21:04:50.571 TestLibrary (EURUSD,M30)        
2015.10.14 21:04:50.571 TestLibrary (EURUSD,M30)                      00000000028 E1F2E 7 CA0              jl         0x28e1ed0
2015.10.14 21:04:50.571 TestLibrary (EURUSD,M30)                      00000000028 E1F2C 39 C3              cmp        ebx, eax
2015.10.14 21:04:50.571 TestLibrary (EURUSD,M30)                      00000000028 E1F26 8 B868B000000      mov        eax, [rsi+0x8b]
2015.10.14 21:04:50.571 TestLibrary (EURUSD,M30)                      00000000028 E1F24 FFC3              inc        ebx
2015.10.14 21:04:50.571 TestLibrary (EURUSD,M30)           crash -->  00000000028 E1F21 FF5728            call       qword near [rdi+0x28]
2015.10.14 21:04:50.571 TestLibrary (EURUSD,M30)        Access violation at 0x00000000028E1F21 read to 0x0000000D5D01E928 in 'D:\#MetaTrader\MetaTrader 5 Test\MQL5\Experts\#TestLibrary\Article02\TestLibrary.ex5'

//---

据我了解,这种情况发生在试图使用CChartObject::Timeframes(OBJ_NO_PERIODS)方法隐藏图形对象时。

P.S. 虽然没有,但这个问题很可能是由于其他原因造成的。试图本地化,将继续在servicedesk,打开一个应用程序。

 
transcendreamer:
作者已经意识到了这一点,并且正在努力思考它是如何发生的

作者经过深思熟虑,解决了这一问题,将在下次更新中出现。

该故障是经纪人的一个未被记录的特征

 
建1178。编译错误:'B' - 模板不匹配
class A { template<typename T> A( T ) {} };
class B;
class B {};
之前一切都很好
 
A100:
建1178。编译错误:'B' - 模板不匹配 ,但之前是正常的
谢谢你,我们会去看看的。
 
为什么在通过iCustom调用的指标中没有触发OnTimer事件?
 
Ilya Malev:
为什么在指标中没有触发OnTimer事件,通过iCustom调用?
从架构上看,定时器事件是一个图表事件,因此在这种情况下,指标不能接收它。
 
Anton:
从架构上看,定时器事件是一个图表事件,因此在这种情况下,指标不能接收它。
我怎样才能以编程方式 使通过iCustom调用的指标在没有刻度的情况下(如周末)进行绘制(即激起OnCalculate调用)?
 
如果该指标反过来调用其他指标,那么在离开OnInit后第一次自动调用OnCalculate 时,这些指标的数据将不会被计算,此外,该指标不能在不退出OnCalculate的情况下 "等待 "其计算。而在周末之前,不会有下一次对OnCalculate的调用,当第一个刻度开始时。在这种情况下,OnTimer和OnChartEvent都不能在这个指标中发挥作用,当收到数据时调用重绘。最后,我看到的唯一方法是--通过DLL从窗口的上下文菜单中调用图表中的 "刷新"--我认为开发者没有为MT5中的指标的正常工作规划这种方法。否则,用户将不得不按这个按钮,直到指标呈现出来,这很难让他高兴。
 
Ilya Malev:
如果该指标反过来调用其他指标,那么在离开OnInit后第一次自动调用OnCalculate 时,这些指标的数据将不会被计算,此外,该指标将无法 "等待 "它们的计算而不退出OnCalculate。而在周末之前,不会有下一次对OnCalculate的调用,当第一个刻度开始时。在这种情况下,OnTimer和OnChartEvent都不能在这个指标中发挥作用,当收到数据时调用重绘。最后,我看到的唯一方法是--通过DLL从窗口的上下文菜单中调用图表中的 "刷新"--我认为开发者没有为MT5中的指标的正常工作规划这种方法。否则,用户将不得不在图表前按这个按钮等待,直到指标呈现,这很难让他高兴。

如果为MT4。

这将无法工作?https://www.mql5.com/ru/code/11678

ChartRefresh
ChartRefresh
  • 投票: 11
  • 2014.08.13
  • Alexandr Bryzgalov
  • www.mql5.com
Скрипт для принудительно обновления текущего графика.
 
Alexandr Bryzgalov:
它不像这样工作?https://www.mql5.com/ru/code/11678

这个脚本适用于MetaTrader 4 :)

在MT4中,所有的数据都是由终端计算出来的,然后再由mql4程序接收。