错误、漏洞、问题 - 页 2

 
Interesting:

它是有效的,在三个经纪公司测试过(搜索所有在经纪公司交易的工具)。

试试这样的方式

  for(int li=0; li<SymbolsTotal(true); li++)
  {
  PrintFormat(SymbolName(li,true));
  } 
对于OnTick,这只是一个例子。
 
ddd06:

这就是我想说的:真实不起作用!

  for(int li=0; li<SymbolsTotal(false); li++)
  {
  PrintFormat("%s",SymbolName(li,false));
  }
这是正确的做法。因为你是用函数来输出信息
PrintFormat(....) не путать с Print(.......)
 
sergey1294:
这是正确的做法。因为你是用一个函数来输出信息的
谢谢,我只是没有理解他们,但问题仍然存在:)
 
ddd06:
谢谢,我只是没有理解他们,但问题仍然存在:)

在真实的报价中(真实、演示和可能的竞价),这段代码在3个终端上测试正常(在初始化时调用)。

  for(int li=0; li<SymbolsTotal(true); li++)
  {
  //PrintFormat(SymbolName(li,true));
  //Так конечно правильней, но первый вариант тоже проходит за милую душу...
  PrintFormat("%s",SymbolName(li,true));
  } 

我已经展示了15对正在进行市场审查。


在正常的测试中,只考虑测试员参数中指定的符号(如果需要其他符号,它应该被视为假的和我的符号数组),在 "选择的所有符号...... "的优化中,可能会显示所有的符号(但很可能是一个一个的改变它们)。


PS

如果你的EA是多币种的,你应该在测试器中拥有自己的符号列表,并将其与你的经纪公司中呈现的符号列表进行比较。

 

这很好,但我认为这是一个疏忽

谢谢你想出这个办法。

有趣的是,第一个帖子呢,到目前为止没有人回应,类型可以写--我们会在下一个版本中修复。

 

历史上的订单 和交易数量不被返回。

TerminalInfoInteger(TERMINAL_BUILD) 279
void OnStart()
  {
    Print("+---------------------------------------------------------+");    
    Print("PositionsTotal() ",PositionsTotal());
    Print("HistoryDealsTotal() ",HistoryDealsTotal());
    Print("OrdersTotal() ",OrdersTotal());
    Print("HistoryOrdersTotal() ",HistoryOrdersTotal());    
  }

打底

订购历史

 
Urain:

历史上的订单 和交易数量不被返回。


你必须先用函数加载历史记录。

HistorySelect(0,TimeCurrent())
 
Valmars:

我必须先用函数下载历史。


是的,谢谢,它起作用了,我将继续阅读手册 :o)

我只是想不出用户和EA有一个单独的流程。

我以为,如果显示历史记录,就意味着它应该被专家顾问读取。

但这更正确--终端为专家顾问创建了自己的空间。

该终端为专家顾问创建了自己的空间。

这类似于在mql-4中以缓冲区的形式实现的,该缓冲区被定期加载历史。

 
Urain:

是的,谢谢,一切正常,我将继续阅读手册 :o)

我只是想不出用户和EA的线程有什么区别。

我以为,如果显示历史记录,就意味着应该由EA来读取。

但这更正确--终端为专家顾问创建了自己的空间。

信息选择是以其自身的格式进行的,而且速度更快。

在mql-4中实现了类似的功能,其形式是一个定期加载历史记录的缓冲区。


不幸的是,脚本、EA和终端的空间很常见。如果你调用最后一天(日)的终端历史记录,然后从脚本或专家顾问中运行上述函数,你可以确保这一点。你会看到终端中的历史记录也变成了 "所有历史"。我认为这是终端的一个缺陷。想象一下,你有几个专家顾问脚本在运行,而每一个都在请求自己的历史记录。终端中的历史记录会跳动(视觉上)。你需要让 "历史 "标签显示当前状态,而不考虑专家顾问。

此外,终端中的历史记录往往是延迟更新的,即一个交易被执行,一个头寸被关闭,但它并没有出现在 "历史 "标签中。有一次,我特意等着,直到历史被更新。它是分钟.....我从未等待过。它只在执行上下文命令从 "历史 "选项卡请求历史记录或请求历史记录的脚本后出现。

 
ddd06:

这很好,但我认为这是一个疏忽

谢谢你想出这个办法。

有趣的是,在第一个帖子中,仍然没有人回答,他们可以写--我们会在下一个版本中修复它。

缺陷是你使用PrintFormat 而没有明确使用格式字符串。

我们应该在下一个版本中修复什么?

Документация по MQL5: Общие функции / Print
Документация по MQL5: Общие функции / Print
  • www.mql5.com
Общие функции / Print - Документация по MQL5