错误、漏洞、问题 - 页 1538

 

亲爱的开发者。

Build 1281 MT5 Windows 7 64

今天有一个更新


这个过程似乎是无止境的 :-)

重新启动后,它又想重新启动,如此反复。

2016.03.30 10:33:31.903 网络 '3143179':交易已启用--净值化模式

2016.03.30 10:33:31.903 网络 '3143179':终端与MetaQuotes软件公司同步。

2016.03.30 10:33:31.829 网络 '3143179': 上一次成功授权是在2016.03.30 10:33:05进行的

2016.03.30 10:33:31.829 网络 '3143179': 通过Access Point EU Frankfurt在MetaQuotes-Demo上授权(ping: 70.19 ms)。

2016.03.30 10:33:31.759 LiveUpdate 新的终端构建1286(IDE:1286,Tester:1286)已经可用。

 
Vladislav Andruschenko:

亲爱的开发者。

Build 1281 MT5 Windows 7 64

今天有一个更新


这个过程似乎是无止境的 :-)

重启后想再次重启,如此反复。

2016.03.30 10:33:31.903 网络 '3143179':交易已启用--净值化模式

2016.03.30 10:33:31.903 网络 '3143179':终端与MetaQuotes软件公司同步。

2016.03.30 10:33:31.829 网络 '3143179': 通过Access Point EU Frankfurt在MetaQuotes-Demo上授权(ping: 70.19 ms)。

2016.03.30 10:33:31.759 LiveUpdate 新的终端构建1286(IDE:1286,Tester:1286)已经可用。

带上完整的日志。
 
2016.03.30 10:48:54.402 Network '3143179': trading has been enabled - netting mode
2016.03.30 10:48:54.402 Network '3143179': terminal synchronized with MetaQuotes Software Corp.
2016.03.30 10:48:54.301 Network '3143179': previous successful authorization performed from  on 2016.03.30 10:33:30
2016.03.30 10:48:54.301 Network '3143179': authorized on MetaQuotes-Demo through Access Point EU Frankfurt (ping: 70.19 ms)
2016.03.30 10:48:54.230 LiveUpdate      new terminal build 1286 (IDE: 1286, Tester: 1286) is available
2016.03.30 10:48:54.021 MQL5.community  activated for 'Vladon', balance: 98.50
2016.03.30 10:48:53.122 Terminal        G:\РАБОТА\expforex\!!!$$$---MQL5---!!!\ROBOFOREX MT5
2016.03.30 10:48:53.122 Terminal        Windows 7 Ultimate (x64 based PC), IE 11.00, Intel Core i7-6700  @ 3.40 GHz, RAM: 21297 / 32684 Mb, HDD: 9730 / 1498122 Mb, GMT+02:00
2016.03.30 10:48:53.115 Terminal        MetaTrader 5 - RoboForex x64 build 1281 started (ROBOFOREX LP)
 
Vladislav Andruschenko:
这些并不是完整的日志。写信给servicedesk
 
comp:

当OnCalculate运行时,手动删除一个指标,OnDeinit会立即执行,有时与OnCalculate同时执行,而OnCalculate还没有完成,这是真的吗?

情况似乎是这样的。一个类有一个动态的 另一个类的实例数组,在析构器中被释放。

解构器只在OnDeinit中通过delete调用。

所以,当我在OnCalculate过程中取消勾选时,上面提到的数组开始自我清除,就像有人调用了析构器一样。这个人--OnDeinit。

结果是,我将得到NULL而不是类的实例。

我试着在OnCalculate中使用_StopFlag,但它没有帮助。

如何使OnDeinit不在OnCalculate的执行过程中而在之后运行?

如果我从OnDeinit中移除delete,我就不会再得到NULL。但在日志中,我得到一个逻辑泄漏的内存。所以它肯定是OnDeinit。我试图把睡眠放在里面。但似乎 "睡眠 "在指标中不起作用。我甚至试过这样做

  void MySleep( const uint Pause ) const
  {
    const uint StartTime = GetTickCount();
    
    while(GetTickCount() - StartTime < Pause)
      ;
      
    return;
  }

该指标似乎也忽略了这一点。

 
comp:

调试时我使用预定义的宏。是否也可以在不传递相关参数的情况下,方便地查出谁调用了该函数/方法?

你不能使用内置的MQL工具,你必须自己做,例如,对于调试版本,添加 "被调用函数的名称 "参数。
 
comp:

情况似乎是这样的。该类有一个动态的 另一个类的实例数组,该数组在析构器中被释放。

只有在OnDeinit中通过delete调用Destructor。

所以,当我在OnCalculate过程中取消勾选时,上面提到的数组开始自我清除,就像有人调用了析构器一样。这个人--OnDeinit。

结果是,我将得到NULL而不是类的实例。

我试着在OnCalculate中使用_StopFlag,但它没有帮助。

如何使OnDeinit不在OnCalculate的执行过程中而在之后运行?

如果我从OnDeinit中移除delete,我就不会再得到NULL。但在日志中,我得到一个逻辑泄漏的内存。所以它肯定是OnDeinit。我试图把睡眠放在里面。但似乎 "睡眠 "在指标中不起作用。我甚至试过这样做

该指标似乎也忽略了这一点。

请向Servicedesk提出请求,并给出OnDeinit函数的代码。
 
Ilyas:
请向Servicedesk发出请求,并给我OnDeinit函数的代码。

你能推荐一下如何人为地让OnCalculate 运行很长时间吗?这是个无奈的滑坡。

它只在复杂的指标(大量的计算)中发挥作用。当我移除计算时--一切正常,因为OnCalculate几乎是即时执行的。

 
comp:

如何让OnDeinit在OnCalculate之后运行,而不是在其间运行?


OnDeinit总是OnCalculate 之后执行。
 
comp:

你能推荐一下如何人为地让OnCalculate运行很长时间吗?这是个无奈的滑坡。

它只在复杂的指标(大量的计算)中发挥作用。当我删除计算时--一切正常,因为OnCalculate几乎是即时执行的。

#import "kernel32.dll"
    void Sleep(uint);
#import



 kernel32::Sleep(10000);