初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1271

 
Alexey Viktorov:

从未使用过,但我认为我们应该检查交易类型TRADE_TRANSACTION_ORDER_UPDATE

这很明显。我接下来应该检查什么?

 
leonerd:

这很明显。我接下来应该检查什么?

MqlTradeRequest中的动作?

 
leonerd:

MqlTradeRequest中的动作?

不,它没有

 
trans.order_state==ORDER_STATE_REQUEST_MODIFY
这也行不通
 
leonerd:
这也行不通。

老兄,向你致敬!你是个好人。你在尝试一些东西。大多数人问了之后只会抱怨 说没有向他们解释。)))

 
leonerd:

这很明显。接下来要检查什么?

很明显,比较 "昨天 "和 "今天 "的价格。粗略地说,它过去是什么,现在是什么。如果它发生了变化,那么它就是这样的。

 
Alexey Viktorov:

很明显,比较 "昨天 "和 "今天 "的价格。粗略地说,它过去是什么,现在是什么。如果它被改变了,那么它就是这样。

那么,我是否应该把昨天的价格储存在某个地方?我不能在OnTradeTransaction 中得到它,是吗?

 
leonerd:

所以我必须把昨天的价格储存在某个地方?我不能在OnTradeTransaction 中得到它,是吗?

只有在下订单时。交易类型TRADE_TRANSACTION_ORDER_ADD

然后它必须被储存起来,直到它被改变。

 

你到

Alexey Viktorov:

只有在下订单的时候。交易类型TRADE_TRANSACTION_ORDER_ADD

然后,它必须被储存起来,直到被改变。

你怎么能想象到这一点?我把所有的订单和它们的公开价格 存储在某种数组或列表中。每次我更新(TRADE_TRANSACTION_ORDER_UPDATE)时,我都要在列表中寻找带有所需票据的订单?难道没有一个优雅的解决方案吗?

 
leonerd:

你是否要...

你怎么会想到这一点呢?我把所有的订单和它们的公开价格 存储在一些数组或列表中。每次我更新它(TRADE_TRANSACTION_ORDER_UPDATE)时,我都要在列表中寻找一个有需要票据的订单?难道没有一些优雅的解决方案吗?

这取决于抓取更新的目的。简单地重新加载阵列如何?