错误、漏洞、问题 - 页 215

 

难道还不能在Yeditor中打印选中的片段吗?现在,这个单选按钮没有被激活。

当然,这是一件小事,但令人不快,特别是当清单有50页之多时。

 

服务器似乎已经冻结了...从昨天开始。

 

遗传算法已经在某处消失了......构建360

问题已删除!看错地方了!

 

我们能否依靠HistorySelectByPosition() 返回一个ORDERED的交易列表?

ulong CExpertAdvisor::GetDealByOrder(ulong order) // получение тикета сделки по тикету ордера
  {
   PositionSelect(m_smb);
   HistorySelectByPosition(PositionGetInteger(POSITION_IDENTIFIER));
   uint total=HistoryDealsTotal();
//   for(uint i=0; i<total; i++)
   for(uint i=total-1; i>=0; i--)
     {
      ulong deal=HistoryDealGetTicket(i);
      if(order==HistoryDealGetInteger(deal,DEAL_ORDER))
         return(deal);                            // запомнили тикет сделки 
     }
   return(0);
  } 

如果不是这样,列举可以从最后开始......。(注意到测试器中的交易是订购的)。

 

亲爱的先生们 开发人员和程序员!我需要帮助!也许我不是第一个,但仍然...

1.如何才能组织一个循环,当按下 "按钮 "对象时,该循环将被中断(例如)。我理解,OnChartEvent函数 不能从同一个循环中强行调用?如果是这样,也许有一些方法可以解决这个问题,因为我已经绞尽脑汁了。

当循环运行时,系统变量不被更新,也就是说,不可能利用图形周期变化(至少)。如果循环是通过检查OnChartEvent来组织的,那么就需要不断地对图表做一些事情来触发这个函数--这也不是一个选项。

2.是否可以在图表窗口中以编程方式移动图表,而不仅仅是手动?ChartNavigate要么不工作,要么是为其他东西设计的,要么是我没有弄清楚它是如何工作的。

我预先感谢你。

p.s. 是否可以在程序文本中突出显示自己的函数和变量?

 
KffAlex:

1.如何创建一个循环,当 "按钮 "对象被按下时被中断(例如)?我理解,OnChartEvent函数 不能从同一个循环中强行调用?如果是这样,也许有一些办法,因为我已经绞尽脑汁了。

检查按钮对象的状态。
 
KffAlex:

ChartNavigate要么不工作,要么是为别的东西设计的,要么是我还没有弄清楚这个东西是怎么工作的。

函数调用 后尝试ChartRedraw,并确保图表上的自动滚动功能被禁用...
Документация по MQL5: Основы языка / Функции / Вызов функции
Документация по MQL5: Основы языка / Функции / Вызов функции
  • www.mql5.com
Основы языка / Функции / Вызов функции - Документация по MQL5
 

我在一个专门的远程服务器上安装 了MT5。我不时地要确保在连接短时间中断的情况下,终端能重新连接到服务器。一定要指定使用哪个服务器,否则整个交易就会 "冻结"。例如,如果在5分钟内没有连接,我怎样才能使终端自动重新连接?

 
EvgeTrofi:

我在一个专门的远程服务器上安装了MT5。我不时地要确保在连接短时间中断的情况下,终端能重新连接到服务器。一定要指定使用哪个服务器,否则整个交易就会 "冻结"。例如,如果5分钟内没有连接,我如何使终端自动重新连接?

这应该自动发生。

终端自动检测到失去连接,并重新连接到它(当此功能可用时)。

如果没有发生这种情况,请向服务台一份请求,对问题进行完整描述,不要忘记附上日志。

 

面临着一个调用堆栈溢出的问题(我认为)。

在调用其中一个对象的方法后,见下面的例子。代码被简化了,只是大意。类CClass1是一个基类,list1有不同的对象,它们是这个类的后代,它们的init函数有不同的实现。因此,在一个类中,init函数在从init返回后的一行中获取了这样一个列表(简单地说,它初始化了一个嵌套接口,即面板中的一个面板)。

    Print(t.name);

有一个错误

2010.12.02 00:21:00 test1 (EURUSD,H1) 'Container.mqh'中无效的指针 访问 (74,10)

for(CClass1* t = list1.GetLastNode(); t != NULL; t = list1.GetPrevNode() ) {
   t.init(); //после выхода отсюда t-мертвый указатель
    Print(t.name); 
}

也就是说,指针t已经死亡。

调试时,这个错误没有发生,在调用方法后,指针是 "活的",嵌套接口被创建,EA继续工作。

绕过错误的唯一方法是

savePoint = t;
t.init();
t = savePoint;
#property stacksize pointer achieved nothing.