实时的提基 - 页 13

 
Roman:

或者也许是实时的,而不是

使用

如果你能立即得到当前的价格,为什么还要复制?
理论上说,CopyTicks在其内部有额外的参数检查,从而增加了函数体中的代码长度。
但是SymbolInfoTick没有额外的参数,理论上来说,这个函数的实现应该包含更少的代码。
更少的代码意味着更快的执行。

唯一不好的是,SymbolInfoTick函数没有类似于CopyTicks的详细文档,它的工作原理并不完全清楚。
它是否进行了缓存,或者是否立即返回了原始数据。

只有玻璃可以立即使用,其他东西都要另外检查。

没有人会透露详细的文件 - 这是7个印章背后的秘密))))

 
Sergey Chalyshev:

只有玻璃是直接移交的,其他东西都要另外检查。

没有人会透露详细的文件--这是一个隐藏在七个印章后面的秘密))))。

SymbolInfoTick()原则上不能回馈堆栈,我想我们是指BestBid, BestAsk。
MqlTick结构不是完全由BestBid、BestAsk填充吗?
是什么让你认为结构的其他成员需要额外的检查?

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 повышенной точностью 
};

如果你想得到所有银行的整个玻璃,你应该使用

bool  MarketBookGet( 
   string        symbol,     // символ 
   MqlBookInfo&  book[]      // ссылка на массив 
   );

返回包含指定符号的条目的MqlBookInfo 结构数组。

 
Roman:

SymbolInfoTick()不能给出杯子,也许你是指BestBid、BestAsk。
MqlTick结构不是完全由BestBid、BestAsk填充吗?
为什么你认为其他结构成员需要额外的检查?

而如果你想获得所有帮派的完整tumblr,你应该使用

Returns an array ofMqlBookInfo structures, containing records of a stack of prices of a designated symbol.

我不知道你是什么意思。

OnBook和OnTick是不同的线程,如果MQ将它们同步化,那就非常糟糕了。

从我上面给出的图片来看,它们并不是完全同步的。

fxsaber 测试也激发了人们的信心。

结果很糟糕:在OnTick/OnBookEvent中,使用不同方法收到的ticks经常不在一个On-function中重合。而你无法分辨出哪种获取蜱虫的方法是相关的,哪种是不相关的。 可怕的含糊不清。

那么,谁想要什么。

- 如果你需要更好的价格 - OnBook。

- 如果你需要一丁点的交易 - CopyTick。

- 而如果你不需要什么--OnTick,它可以跳过ticks,延迟信息流,因为它在一个进程中工作,与其他On函数一致。


p.s. 我在这里写的所有内容只涉及交易所账户,外汇交易者不关心(没有区别),外汇交易者擦肩而过。

fxsaber
fxsaber
  • www.mql5.com
Опубликовал пост TesterPortfolio - портфель ТС Опубликовал пост "Out-Of-Sample" - где расположить, справа или слева? Когда-то в паблике столкнулся с мнением, что OOS должен располагаться только справа. Т.е. расположение его слева от интервала Оптимизации - ошибка. Я с этим был категорически не согласен, т.к. не видел разницы. Теперь вижу...
 
Andrey Khatimlianskii:

有那么一会儿,似乎你有理解的愿望,这将有助于驯服你的骄傲。
不,它只是看起来是这样的。

这个问题已经解决了,任何人都可以通过你的、fxsaber的和我的代码查看并得出结论。
和你在一起,我停止了对话,除了你的大声喊叫,什么都没有,在接受信息的时候,你的大脑根本不工作。

祝FORTS好运。

安德烈!

你被我关于外汇的言论错误地冒犯了,它们与 没有关系。

我们一直有建设性的对话,但如果它在任何方面冒犯了你,那么

我向你个人道歉!

 
Sergey Chalyshev:

我不知道你是什么意思。

OnBook和OnTick是不同的线程,如果MQ将它们同步,那就太糟糕了。


从我最近的测试来看(在修复了代码中的一个错误后)。

很明显,OnTick()是在OnBookEvent()之前或同时被触发的。

但在打印机中,OnTick()总是第一个。

看来,当新一批蜱虫到来时。

然后处理它们的函数首先 "拉 "出OnTick(),然后 "偷 "出数据

它需要去的地方 :)

 
Roman:

或者也许是实时的,而不是

使用

如果你能立即得到当前的价格,为什么还要复制?

你对什么市场感兴趣?

 
prostotrader:

从我最近的测试来看(在修复了代码中的一个错误后)。

很明显,OnTick()是在OnBookEvent()之前或同时被触发的。

但在打印机中,OnTick()总是第一个。

看来,当新一批蜱虫到来时。

那么处理它们的函数首先 "拉动 "OnTick(),然后 "发送 "数据。

它需要去的地方 :)

是的,大致相同。

终端是异步单线程的,它依次处理所有事件。

为了实验的纯粹性,OnBook和OnTick谁更快,我们应该在一个经纪商处运行两个终端。

在一个EA中只有OnBook而没有OnTick

在另一个中,只有OnTick,没有 OnBook

并将价格当地时间 以毫秒为单位总结 一个文件。然后就会看到真正的差异。

否则,如果没有库存时间,就不可能理解其中的差别。

 
Sergey Chalyshev:

是的,这差不多是同样的想法。

终端是异步单线程的,它依次处理所有事件。

为了实验的纯粹性,OnBook和OnTick谁更快,我们应该在一个经纪商处运行两个终端。

在一个EA中只有OnBook而没有OnTick

在另一个中,只有OnTick,没有 OnBook

并将价格 与当地时间以毫秒为单位 总结 一个文件。然后就会看到真正的差异。

否则,没有库存时间,你就无法理解其中的差别。

没问题,我将尝试在周一运行(我有三个终端是真实的)。

 
Sergey Chalyshev:

我不知道你是什么意思。

OnBook和OnTick是不同的线程,如果MQ将它们同步了,那就太糟糕了。

从我上面展示的图片来看,它们并不是完全同步的。

另外,fxsaber 的测试也激发了人们的信心。

那么,谁想要什么。

- 如果你需要更好的价格 - OnBook。

- 如果你需要一丁点的交易 - CopyTick。

- 而如果你不需要什么--OnTick,它可以跳过ticks,延迟信息流,因为它在一个进程中工作,与其他On函数一致。


p.s. 我在这里写的所有内容只涉及交易所账户,外汇交易者不关心(没有区别),外汇交易者擦肩而过。

我指的是SymbolInfoTick,你写道:" 只有杯子是立即给出的,其他都是另外检查的"。
我给了你MqlTick的结构,让你知道它包括什么,没有杯子,只有最好的价格。而且没有额外的检查。
因此,我对你写的东西感到惊讶,也许是错误地陈述了这个想法。
OnBook和OnTick是不同的套接字,因为在任何交易所协议中,交易发生在一个套接字,而Level2(市场)发生在另一个套接字。
这意味着只有最好的买入价和最后的卖出价等被发送到套接字OnTick。因此,OnTick对这个插座有自己的处理程序。
对于Level2来说,不同的插座和相应的处理程序是不同的。在理念上,它们不应该在终端侧被强行同步。

好了,我们完全使用我们想要的东西,SymbolInfoTick或 CopyTick中的交易,MarketBookGet中的玻璃。

 
prostotrader:

你对什么市场感兴趣?

我不使用交易外汇。
在这个例子中,你CopyTick的结构中得到最后一个元素,事实上,只有最好的价格
所以我想,为什么要把数据从一个内存空间复制到另一个内存空间,
,因为有
SymbolInfoTick 可以在不复制的情况下提供最好的价格。我可能对这些功能的运作方式有误,这只是我的猜测。
虽然这两个函数的工作方式可能是一样的,但唯一的区别是
CopyTick可以请求一个刻度范围
而且
没有必要使用循环来处理ticks