顺序_position_id - 页 17

 

OrderGetInteger - 只对市场上的挂单起作用

HistoryOrderGetInteger - 对历史上已成交的订单 进行处理。

 

如果其他人有兴趣,代码、可执行文件和EA日志文件都附在后面。

MT-5 FORTS

结论。

1.在订单被完全执行或删除之前,它没有任何历史记录。

部分执行的订单的ORDER_POSITION_ID 未被设置。

谢谢大家,我知道了。

附加的文件:
Test_orders.zip  26 kb
 
йSerj_Che:
HI 0 10:29:25.468 交易 : 交易所在市场上买入2.00 SBRF-9.14
JE 0 10:29:25.531 交易 : 接受交易所买入2.00 SBRF-9.14的市场行情
NM 0 10:29:25.562 交易 : 交易所买入 2.00 SBRF-9.14 在市场上放置执行 88 ms
MN 0 10:29:25.562 交易 : 交易#4522433买入2.00 SBRF-9.14在6903完成(基于订单#4988264)。
IE 0 10:29:26.640 交易 : 交易所在市场上卖出2.00 SBPR-9.14
DL 0 10:29:26.734 交易 : 接受交易所卖出2.00 SBPR-9.14的市场价格
MQ 0 10:29:26.734 交易 : 在市场上卖出2.00 SBPR-9.14,在92ms内执行。
KF 0 10:29:26.734 交易 : 交易#4522434卖出1.00 SBPR-9.14在5255完成(基于订单#4988265)。

DK 0 10:29:26.734 交易 : 交易#4522435卖出1.00 SBPR-9.14在5255完成(基于订单#4988265)。

现在是部分执行。

伙计们,来吧,这个列表显示一个订单(#4988265)由两个交易(#4522435和#4522434)执行,与部分执行没有关系。

假设我们想在市场上买入50份VTBR-9.14合约,它是如何运作的呢?我们只能从流动性提供者那里购买,即那些下限价卖单的人。它们的水平和体积可以在杯子的上半部分看到。让我们来看看。

我们下了一个买入订单。我们的订单只能由4个不同的卖家执行。我们可以看到,我们可以在3874买入1份合约,在3875买入40份合约,在3876买入1份合约,在3877买入28份合约。这意味着,我们的订单将由4个卖家一次性完成4笔交易。

交易 #
价格

量/

可用量。

共计

卷宗

时间
1
3874
1/1
112:21:341
2
3875
40/40
4112:21:351
3
3876
1/1
4212:21:363
4
3878
8/28
5012:21:365

注意时间。做交易的时间不一定与下订单的时间一致。让我再举一个例子,使之更加清晰。

部分执行。

假设我们想以不差于3873 的价格买入100 份VTBR-9.14合约。我们在3873的水平上设置了100份合同的买入限额。然而,当我们下单时,已经有几个卖家以比我们订单中指定的价格更好的价格出售他们的合约。

卷宗
价格
1
3871
3
3872
1
3872
39
3872
263872

在下了这个限价单后,马上就会有5笔交易发生。 这将部分地执行我们的限价订单。 70份合同(1+3+1+39+26)的金额。

已执行的交易将进入交易历史,而限价单本身仍处于活动状态,并将在 "交易 "选项卡中如实显示。

一旦我们的订单合并了来自相反方向的限价订单,其价格将是那些希望卖出合约的人的最佳报价。

卷宗
价格
30 (这是我们的出价)
3873
2(其他参与者的报价更差)
3872
12
3871

由于我们的报价较好,而且市场流动性好,我们的订单会被其他市场参与者以相反、市场或挂单的方式填补。

一段时间后,订单将被填满并进入 "历史"。

如果我们从时间上分析整个过程,将得到以下结果。

1.我们设置了一个限价单。其设置时间与ORDER_TIME_SETUP_MSC 相对应。

2.由该订单发起的交易开始触发。这些交易会立即被添加到历史记录中。订单本身仍在 "交易 "选项卡中,看起来如上图所示。

3.一段时间后,所有的交易都会触发,订单获得必要的数量,并被移入订单历史。其 执行时间ORDER_TIME_DONE一般对应于最后一次执行的交易。

由于某些原因(缺乏流动性,订单到期),订单还没有达到必要的数量。在这种情况下,它将以 "部分执行 "的状态被移到历史上。这意味着并非所有要求的交易量都会被执行。

注意这个订单的截图。

该订单在25秒内被执行(!),而在这段时间内,它一直在活动订单的标签中。而只有最后一笔交易被移至历史。它的ORDER_TIME_DONE,现在分别等于最后一笔交易的时间。

 

P/S 正如我所承诺的(关于公布服务台的答复)。

我不会得到服务台的答复,因为我撤回了我的申请,因为不再需要了。

我感谢komposter的建议,即编写一个具有以下功能的测试EA

我将向您提供最新信息,并向您提供详细的日志。

 
papaklass:

好了!?你难道不想感谢Integer吗?他整晚都和你在一起,让你思考。

在这样的态度下,帮助自己...

你想继续吗?
 
papaklass:

好了!?你难道不想感谢Integer吗?他整晚都和你在一起,让你思考。

在这样的态度下,帮助自己...

那是他的错,你不应该帮助他思考,你应该为他做这件事。
 
sandex:
这是他的错误,他不应该帮助思考,而是为他做。

sandex。

你正在寻找错误的部分,OrderGetInteger(ORDER_POSITION_ID)--你正试图寻找没有参与开仓/修改/平仓的部分

你需要像这样 HistoryOrderGetInteger(ticket,ORDER_POSITION_ID)

-----------------

你的评论?

你想继续吗?

 
Mikalas:

sandex。

你正在寻找错误的部分,OrderGetInteger(ORDER_POSITION_ID)--你正试图寻找没有参与开仓/改仓/平仓的部分

你需要像这样 HistoryOrderGetInteger(ticket,ORDER_POSITION_ID)

-----------------

你的评论?

你想继续吗?

为什么?你为什么要这样做?就像这个人写的胡话?如果你没有写你自己的废话,那就不是废话了。你写道,订单条目出现在订单历史中,而且仍在市场中。

你想继续吗?

 

完成,我认为是最后一个。

我以前和现在都没有参加过的论坛

论坛用户之间不存在这种态度!

论坛是一个由志同道合的人组成的社区,解决(讨论)的问题。

这是一个由志同道合的人组成的社区,他们可以一起工作,解决问题,互相帮助。

所有的人都是不一样的--一个人飞快地抓住了问题的本质,而另一个人则需要时间。

以了解它。

悠着点想吧!

P / S 而我感谢Yurich和komposter,正是因为。

我对Yurich和komposter说谢谢,因为他们没有说任何多余的话。

对一个人来说(即使他是错的或错误的)。

他们是真正的论坛用户的典范!

 
papaklass:

我已经在花坛里坐好了。期待它....:)

萨沙,这是个很舒服的姿势,可以让人觉得很舒服......。