测试 "CopyTicks"。 - 页 6

 
Karputov Vladimir:
它们在MetaQuotes-Demo上是不同的--因为,再一次,例子应该尽可能的简单。我的旗帜今天在MetaQuotes-Demo上也是如此。

今天你的指标的结果,服务器Meta-Quotes演示。通过SymbolInfoTick的标志物为空。

 
zimbabve15:

今天你的指标的结果,服务器Meta-Quotes演示。通过SymbolInfoTick的标志都是空的。

已经过了10分钟,我没有看到MetaQoutes-Demo上的欧元兑美元通过CopyTicks和SymbolInfoTick收到的标志有任何不匹配。
 
Karputov Vladimir:
已经过去10分钟了--但我从未见过MetaQoutes-Demo上欧元兑美元通过CopyTicks和SymbolInfoTick收到的ticks标志不匹配的情况。

当活动的高峰期过后,16.53的错配结束了。

 
Karputov Vladimir:
已经过去10分钟了,但我从未在MetaQoutes-Demo上看到,在欧元兑美元上,通过CopyTicks和SymbolInfoTick收到的ticks的标志不一致。

同样的事情再次发生在一个强有力的动作上

 
Karputov Vladimir:
我花了10分钟,在MetaQoutes-Demo上,我没有看到通过CopyTicks和SymbolInfoTick收到的欧元兑美元的ticks标志有任何不匹配。

我提出以下代码进行测试。

#property copyright "Copyright © 2015, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.44"
#property description "Indicator for comparing the three modes of receiving ticks"
#property description "Индикатор для сравнения трёх режимов получения тиков"
#property indicator_plots 0
#property indicator_chart_window
int count=1; //считаем пришедшие тики в OnCalculate
int depth_save_tick=10; // количество тиков для записи
//с приходом каждого тика в OnCalculate будем писать в массив структуру тика через функцию SymbolInfoTick depth_save_tick раз
MqlTick SymbolInfoTick_array_depth_save_tick[10]; 
//с приходом каждого тика в OnCalculate будем получать в массив структуру последнего тика через функцию CopyTicks 
MqlTick CopyTick_array_one_tick[];
//с приходом каждого тика в OnCalculate будем писать в массив структуру тика через функцию CopyTicks depth_save_tick раз
MqlTick  CopyTick_array_depth_save_tick[10]; 
//когда придет depth_save_tick тиков  запишем их одним запросом через CopyTicks
MqlTick CopyTick_array[]; 

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const int begin,
                const double &price[])
  {
   MqlTick last_tick;
   SymbolInfoTick(Symbol(),last_tick);
   if(count%depth_save_tick==0)
     {
      int copied=CopyTicks(_Symbol,CopyTick_array,COPY_TICKS_ALL,0,depth_save_tick);
      Comment("");
     }
   else
     {
      SymbolInfoTick_array_depth_save_tick[count-1]=last_tick;
      CopyTicks(_Symbol,CopyTick_array_one_tick,COPY_TICKS_ALL,0,1);
      CopyTick_array_depth_save_tick[count-1]=CopyTick_array_one_tick[0];
     }
   count++;
   return(rates_total);
  }

意思是:你的指标将比较通过SymbolInfoTick和CopyTicks收到的数值,深度为1 tick,也就是来自服务器的最后数值。在指标中,在程序OnCalculate 中,我们将在每一个新的tick出现时将第一个和第二个值保存在数组中。输出将包含两个由不同方法获得的刻度线数组。让我们把录音深度设置为10。在达到这个深度后,让我们对同样的10个刻度进行CopyTicks 请求,并比较这三个数组,从而用最简单的例子测试你的想法的工作,并看看CopyTicks在历史深度超过1个刻度时是如何工作的。

看起来,你的 "一个文件的简单例子 "的想法是有效的,指标通过SymbolInfoTick和CopyTicks正确地显示了深度为1 tick的ticks值(我还没有考虑强烈的运动,正如我昨天写的那样,在那里收到了0个标志,我们将等到今天美国的开盘)。但是,一旦我们开始比较这些历史,与旗帜和其他价值的勾股结构的情况就变得不清楚了。图片上显示的正是它的情况。此外,用三种方法得到的时间在ticks上是重合的,即ticks是相同的,但它们的填充物不同。服务器MetaQuotes-演示

而且我不必等待美国,又是在一个强大的运动中。

我设法把刻度数据写在运动上,它们在附件中,通过SymbolInfoTick来的零可以清楚地看到,我可以给屏幕截图比较你的指标报警时间和文件中的零。MetaQuotes-演示服务器

附加的文件:
 

这部惊悚片的结局是什么?

我读完了整本书,没有结局。

 
Nemoys:

这部惊悚片的结局是什么?

我读完了整本书,没有结局。

服务台回答说。

下午好。你的要求正在进行中。我们会在问题解决后逐一回复。

似乎已经承诺在3月初进行更新,所以我们正在等待。

 

滴答的时间和顺序是否与交易所数据或与元工具的交易服务器数据一致?

例如,会不会是交易所的某个标的在第100毫秒出生,在第101毫秒死亡,但在metatrader的历史中,这个标的要么失踪,要么出生/死亡时间不等于100/101?

 
Anton Zverev:

提示的时间和顺序是否与交易所的数据或与元工具的交易服务器数据一致?

例如,会不会是交易所的某个标的在第100毫秒出生,在第101毫秒死亡,但在metatrader的历史中,这个标的要么不见了,要么出生/死亡时间不等于100/101?

所有蜱虫都是绝对准确的,没有遗漏或其他错误。

在MetaTrader 5的所有进程中,tick基础是相同的:服务器、终端、测试器等。

 
MetaQuotes Software Corp.:

所有蜱虫都是绝对准确的,没有遗漏或其他错误。

所有MetaTrader 5进程的tick-base是相同的:服务器、终端、测试器等。

事实证明,如果我从交易所网站和五人中下载历史上的蜱虫,它将是一个完整的匹配,精度为ms?

测试器中的蜱虫是FORTS演示版还是真的?