CopyTicksRange()在MQL5中不能正确工作。 - 页 2

 
Alexey Viktorov #:

我已经强调了关键词。

不要申请定义中不存在的蜱虫。如果你请求的刻度甚至超过当前时间的毫秒,你将得到你所列出的问题的非常g.........y的形式。


那么,在你的理解中,我应该首先检查这些刻度线是否可用? 例如,如何检查?我还可以检查,所要求的范围是否在假期?它必须由函数CopyTicksRange()完成。我的工作是根据文件规定给它输入参数。它可以检查它们,如果有的话,返回一个错误,但不是在响应中的一些垃圾。

你能想出一个办法来检查现有的条形图是否包含从第二秒到第三秒的ticks,以防止这个函数崩溃吗?


上面我写了一个代码例子,所有的东西都在那里,但答案还是错的。

 
RusPro #:


那么,在你的理解中,我应该首先检查这些ticks是否可用?例如,如何 检查? 我是否还应该检查所要求的范围是否在休息日? 这应该由CopyTicksRange() 函数完成。我的工作是根据文件规定给它输入参数。而且它可以检查它们,如果发生了什么,它将返回一个错误,但不是一些垃圾的回应。


上面我写了一个代码样本,所有的东西都在,但答案仍然是错的。

符号InfoTick

在一个MqlTick类型的变量中返回指定符号的当前 价格。

bool  SymbolInfoTick(
   string    symbol,     // символ
   MqlTick&  tick        // ссылка на структуру
   );
struct MqlTick
  {
   datetime     time;          // Время последнего обновления цен
   double       bid;           // Текущая цена Bid
   double       ask;           // Текущая цена Ask
   double       last;          // Текущая цена последней сделки (Last)
   ulong        volume;        // Объем для текущей цены Last
   long         time_msc;      // Время последнего обновления цен в миллисекундах
   uint         flags;         // Флаги тиков
   double       volume_real;   // Объем для текущей цены Last c повышенной точностью
  };

你不需要查询比time_msc更远的ticks。

 

1)在我上面的例子中,要求的范围存在。

2)但为什么不在CopyTicksRange 本身中进行检查并在文档中反映出来?


说到SymbolInfoTick --它的工作原理也是错误的,至少对合成字符来说 是这样:)

我记得,它总是返回第一个刻度的时间,而不是最后一个。

 
RusPro SymbolInfoTick --它的工作原理也是错误的,至少对合成字符来说 是这样:)

在我的记忆中,它总是返回第一个刻度的时间,而不是最后一个。

我不再参加这种对话了。

 
Alexey Viktorov #:

我不再参与这种对话。

你也不是Metatrader的开发者,为什么你要担任他们的代言人?

从本质上讲,所提出的观点是正确的,该功能应能正确工作。
 
Sergey Gridnev #:
你也不是Metatrader的开发者,为什么你要担任他们的代言人?

从本质上讲,所提出的观点是正确的,该功能应能正确工作。

一行人回到了对话中。

该功能应该按照开发者的意图工作,而不是按照用户希望的方式工作。一个人想要一种东西,一个人想要另一种东西,一个人想要胡说八道。

这就是开发商不回应你的原因。而且我不是律师,我是想带给你一个简单的道理,如果你自己做不到,就不要恶心别人。而你,则开启了 "不要.........,让步......",编造关于拐杖的神话。

这真的是全部......开发商不会回答你......不要抱太大希望。

 
RusPro #:

而这里有一个错误。

即成千上万的程序员所使用的函数,亲自向我返回了从当前条形图开始的所有刻度,但不包括在所要求的范围内。

这的确是一个错误。提供完整的数据进行播放。如果得到证实,开发人员将在下一个版本中进行修复。

也许问题出在MqlTick静态数组中。
 

Alexey Viktorov #:

不需要请求比time_msc更远的刻度。

最后的历史tick可能比SymbolInfoTick(在CopyTicks之后调用)更近。我每天都会遇到这种情况。

可能会出现相反的情况。不同步的流动。
 
fxsaber #:

这的确是一个错误。提供完整的数据进行回放。如果得到证实,开发人员将在下一个版本中进行修复。

也许,问题出在静态数组MqlTick中。

好的,我将努力把代码减少到最低限度,并把它张贴出来。CopyTicks也包含这样的故障,但它们发生在那里的方式不那么可预测,这导致我只为CopyTicksRange 提供了拐杖。可能是一些常见的内部函数的错误。

我也会 你画一个SymbolInfoTick的例子。

 
RusPro #:

数以千计的 程序员所使用的函数

单位。