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

 

MqlTradeResult result.price中,当限价订单被执行时,我得到的是0(在我的例子中是BUY STOP)。

其余的字段,如数量、订单等,都有数据。为什么价格是0?或者正确的方法是什么?

p.s. 我正在调试器中观察历史。

 
leonerd:

MqlTradeResult result.price中,当限价订单被执行时,我得到的是0(在我的例子中是BUY STOP)。

其余的字段,如数量、订单等,都有数据。为什么价格是0?或者正确的方法是什么?

p.s. 我在调试器中查看历史。

嗯,确实如此。当ORDER_TYPE_BUY在result.price中,我得到了价格,但当ORDER_TYPE_BUY_STOP在那里,我得到了0。

 
经纪人确认的交易中的价格。取 决于交易请求中的偏差字段和/或交易的类型


也就是说,这只是针对一项交易。在通过OrderSend()设置后,如何获得订单价格? 是指通过MqlTradeResult 响应,而不是通过任何交易处理程序我们不明白为什么如果有交易,响应会包含价格,但如果有限价订单,其价格就不会出现。

 
leonerd:

也就是说,这只是针对一项交易。在通过OrderSend()设置后,如何获得订单价格? 是指通过MqlTradeResult 响应,而不是通过任何交易处理程序不知为何,如果有交易,响应中会包含价格,而如果有限价订单,我们不会看到它的价格,这一点不清楚。

要求.价格。

 
fxsaber:

要求.价格。

假设请求的价格可以在服务器上被改变,而订单可以被设定为与订单中的价格不同的价格。

 
leonerd:

假设请求的价格可以在服务器上被改变,而订单可以被设定为与订单中的价格不同的价格。

只有在发送Request.price = 0的市价订单时,才可能出现这种情况。

ZZY 在MT4上,这个问题从未困扰过任何人。在MT5上应该出于什么原因出现这种情况?
 
fxsaber:

只有在发送Request.price = 0的市价订单时,才可能出现这种情况。

ZS 在MT4上,这个问题从未困扰过任何人。在MT5上出现这种情况的原因是什么?

这里显然有某种逻辑上的错误。MqlTradeResult是一个交易操作的结果。限价单是一种交易操作?是的,音量和其他参数都来自这个结构。但为什么不是价格呢?这一点并不清楚。

 
leonerd:

这里显然有某种逻辑上的错误。MqlTradeResult是一个交易操作的结果。限价单是一种交易操作?是的,音量和其他参数都来自这个结构。但为什么不是价格呢?这一点并不清楚。

挂单不是一个交易操作。它是一个以订单中指定的价格执行的订单。订单执行后将发生交易--根据账户类型(对冲、净额),交易将产生一个头寸或修改现有头寸。

 
Artyom Trishkin:

挂单不是一个交易操作。它是一个以订单中指定的价格执行的订单。交易将在订单被执行后发生--根据账户类型(对冲、净额),交易将发起或修改现有头寸。

好吧,我说错了。让我们引用原始资料。

交易请求结果的结构(MqlTradeResult)。

为了响应向交易系统下单交易请求,交易服务器将包含交易请求处理结果信息的数据作为一个特殊的预定义结构MqlTradeResult返回


p.s. 编辑中的引文在哪里?我必须要进入HTML吗?多么不方便。

 

p.s. где ж тут цитирование в редакторе? Мне в хтмл что ли лезть? Как неудобно-то.

发现