Функция PositionSelect() копирует данные о позиции в программное окружение, и последующие вызовы PositionGetDouble(), PositionGetInteger() и PositionGetString()
возвращают ранее скопированные данные. Это означает, что самой позиции может уже и не быть (или же она изменилась по объему, направлению и т.д.),
а данные этой позиции можно еще получать. Для гарантированного получения свежих данных о позиции рекомендуется вызывать функцию PositionSelect()
непосредственно перед обращением за ними.
在PositionGet中,没有事先进行PositionSelect。
迈克尔,让我们再来一张有延迟的 "床单",这越来越无聊了。:))))
你什么时候去参加开幕式?:)))))))
你错了,PositionSelect是在每个tick和第3块最后一个信息输出之前调用的,它也会工作。所以,原因显然不在本案中。
有时我也会弄错,但情况并非如此,显然在这)
在PositionSelect被调用 时的位置数据值。
订单发送后,这些值不会被更新。
如果PositionSelect(...)==false,PositionGet就没有意义了。
因此:在OrderSend之后,位置数据不能立即被获取......异步是一种邪恶。
有时我也会弄错,但情况并非如此,显然在这)
在PositionSelect被调用 时的位置数据值。
订单发送后,这些值不会被更新。
如果PositionSelect(...)==false,PositionGet就没有意义了。
因此:在OrderSend之后,位置数据不能立即被检索......异步性是一种邪恶。
我很乐意同意--我不以承认错误为耻。但是请看:在我们进入第3块之前,在处理程序OnTick()的最开始,你提到的PositionSelect()被调用,而没有OrderSend()被执行。在代码中,我有意在第1、2和3块的执行之间添加了一个1000点的延迟计数器--它是关于异步的,我认为在测试器中,这足以解决这个位置。此外,我还改变了第3块的条件。
结果没有改变:平仓指令被执行,但头寸大小仍然等于1。
:-(
不应编译...PositionSelect(_Symbol)
不应编译...PositionSelect(_Symbol)
不应编译...定位选择(_Symbol
纠正了_符号。
一句话:你是对的!现在第3块不起作用了,这意味着位置没有被选中。谢谢你的对话!:-)
勺子已被找到,但残留物仍在。如果没有更多的头寸,头寸的体积 怎么会等于1?
这不符合文件的规定。
那么,调用PositionSelect()的结果为false时,不会更新位置信息?太糟糕了!
那么,调用PositionSelect()的结果为false时,不会更新位置信息?太糟糕了!
现在已经有10个月了.....