// 13.11.2016: // Add: Полная синхронизация OrderSend, OrderModify, OrderClose, OrderDelete с торговым окружением (реал-тайм и история) - как в MT4. // Максимальное время синхронизации можно задать через MT4ORDERS::OrderSend_MaxPause в мкс. Среднее время синхронизации в MT5 ~1 мс.
我想这样的一个例子可以说明问题。
如果你不做Sleep,你经常会遇到这样的情况:历史记录在OrderClose之后没有时间更新,OrderCommission返回的值就像OrderClose没有被完成一样。
请注意,这是一个脚本,不可能有任何Event-over。唯一的出路是一个愚蠢的睡眠。
如果你用SB重写这个脚本,什么也不会改变。
不要把MT4和MT5混为一谈
这个和MT5
这和MT5
在MT5中没有这种情况。
他们的工作方式完全不同。
在MT5中没有这种情况。
他们的工作方式完全不同。
关于交易、自动交易系统和策略测试的论坛
图书馆: MT4Orders
fxsaber, 2016.11.14 13:33
// Add: Полная синхронизация OrderSend, OrderModify, OrderClose, OrderDelete с торговым окружением (реал-тайм и история) - как в MT4.
// Максимальное время синхронизации можно задать через MT4ORDERS::OrderSend_MaxPause в мкс. Среднее время синхронизации в MT5 ~1 мс.
基于上述,是否应该在每次交易 后设置Sleep(1)?
不,同步时间是浮动的。见
实践表明,在绝大多数情况下,Sleep(1)是足够的。
一般来说,从OrderSend 收到关于交易环境变化的响应是非常奇怪的,而这个变化的环境本身还不能被读取。
实践表明,在绝大多数情况下,Sleep(1)是足够的。
有时Sleep(0)也足够了。但必须有一个适用于所有情况的工作解决方案,并尽量减少等待时间。
为什么开发商要修复 "气球先生 "的错误?
此外,还有OrderSendAsync()。