实时的提基 - 页 21 1...14151617181920212223242526 新评论 prostotrader 2020.02.06 18:24 #201 Aleksey Mavrin: 这就是今天的照片。当然,我们没有检查OnBook是否与Tick匹配,而只是取了下一个,希望如果OnTick领先于OnBook,那么相应的就会是相同或稍晚的。 当然,在没有额外检查的情况下,最大值是没有指标的,或过冲或真正的OnBook地方慢。 但这是一个能解释的人?为什么部署了这么多的OnTicks,而没有一个OnBook适合它们之间? 因为你自己写道:"代码是曲折的,也许是歪的,我看一下结果。" //+------------------------------------------------------------------+ //| BookEvent function | //+------------------------------------------------------------------+ void OnBookEvent(const string &symbol) { if((Mode != USE_BOOK) || (symbol != Symbol())) return; TimeArrayBook[curBook]=GetMicrosecondCount(); curBook++ } void OnTick() { if(Mode != USE_TICK) return; TimeArrayTick[curTick]=GetMicrosecondCount(); curTick++ } 而且你根本不需要计时器... prostotrader 2020.02.06 18:26 #202 但我不知道负责人是否对他的问题的答案感到满意。 Aleksey Mavrin 2020.02.06 18:36 #203 prostotrader: 因为你自己写道:"代码是曲折的,也许是歪的,我看一下结果。" 而且你根本不需要计时器... 你没有发现原因是由于代码中的错误。或者你没有理解这个问题。我已经在开机功能中输出了一个标记,没有计时器,但还是有一堆刻度,中间没有OnBooks。 prostotrader 2020.02.06 18:45 #204 Aleksey Mavrin: 你没有发现原因是由于代码中的错误造成的。或者你没有理解这个问题。我也只是在开机功能中打印了一个标记,没有使用计时器,但仍然有一群人在嘀嗒声中没有开机书。 1.我完全不清楚你是如何运行EA(s)的 2.有两个由Andrei和我自己写的代码,它们是 它们相互印证。那么,为什么要为你的事情费心 呢? 3.安德烈和我都在衍生品市场上运行过EA,而你在股票市场上运行过。 也许该终端在基金上有一些缺陷(甚至没有在股市上运行MT5)。 就个人而言,在基金方面,我通过快速交易系统进行交易。 Aleksey Mavrin 2020.02.06 18:52 #205 prostotrader: 1.我完全不清楚你是如何运行EA(s)的 2.有两个由Andrei和我自己写的代码,它们是 它们相互印证。那么,为什么要为你的事情费心 呢? 3.安德烈和我都在衍生品市场上运行过EA,而你在股票市场上运行过。 也许该终端在基金上有一些缺陷(甚至没有在股市上运行MT5)。 就个人而言,在基金方面,我通过快速交易系统进行交易。 哦,我明白了。我明天会在期货上试试。你为什么不在基金上使用mt5?是否有任何缺点?Z.s. 那里的代码有3行)只是固定了msk的时间,没有任何检查,这样队列就不会被处理程序拖慢,在定时器上,它打印并计算延迟。我也没有彻底理解你的代码,一般的操作原理从输出中已经很清楚了。 prostotrader 2020.02.06 19:00 #206 Aleksey Mavrin: 1.啊,我明白了。明天,我将在一个期货上试一试。为什么你不在基金上使用MT5?你有什么缺点吗? S.s. 那里的代码有3行)只是固定了msc的时间,没有任何检查,这样队列就不会被处理程序拖慢,在定时器上,它打印出来并计算延迟。我也没有彻底理解你的代码,一般的操作原理从输出中已经很清楚了。 1.在经纪人那里的第二个和随后的终端是付费的,我没有只交易股票(股票组合)的策略。 2.如果你要输出累积的GetMicrosecondCount(),那么 在OnDeinit()中不使用定时器,当EA退出时,一切都会打印出来。 void OnDeinit(const int reason) { if(Mode == USE_BOOK) { if(is_book == true) MarketBookRelease(Symbol()); } if(reason == REASON_REMOVE) { //Распечатываем данные } } Aleksey Mavrin 2020.02.06 19:05 #207 prostotrader:2.如果你要输出累积的GetMicrosecondCount(),那么 在OnDeinit()中不使用定时器,当EA退出时,一切都会打印出来。 你也可以这样做,我最初就是这样做的,以保持跟踪。但由于计时器的原因,OnTicks可能被跳过,但OnBooks不应该被跳过,因为它们是有保证的。也许我没有考虑到一些问题,也许不是所有的Ticks都会启动杯子的变化,即OnBook? prostotrader 2020.02.06 19:12 #208 Aleksey Mavrin: 是的,你也可以这样做,我最初这样做是为了让它更清晰。但由于计时器的原因,OnTicks可能会被跳过,但OnBooks不应该,它们是有保证的。 也许我没有考虑到一些问题,也许不是所有的Ticks都会启动玻璃的变化,即OnBook? 还有。 你需要检查计数器。 void OnBookEvent(const string &symbol) { if(curBook >= 65534) return; if((Mode != USE_BOOK) || (symbol != Symbol())) return; TimeArrayBook[curBook]=GetMicrosecondCount(); curBook++ } void OnTick() { if(curTick >= 65534) return; if(Mode != USE_TICK) return; TimeArrayTick[curTick]=GetMicrosecondCount(); curTick++ } A,在声明数组 时,要做到以下几点 ulong TimeArrayBook[ INT_MAX]; а инициализировать так ArrayInitialize(TimeArrayBook, 0); Aleksey Mavrin 2020.02.06 19:18 #209 prostotrader:还有。我们需要做一个反检查。A,初始化时的数字应该是65535 而不是65536 不,没有必要。它是故意这样做的,以便不检查任何东西。他们是Ushort。阵列的大小 过大,但它并不影响任何东西。 Andrey Khatimlianskii 2020.02.06 19:30 #210 Aleksey Mavrin: 谁能解释这个问题?为什么有这么多的OnTicks被取消注册,而它们之间没有一个OnBook? 看一下日志的时间。这一切都发生在一个毫秒中,而在它旁边(在同一个毫秒中)有一堆的安书。 你可以通过计数器来计算所有的事件,但即使在视觉上你也可以看到有更多的OnBooks。 1...14151617181920212223242526 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这就是今天的照片。当然,我们没有检查OnBook是否与Tick匹配,而只是取了下一个,希望如果OnTick领先于OnBook,那么相应的就会是相同或稍晚的。
当然,在没有额外检查的情况下,最大值是没有指标的,或过冲或真正的OnBook地方慢。
但这是一个能解释的人?为什么部署了这么多的OnTicks,而没有一个OnBook适合它们之间?
因为你自己写道:"代码是曲折的,也许是歪的,我看一下结果。"
而且你根本不需要计时器...
因为你自己写道:"代码是曲折的,也许是歪的,我看一下结果。"
而且你根本不需要计时器...
你没有发现原因是由于代码中的错误造成的。或者你没有理解这个问题。我也只是在开机功能中打印了一个标记,没有使用计时器,但仍然有一群人在嘀嗒声中没有开机书。
1.我完全不清楚你是如何运行EA(s)的
2.有两个由Andrei和我自己写的代码,它们是
它们相互印证。那么,为什么要为你的事情费心 呢?
3.安德烈和我都在衍生品市场上运行过EA,而你在股票市场上运行过。
也许该终端在基金上有一些缺陷(甚至没有在股市上运行MT5)。
就个人而言,在基金方面,我通过快速交易系统进行交易。
1.我完全不清楚你是如何运行EA(s)的
2.有两个由Andrei和我自己写的代码,它们是
它们相互印证。那么,为什么要为你的事情费心 呢?
3.安德烈和我都在衍生品市场上运行过EA,而你在股票市场上运行过。
也许该终端在基金上有一些缺陷(甚至没有在股市上运行MT5)。
就个人而言,在基金方面,我通过快速交易系统进行交易。
1.啊,我明白了。明天,我将在一个期货上试一试。为什么你不在基金上使用MT5?你有什么缺点吗?
1.在经纪人那里的第二个和随后的终端是付费的,我没有只交易股票(股票组合)的策略。
2.如果你要输出累积的GetMicrosecondCount(),那么
在OnDeinit()中不使用定时器,当EA退出时,一切都会打印出来。
2.如果你要输出累积的GetMicrosecondCount(),那么
在OnDeinit()中不使用定时器,当EA退出时,一切都会打印出来。
是的,你也可以这样做,我最初这样做是为了让它更清晰。但由于计时器的原因,OnTicks可能会被跳过,但OnBooks不应该,它们是有保证的。 也许我没有考虑到一些问题,也许不是所有的Ticks都会启动玻璃的变化,即OnBook?
还有。
你需要检查计数器。
A,在声明数组 时,要做到以下几点
ulong TimeArrayBook[ INT_MAX]; а инициализировать так ArrayInitialize(TimeArrayBook, 0);还有。
我们需要做一个反检查。
A,初始化时的数字应该是65535 而不是65536
谁能解释这个问题?为什么有这么多的OnTicks被取消注册,而它们之间没有一个OnBook?
看一下日志的时间。这一切都发生在一个毫秒中,而在它旁边(在同一个毫秒中)有一堆的安书。
你可以通过计数器来计算所有的事件,但即使在视觉上你也可以看到有更多的OnBooks。