错误、漏洞、问题 - 页 1864

 

我无法向SR发送回复。它犹豫了一分钟,然后发出了声音。

 
fxsaber:

我无法向SR发送回复。它犹豫了一分钟,然后发出了声音。

这是一种新的禁令))))。
 
stringo:

是的,按时间排序。最初的条目是通过二进制搜索来寻找的。

缓慢的二进制搜索原来是
#include <MT4Orders.mqh>

// Metaquotes-Demo, Netting, RTS-6.17, 2017.04.06 - 2017.04.07, на основе реальных тиков, начальный баланс 10000000 RUR
void OnTick()
{  
  static bool Error = false;  
  static int Type = OP_BUY;
  
  if (Error)
    return;
  
  MqlTick Tick;    

  if (OrderSelect(0, SELECT_BY_POS) && (OrderType() <= OP_SELL))
  {
    const datetime PosTime = (datetime)::PositionGetInteger(POSITION_TIME);      
    HistorySelect(PosTime, PosTime);

    OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 0);   
  }
  else if ((OrdersTotal() == 0) && SymbolInfoTick(_Symbol, Tick) && (Tick.bid != 0) && (Tick.ask != 0))
  {
    Error = (OrderSend(_Symbol, Type + OP_BUYLIMIT, 1, (Type == OP_BUY) ? Tick.ask : Tick.bid, 0, 0, 0, "", 0, 0, INT_MAX) == -1);        
    
    if (!Error)
    {
      OrderSend(_Symbol, Type + OP_BUYLIMIT, 1, (Type == OP_BUY) ? Tick.ask : Tick.bid, 0, 0, 0);
      
      Type = OP_SELL - Type;
    }    
  }
}

没有粉红色的线条,它的工作速度很快。有了它们,就会非常慢(几个数量级)。每个HistorySelect(PosTime, PosTime)从历史中挑选的记录不超过几十条。但是,那么所有的计算资源 是用来做什么的呢?真的只是在每次打勾时复制这几十条记录吗?

 

我再次遇到了一个问题,同一个EA在测试器和实时中的工作方式不同。起初我以为这是因为复杂的指标。然后我插上了内置的Bands。我从来没有见过这样的问题。

我有一个非常好的专家顾问,它工作得非常好。

OnInit - 我得到指标句柄

OnTick - 分析(复制到缓冲区)和交易

OnDeinit - 释放句柄。

我已经做了以下测试。根据方案实时修改算法。

OnTick - 获得指标手柄,分析(复制到指标缓冲区)和交易, 我释放手柄

还有,我的天哪!我的天哪一切都开始与测试者相吻合 !

它是什么?错误?或其他东西.....

 
Alexey Kravchenko:

它是什么?这是一个错误吗?或者是其他的东西.....


它是一个多货币指标吗?
 
Sergey Dzyublik:

它是一个多货币指标吗?
标准指标。EA多币种。
 
可能是被比较的选项之一不更新其他货币对。
也正因为如此,得到了不同的结果。
 
Sergey Dzyublik:
也许,我们正在比较的一个选项并没有更新其他货币对的数据。
这就是产生不同结果的原因。

所以这个更新 应该由终端 本身正确完成?

我在OnInit中为我工作的所有符号获得处理,并同步所有需要的时间段。我只在新条形物形成时处理它们。我的专家顾问是用 "左 "符号启动的 :-)

这不是重点,重点是在触发方面应该与实时没有区别。

而如果你需要每次都拿到指示器手柄才能正常工作,那就出问题了....。

 
Alexey Kravchenko:

所以这个更新必须由终端 自己正确完成?
而如果为了让一切工作正常进行,必须每次都得到指示器手柄,那么这就出了问题....。


请看这个主题中的答案,特别是来自开发者的答案,也许他们会有帮助。
https://www.mql5.com/ru/forum/190003

 

先生们!我为写这些东西深表歉意。但我需要帮助,正如他们所说的尽快。

我有一个终端错误,它已经停止连接自定义指标和EA。

像这样的日志

2017.04.20 18:18:59.764 自定义指标 载入AD(@Si,H1)失败。

这是更新初始安装后出现的 Examples 文件夹中的自定义指标。

其他所有定制的东西和指标以及EA都停止加载。突然间!(它在之前的工作和测试和交易中发挥了作用)

我相信有人以前也发生过类似的事情。

是否有修复办法?

谈到这个话题。

2017.04.20 18:48:00.931 专家 载入ExpertMACD(@Si,H1)失败。

2017.04.20 18:48:42.786 专家 载入ChartInChart(@Si,H1)失败。


感觉)好像没有找到路径......

我错过了什么?

重新定位了平台。在重新安装前删除了AppsData/.../Terminal中的文件夹。在同一轴上的另一台电脑上(W2008RC2),一切都在工作。

谢谢,检查了图片。

真的期待着答案......和建议。该怎么做。

2017.04.21 10:53:54.329 终端 MetaTrader 5 x64 build 1583 开始(MetaQuotes Software Corp.)

2017.04.21 10:53:54.329 终端 Windows Server 2008 R2 Enterprise (x64 based PC), IE 08.00, UAC, Intel Core i5

2017.04.21 10:53:54.329 Terminal C:\Users\Администратор\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075

2017.04.21 10:55:07.320 专家 载入MACD样本(EURUSD,H1)失败。

2017.04.21 10:55:45.669 自定义指标 AMA(EURUSD,H1)的加载失败。