顺序_position_id - 页 2

 
需要更多的背景(代码)。这张票来自哪里,在执行这段代码之前,它等于什么?
 
Rosh:

也许这是因为ORDER_POSITION_ID是在订单执行后立即请求的,当时交易服务器还没有时间发送有关交易的信息

阅读文章MetaTrader 5中的交易事件


我给了一个代码片段作为例子,但实际上获取ID的函数是这样的。

//+------------------------------------------------------------------+
//| Get order position ID function                                   |
//+------------------------------------------------------------------+
long GetOrderPosId( const ulong ticket )
{
  long pos_id = 0;
  
  if ( OrderSelect( ticket ) )
  {
    string pos_symbol = OrderGetString( ORDER_SYMBOL );
    
    if ( PositionSelect( pos_symbol ) )
    {
      return( long( OrderGetInteger( ORDER_POSITION_ID ) ) );
    }
  }
  
  return( pos_id );
}

P/S Rosh,请不要让我去读文章。

相信我,我读了很多书,而事实上,我问了很多

问题,这是因为在文档中存在着很多模糊不清的地方。

 
marketeer:
我们需要更多的背景(代码)。这张票来自哪里,在执行这段代码之前,它等于什么?

如果订单被选中,你认为该票是什么?

而这张票是作为交易服务器接受订单的回应而从网上取走的。

 
Mikalas:

如果订单被选中,你认为该票是什么?

而这张票是作为交易服务器接受订单的回应而从网上取走的。

而你认为我们怎么知道你从什么地方得到的呢?你显示的代码仍然没有说明票据的内容,没有说明请求是如何被执行的,你也没有使用,例如,调试打印或其他手段来检查变量是否包含一个左旋的数字(对于初学者,那么request.action等于什么?)虫子可以在任何地方潜入。
 
marketeer:
你认为我们怎么知道你得到的是什么,以及它来自哪里?你显示的代码仍然没有说明票据的内容,没有说明请求是如何被执行的,你也没有使用,例如,调试打印或其他手段来确保变量不包含一个左旋的数字(对于初学者,那么request.action等于什么?)虫子可以在任何地方潜入。
谢谢你,我明白你的意思。
 
Mikalas:
谢谢你,我理解你的观点。
不客气。我不明白你的意思。你已经被暗示了,请求的异步执行和票据的接收。在你展示代码如何以及何时处理这些东西之前,这个问题原来是针对心灵感应者的。
 
marketeer:
不客气。我也不明白你的意思。你已经被暗示了,请求的异步执行和票据的接收。直到你展示代码,如何以及何时处理这些东西,这个问题原来是针对心灵感应者的。

让我解释一下。

从上面的代码来看,一切都很明显。

哪张票并不重要(订单是单独下的)。仔细查看(按票据和仓位的订单符号开出的订单部分被此订单执行)。

除了打印之外,还有一步步执行的程序

当我到了

return( long( OrderGetInteger( ORDER_POSITION_ID ) ) );

它返回 "0"。

问题不在于我是否能用MQL5编程(以及追踪程序),而在于

问题是,如果它在文件中说的是一件事,而在现实中出现的是另一件事(服务台照例是沉默的)。

或者我可能正确地解释了文件中关于ORDER_POSITION_ID 的描述

(阅读我的3个帖子)。

 
Mikalas:

让我解释一下。

从上面的代码来看,一切都很明显。

哪张票并不重要(订单是单独下的)。仔细查看(按票据和仓位的订单符号开出的订单部分被此订单执行)。

除了打印之外,还有一步步执行的程序

当我到了

它返回 "0"。

问题不在于我是否能在MQL5中编程(以及追踪程序),而在于什么是在

问题是,如果它在文件中说的是一件事,而在现实中出现的是另一件事(服务台照例是沉默的)。

或者我可能正确地解释了文件中关于ORDER_POSITION_ID 的描述

(阅读我的3个帖子)。

又是25。重要的是,你的订单和你如何放置它。也许,例如(假设性的,因为一切都还是个谜),你有一个钟摆,那么位置ID可以是什么?

上面的代码没有任何意义。

 
marketeer:

又是25个。重要的是,你的订单和你如何放置它。也许你有,例如(假设性的,因为一切都还是个谜),一个钟摆,那么什么可以是位置的ID?

上面的代码没有任何意义。

对不起,但我们说的是 "不同 "的语言,或者说你读的是跨行。

该挂单为ONE, 该仓位已被这个 仍然有效订单 部分打开

追踪 程序时,我得到了返回( long( OrderGetInteger( ORDER_POSITION_ID ) ));

 
Mikalas:

对不起,但你和我说的是 "不同 "的语言,或者说你在越界阅读。

该挂单为ONE, 订单已部分开仓,该订单 仍在有效期

追踪 程序时,我得到了返回( long( OrderGetInteger( ORDER_POSITION_ID ) ));

你观察这个部分执行的命令。它在哪里?在交易列表中还是在已执行的订单中?