错误、漏洞、问题 - 页 1755

 

关于交易、自动交易系统和交易策略测试的论坛

虫子,虫子,问题

fxsaber, 2016.08.03 22:16

HistoryOrderGetInteger(OrderTicket,ORDER_TIME_DONE_MSC) - 在测试者中返回0!

请纠正它。
 

下订单的速度比平局快。

 
我曾遇到过这样的情况
HistorySelect(0, TimeCurrent())

创建一个不完整的历史表。我只是在进入账户后的第一次通话中遇到了这种情况。后续的,则是整个历史。

我无法重现它。现在工作,现在不工作。请检查。

 
fxsaber:

下订单的速度比平局快。

PING很少被重新计算。
 
fxsaber:
面临的情况是
HistorySelect(0, TimeCurrent())

创建一个不完整的历史表。我只是在进入账户后的第一次通话中遇到了这种情况。后续的,则是整个历史。

我无法重现它。现在工作,现在不工作。请检查。

千万不要把TimeCurrent()作为结束日期,要把它作为TimeCurrent()+86400,以确保你捕捉到所有的最终交易。

TimeCurrent不是准确的最后时间,而是 "更新期间最后已知的 服务器时间",这并不是100%准确。特别是在开始时。

 
Renat Fatkhullin:

千万不要把TimeCurrent()作为结束日期,要把TimeCurrent()+86400作为结束日期,以确保所有结束交易都被捕获。

TimeCurrent不是准确的最后时间,而是 "更新期间最后已知的 服务器时间",这并不是100%准确的。特别是在开始时。

谢谢,我也会这么做的。但这绝对不是关于虫子的问题。

我登录了很久之前进行交易的账户。如此之久,以至于 "历史 "选项卡是空的(我必须用鼠标提出申请,以获得完整的历史)。

而这里的HistorySelect 有时会返回0,有时会比下一次运行的值少1。总而言之,那里肯定有一个问题。

 
Renat Fatkhullin:

千万不要把TimeCurrent()作为结束日期,要把TimeCurrent()+86400作为结束日期,以确保所有结束交易都被捕获。

TimeCurrent不是准确的最后时间,而是 "更新期间最后已知的 服务器时间",这并不是100%准确的。特别是在开始时。

+60是不够的吗?
 

看了一下SB,没有HistorySelect和HistoryOrderGetTicket!一点也不!

它将如何运作?

//+------------------------------------------------------------------+
//| Select a deal on the index                                       |
//+------------------------------------------------------------------+
bool CDealInfo::SelectByIndex(const int index)
  {
   ulong ticket=HistoryDealGetTicket(index);
   if(ticket==0)
      return(false);
   Ticket(ticket);
//---
   return(true);
  }
//+------------------------------------------------------------------+

我越来越相信,SB充满了局限性(也没有部分实现)。

为什么不可能从一开始就为SB使用伟大的MQL4-order语言系统?

 
fxsaber:

看了一下SB,没有HistorySelect和HistoryOrderGetTicket!一点也不!

它将如何运作?

//+------------------------------------------------------------------+
//| Select a deal on the index                                       |
//+------------------------------------------------------------------+
bool CDealInfo::SelectByIndex(const int index)
  {
   ulong ticket=HistoryDealGetTicket(index);
   if(ticket==0)
      return(false);
   Ticket(ticket);
//---
   return(true);
  }
//+------------------------------------------------------------------+

我越来越相信,它充满了局限性(也没有部分的实现)。

为什么不从一开始就为SB使用伟大的MQL4-order语言系统?

无知并不能免除你的责任。

CDealInfo类是为了方便访问交易的属性。但是要访问交易,每个人总是首先通过HistorySelect请求追踪历史。

你最好在写直截了当的书呆子问题和得出结论之前多看一些例子和阅读文章。

 
Vladimir Karputov:

无知并不能免除你的责任。

CDealInfo类是为了方便访问交易属性。但是要访问交易,每个人总是首先通过HistorySelect请求一个历史快照。

在写公然拈花惹草的问题和妄下结论之前,你最好多看看例子和阅读文章。

我想用你自己的风格来回答你,但说出你对版主的想法,很容易让你被禁。

如果SB有限制,你可以而且应该谈论它。