mql5语言的特点、微妙之处以及技巧 - 页 74 1...676869707172737475767778798081...247 新评论 Ihor Herasko 2018.03.29 07:11 #731 Vitaly Muzichenko: 我怎样才能知道是否因为今天是休息日而没有报价,或者是否因为交易室的服务器挂断而在星期四没有报价?利用当地时间,可以确定这是一个休息日的事实。 而GMTOffset的计算应该只在OnTick中完成。在嘀嗒声没有到来之前,不要在计算中使用服务器时间。在大多数情况下,这确实是不需要的。 作为最后的手段,如果在周末需要GMTOffset,给用户一个消息,也许可以向他请求GMTOffset服务器。 fxsaber 2018.03.29 07:17 #732 外汇符号的GMT偏移可以由交易周的收盘/开盘时间决定。毕竟,这一事件的当地时间 是已知的。 Vitaly Muzichenko 2018.03.29 07:31 #733 伊霍尔-赫拉斯科。休息日的事实可以由当地时间决定。 但是服务器的GMTOffset的计算应该只在OnTick进行。只要滴答声还没有到来,就不要在计算中使用服务器时间。在大多数情况下,这确实是不需要的。 作为最后的手段,如果在周末需要GMTOffset,那么就向用户发出消息,并可能向他们请求一个服务器GMTOffset。fxsaber: 外汇符号上的GMT偏移可以由交易周的收盘/开盘时间决定。毕竟,这一事件的当地时间是已知的。 我们不知道周六和周日的服务器时间,我们只知道最后一次报价的到达时间。我们也不知道服务器在哪个时区工作。 我们真的需要一个函数来显示服务器的当前时间,类似于:TimeServer();然后我们总是知道服务器的时间大于最后一次引用的时间,这意味着要么它是休息日,要么它被挂起。GMTOffset并不能拯救我们。 P.S. 这个问题不仅仅是关于外汇符号。 fxsaber 2018.03.29 07:43 #734 维塔利-穆齐琴科。 我们不知道周六和周日的服务器时间,我们只知道最后一次报价的时间。我们也不知道该服务器在哪个时区工作。对于外汇来说,正如我上面所说的,它已经解决了。 Ihor Herasko 2018.03.29 07:56 #735 维塔利-穆齐琴科。 我们不知道周六和周日的服务器时间。 因为你知道当地的时间。 我们只知道最后一次报价的到达时间。我们也不知道服务器在哪个时区。 我们真的需要一个能显示当前 服务器时间的 函数,类似于TimeServer();这样我们就能随时知道服务器时间是否高于最后一次报价的时间,这意味着服务器要么关闭要么挂起。GMTOffset并不能拯救我们。 如果我们知道当地时间,我们甚至不需要猜测。我们用它来决定是否是一个周末。而知道GMTOffset服务器只是给我们一个计算服务器时间的机会。我不认为函数TimeServer()会有什么用。尽管如此,即使现在没有它,我们也可以不受影响。 Vitaly Muzichenko 2018.03.29 08:14 #736 Ihor Herasko: 当地时间是已知的。如果你知道当地时间,你甚至不需要猜测。它被用来确定是否是休息日。而知道了服务器的 GMTOffset,就有可能计算出服务器时间。我不认为函数TimeServer()会有什么用。尽管如此,即使没有它,你现在也可以逃过一劫。这不是服务器的时间。 Документация по MQL5: Дата и время / TimeGMTOffset www.mql5.com Возвращает текущую разницу между временем GMT и локальным временем компьютера в секундах с учетом перехода на зимнее или летнее время. Зависит от настроек времени на компьютере пользователя. Ihor Herasko 2018.03.29 08:20 #737 维塔利-穆齐琴科。现在不是服务器时间。我说的是TimeLocal()。自然,我们也需要TimeGMTOffset。如果有刻度,我们可以很容易地计算出ServerGMTOffset。如果EA已经收到了至少一个真实的tick,它将能够使用TimeLocal()来计算当前的 服务器时间。 问题发生在EA已经启动而没有tick的到来。在这种情况下,我们需要确定是否是周末。如果是周末,所有与真实服务器时间有关的计算将不得不推迟到周末结束。如果非常需要在周末进行计算,那么请用户指定ServerGMTOffset。获取这些数据并使用TimeLocal()和TimeGMTOffset()来获取当前服务器时间。 Vitaly Muzichenko 2018.03.29 09:05 #738 伊霍尔-赫拉斯科。我说的是TimeLocal()。自然,我们也需要TimeGMTOffset。如果有刻度,我们在计算ServerGMTOffset时就没有问题。如果EA已经收到了至少一个真实的tick,它将能够使用TimeLocal()来计算当前的 服务器时间。 问题发生在EA已经启动而没有tick的到来。在这种情况下,我们需要确定是否是周末。如果是周末,所有与真实服务器时间有关的计算将不得不推迟到周末结束。如果非常需要在周末进行计算,那么请用户指定ServerGMTOffset。在收到这些数据并使用TimeLocal()和TimeGMTOffset()时,我们得到了当前的服务器时间。正是如此。在 "无刻度 "的时候将专家顾问挂在图表上。这可以是任何事情,甚至是一个周末。 最后一个tick的时间是15分钟前(EA不知道,我们也不知道),但服务器运行在什么时间?真的是15分钟前,或者是1小时15分钟,或者3小时15分钟? Alexey Viktorov 2018.03.29 09:19 #739 Vitaly Muzichenko: 正是如此。在 "无刻度 "期间将EA挂在图表上。这可以是任何事情,甚至是一个周末。最后一个tick的时间是15分钟前(EA不知道这个,我们也不知道),但服务器使用的是什么时间?真的是15分钟前,还是可能是1小时15分钟,或者3小时15分钟?维塔利,时区 之间至少相差1小时。更准确地说,它是1小时的倍数。分别来说,如果差异超过一小时,就意味着发生了一些事情。 更具体地说,可以在OnInit中接收本地和服务器时间的差异,然后与当前的差异进行比较。一般来说,这些选项是为球迷准备的。 Vitaly Muzichenko 2018.03.29 09:34 #740 Alexey Viktorov: 维塔利,时区至少相差1小时。更准确地说,它是1小时的倍数。因此,如果差异超过1小时,就意味着发生了一些事情。更具体地说,可以在OnInit中接收本地和服务器时间的差异,然后与当前的差异进行比较。一般来说,业余爱好者的选择。我把EA放在周六的图表上,但EA可能会收到最后一个tick的时间,例如,Market Watch中是23:58,而我的当地时间是04:45。服务器的时间 我不知道。 我的问题是:从最后一个刻度到服务器时间(终端时间)已经过去了多少时间? 1...676869707172737475767778798081...247 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我怎样才能知道是否因为今天是休息日而没有报价,或者是否因为交易室的服务器挂断而在星期四没有报价?
利用当地时间,可以确定这是一个休息日的事实。
而GMTOffset的计算应该只在OnTick中完成。在嘀嗒声没有到来之前,不要在计算中使用服务器时间。在大多数情况下,这确实是不需要的。
作为最后的手段,如果在周末需要GMTOffset,给用户一个消息,也许可以向他请求GMTOffset服务器。
休息日的事实可以由当地时间决定。
但是服务器的GMTOffset的计算应该只在OnTick进行。只要滴答声还没有到来,就不要在计算中使用服务器时间。在大多数情况下,这确实是不需要的。
作为最后的手段,如果在周末需要GMTOffset,那么就向用户发出消息,并可能向他们请求一个服务器GMTOffset。
外汇符号上的GMT偏移可以由交易周的收盘/开盘时间决定。毕竟,这一事件的当地时间是已知的。
我们不知道周六和周日的服务器时间,我们只知道最后一次报价的到达时间。我们也不知道服务器在哪个时区工作。
我们真的需要一个函数来显示服务器的当前时间,类似于:TimeServer();然后我们总是知道服务器的时间大于最后一次引用的时间,这意味着要么它是休息日,要么它被挂起。GMTOffset并不能拯救我们。
P.S. 这个问题不仅仅是关于外汇符号。我们不知道周六和周日的服务器时间,我们只知道最后一次报价的时间。我们也不知道该服务器在哪个时区工作。
对于外汇来说,正如我上面所说的,它已经解决了。
我们不知道周六和周日的服务器时间。
因为你知道当地的时间。
我们只知道最后一次报价的到达时间。我们也不知道服务器在哪个时区。
我们真的需要一个能显示当前 服务器时间的 函数,类似于TimeServer();这样我们就能随时知道服务器时间是否高于最后一次报价的时间,这意味着服务器要么关闭要么挂起。GMTOffset并不能拯救我们。
如果我们知道当地时间,我们甚至不需要猜测。我们用它来决定是否是一个周末。而知道GMTOffset服务器只是给我们一个计算服务器时间的机会。我不认为函数TimeServer()会有什么用。尽管如此,即使现在没有它,我们也可以不受影响。
当地时间是已知的。
如果你知道当地时间,你甚至不需要猜测。它被用来确定是否是休息日。而知道了服务器的 GMTOffset,就有可能计算出服务器时间。我不认为函数TimeServer()会有什么用。尽管如此,即使没有它,你现在也可以逃过一劫。
这不是服务器的时间。
现在不是服务器时间。
我说的是TimeLocal()。自然,我们也需要TimeGMTOffset。如果有刻度,我们可以很容易地计算出ServerGMTOffset。如果EA已经收到了至少一个真实的tick,它将能够使用TimeLocal()来计算当前的 服务器时间。
问题发生在EA已经启动而没有tick的到来。在这种情况下,我们需要确定是否是周末。如果是周末,所有与真实服务器时间有关的计算将不得不推迟到周末结束。如果非常需要在周末进行计算,那么请用户指定ServerGMTOffset。获取这些数据并使用TimeLocal()和TimeGMTOffset()来获取当前服务器时间。
我说的是TimeLocal()。自然,我们也需要TimeGMTOffset。如果有刻度,我们在计算ServerGMTOffset时就没有问题。如果EA已经收到了至少一个真实的tick,它将能够使用TimeLocal()来计算当前的 服务器时间。
问题发生在EA已经启动而没有tick的到来。在这种情况下,我们需要确定是否是周末。如果是周末,所有与真实服务器时间有关的计算将不得不推迟到周末结束。如果非常需要在周末进行计算,那么请用户指定ServerGMTOffset。在收到这些数据并使用TimeLocal()和TimeGMTOffset()时,我们得到了当前的服务器时间。
正是如此。在 "无刻度 "的时候将专家顾问挂在图表上。这可以是任何事情,甚至是一个周末。
最后一个tick的时间是15分钟前(EA不知道,我们也不知道),但服务器运行在什么时间?真的是15分钟前,或者是1小时15分钟,或者3小时15分钟?
正是如此。在 "无刻度 "期间将EA挂在图表上。这可以是任何事情,甚至是一个周末。
最后一个tick的时间是15分钟前(EA不知道这个,我们也不知道),但服务器使用的是什么时间?真的是15分钟前,还是可能是1小时15分钟,或者3小时15分钟?
维塔利,时区 之间至少相差1小时。更准确地说,它是1小时的倍数。分别来说,如果差异超过一小时,就意味着发生了一些事情。
更具体地说,可以在OnInit中接收本地和服务器时间的差异,然后与当前的差异进行比较。一般来说,这些选项是为球迷准备的。
维塔利,时区至少相差1小时。更准确地说,它是1小时的倍数。因此,如果差异超过1小时,就意味着发生了一些事情。
更具体地说,可以在OnInit中接收本地和服务器时间的差异,然后与当前的差异进行比较。一般来说,业余爱好者的选择。
我把EA放在周六的图表上,但EA可能会收到最后一个tick的时间,例如,Market Watch中是23:58,而我的当地时间是04:45。服务器的时间 我不知道。
我的问题是:从最后一个刻度到服务器时间(终端时间)已经过去了多少时间?