错误、漏洞、问题 - 页 1808 1...180118021803180418051806180718081809181018111812181318141815...3184 新评论 [删除] 2017.02.16 07:50 #18071 fxsaber: _TimeCurrent = MathMax(SymbolInfoInteger(Symbol1, SYMBOL_TIME), SymbolInfoInteger(Symbol2, SYMBOL_TIME), ...); 到目前为止,真的只有这么多东西可以用。通过选择最长的时间。但这是在每个OnBookEvent()中获得两个时间值的额外成本...... fxsaber 2017.02.16 07:55 #18072 Alexey Kozitsyn: 到目前为止,真的只有这么多东西可以用。通过选择最长的时间。但在每个OnBookEvent()中获得两个时间值是额外的开支...... 通过GetMicrosecondCount模拟TimeTradeServer。或者将TimeTradeServer和TimeCurrent之间的差值添加到BookEvent的99%。 [删除] 2017.02.16 07:55 #18073 对SR的申请#1674783请尽快决定! [删除] 2017.02.16 08:01 #18074 fxsaber: 通过GetMicrosecondCount模拟TimeTradeServer。或者在99%的BookEvent中加入TimeTradeServer和TimeCurrent之间的差异。 这仍然是得到多个参数。 fxsaber 2017.02.16 08:03 #18075 Alexey Kozitsyn: 这仍然是一个获得一些参数的问题。 问题不在于参数的数量,而在于其总的廉价程度。 [删除] 2017.02.16 08:05 #18076 fxsaber: 问题不在于参数的数量,而在于其总的廉价程度。 所以你认为TimeTradeServer() 会比SymbolInfoInteger( _Symbol, SYMBOL_TIME )快? fxsaber 2017.02.16 08:08 #18077 Alexey Kozitsyn: 那么,你认为TimeTradeServer() 会比SymbolInfoInteger( _Symbol, SYMBOL_TIME )工作得快吗?TimeTradeServer通过GetMicrosecondCount工作,将相应的差值加入到TimeCurrent中。我不知道你需要得到什么。但在微秒上省钱对我来说似乎并不合理。 [删除] 2017.02.16 08:12 #18078 fxsaber:TimeTradeServer通过GetMicrosecondCount工作,将相应的差值加入到TimeCurrent中。我不知道你需要得到什么。但在我看来,以微秒为单位的节约并不合理。 我需要得到当前时间 的正确值。我要求从当前时间的OnBookEvent()中写入与时间绑定的参数值。我需要的是当前的时间,而不是过去的时间,而且最好不要用拐杖的形式获得几个时间值,选择最大的值。TimeCurrent()应该处理这个任务(根据文档的描述)。但事实证明,它现在并没有这样做! fxsaber 2017.02.16 08:24 #18079 Alexey Kozitsyn: 我需要得到当前时间 的正确值。我正在从OnBookEvent()查询当前时间,以写入与时间绑定的参数的值。我需要的是当前的时间,而不是过去的时间,而且最好不要使用获取多个时间值并选择最高值的拐杖。TimeCurrent()应该处理这个任务(根据文档的描述)。但事实证明,它现在并没有这样做!。 我还没有检查过。datetime NewTimeCurrent( void ){ static ulong PrevStartTime = GetMicrosecondCount(); static datetime PrevTimeCurrent = TimeCurrent(); // TimeTradeServer() const datetime NewTimeCurrent = TimeCurrent(); // TimeTradeServer() const ulong NowTime = GetMicrosecondCount(); if (PrevTimeCurrent < NewTimeCurrent) { PrevTimeCurrent = NewTimeCurrent; PrevStartTime = NowTime; } return(PrevTimeCurrent + (datetime)((NowTime - PrevStartTime) / 1000000));} 你可以说得更精确些。例如,你可以通过查询SymbolInfoTick(+CopyTicks)来运行所有字符。从那里,划出以毫秒为单位的时间。我只是不明白它能有什么实际用途。 fxsaber 2017.02.16 08:29 #18080 fxsaber: 通过查询SymbolInfoTick(+CopyTicks)来运行所有字符。从那里,划出以毫秒为单位的时间。TimeCurrent 的毫秒级类似物早就该出现了,它在GUI中的反映也是如此。 1...180118021803180418051806180718081809181018111812181318141815...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
到目前为止,真的只有这么多东西可以用。通过选择最长的时间。但在每个OnBookEvent()中获得两个时间值是额外的开支......
对SR的申请#1674783
请尽快决定!
通过GetMicrosecondCount模拟TimeTradeServer。或者在99%的BookEvent中加入TimeTradeServer和TimeCurrent之间的差异。
这仍然是一个获得一些参数的问题。
问题不在于参数的数量,而在于其总的廉价程度。
那么,你认为TimeTradeServer() 会比SymbolInfoInteger( _Symbol, SYMBOL_TIME )工作得快吗?
TimeTradeServer通过GetMicrosecondCount工作,将相应的差值加入到TimeCurrent中。
我不知道你需要得到什么。但在微秒上省钱对我来说似乎并不合理。
TimeTradeServer通过GetMicrosecondCount工作,将相应的差值加入到TimeCurrent中。
我不知道你需要得到什么。但在我看来,以微秒为单位的节约并不合理。
我需要得到当前时间 的正确值。我正在从OnBookEvent()查询当前时间,以写入与时间绑定的参数的值。我需要的是当前的时间,而不是过去的时间,而且最好不要使用获取多个时间值并选择最高值的拐杖。TimeCurrent()应该处理这个任务(根据文档的描述)。但事实证明,它现在并没有这样做!。
{
static ulong PrevStartTime = GetMicrosecondCount();
static datetime PrevTimeCurrent = TimeCurrent(); // TimeTradeServer()
const datetime NewTimeCurrent = TimeCurrent(); // TimeTradeServer()
const ulong NowTime = GetMicrosecondCount();
if (PrevTimeCurrent < NewTimeCurrent)
{
PrevTimeCurrent = NewTimeCurrent;
PrevStartTime = NowTime;
}
return(PrevTimeCurrent + (datetime)((NowTime - PrevStartTime) / 1000000));
}
通过查询SymbolInfoTick(+CopyTicks)来运行所有字符。从那里,划出以毫秒为单位的时间。