测试 "CopyTicks"。 - 页 47

 
Котировки Срочного рынка в МТ5
Котировки Срочного рынка в МТ5
  • 2021.11.10
  • www.mql5.com
Уважаемые модераторы! Перенесите, пожалуйста сообщения из темы "Клиринг по существу????* не относящиеся к клирингу, сюда...
 

没有人会去看它并把它拆开。在对交易所ticks和MT5进行比较分析之前,谈话是空洞的。因为总是可以说,是交易所在向经纪人播放歪曲的数据。

 
fxsaber #:

没有人会去看它并把它拆开。在对交易所ticks和MT5进行比较分析之前,谈话是空洞的。因为总是可以说,是证券交易所在向经纪人播放歪曲的数据。

有一些事情不需要外部确认,如果你只是仔细观察...


 
prostotrader #:

有一些事情不需要外部验证,如果你仔细观察...

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

测试 "CopyTicks"。

fxsaber, 2021.11.12 08:05

你总是可以说,是交易所在向经纪人播放歪曲的数据。

 
Котировки Срочного рынка в МТ5
Котировки Срочного рынка в МТ5
  • 2021.11.12
  • www.mql5.com
Уважаемые модераторы! Перенесите, пожалуйста сообщения из темы "Клиринг по существу????* не относящиеся к клирингу, сюда...
 
Котировки Срочного рынка в МТ5
Котировки Срочного рынка в МТ5
  • 2021.11.12
  • www.mql5.com
Уважаемые модераторы! Перенесите, пожалуйста сообщения из темы "Клиринг по существу????* не относящиеся к клирингу, сюда...
 
Котировки Срочного рынка в МТ5
Котировки Срочного рынка в МТ5
  • 2021.11.17
  • www.mql5.com
Уважаемые модераторы! Перенесите, пожалуйста сообщения из темы "Клиринг по существу????* не относящиеся к клирингу, сюда...
 

我的理解是否正确,找出某个时间点上的实际勾股是一项困难的任务?


例如,你需要找出哪个刻度是实际的2022.04.29 23:00:00.000。在截图中,它被突出显示。


我想到了唯一的解决办法。

bool GetActualTick( const string Symb, const ulong time, MqlTick &Tick, int Amount = 20 )
{
  MqlTick Ticks[];
  
  int Offset = 500;
  int Res = 0;
  
  while (!::IsStopped() && (Res <= 0) && (bool)Amount--)
    Res = ::CopyTicksRange(Symb, Ticks, COPY_TICKS_INFO, time - (Offset <<= 1), time);
    
  if (Res > 0)
    Tick = Ticks[Res - 1];
  
  return(Res > 0);
}

void OnStart()
{
  MqlTick Tick[1];
  
  if (GetActualTick(_Symbol, D'2022.04.29 23:00' * 1000, Tick[0]))
    ArrayPrint(Tick);
}
 
fxsaber #:

我的理解是否正确,找出某个时间点上的实际勾股是一项困难的任务?


例如,你需要找出哪个刻度是实际的2022.04.29 23:00:00.000。在截图中,它被突出显示。


我想到了唯一的解决办法。

做得很好,我以前从未想过可以这样做。

我将以这样的方式来纠正它,意思是一样的,只是在1个时间。

 bool GetActualTick( const string Symb, const ulong time, MqlTick &Tick, int Sec = 30 )
{
  MqlTick Ticks[];
   
  int Res = ::CopyTicksRange(Symb, Ticks, COPY_TICKS_INFO, time - Sec*1000, time);
    
  if (Res > 0)
    Tick = Ticks[Res - 1];
  
  return(Res > 0);
}

void OnStart()
{
  MqlTick Tick[1];
  
  if (GetActualTick(_Symbol, D'2022.04.29 18:00' * 1000, Tick[0]))
    ArrayPrint(Tick);
}  

我只在同步>=2个tick数组时面临这样的任务,在这里。但在这两种情况下,都是使用一次性卸载的就绪数组进行同步。在那里和那里,我都是通过逐一转移索引来实现同步。我看到什么时间(未来)是最近的,并通过这个工具++转移指数。

 
Andrey Miguzov #:

我想这样纠正它--意思是一样的,只是在1个时间内。

不幸的是,我们不可能猜到相邻刻度线之间的时间间隔。有时远远超过半分钟。