如何获取即时交易(关于Order,Deal和Position的疑惑)

 

MQL5中关于交易有三种概念:Order,Deal和Position。有没有文章对这三个概念有个详细的解释和比较呢?我的疑惑在于:如果我理解的不错的话,Deal表示即时交易,Order表示挂单交易,Position表示仓位。但是如果我想获取某个即时交易,应该用什么函数,貌似还是OrderSelect?

 
aforexpert:

MQL5中关于交易有三种概念:Order,Deal和Position。有没有文章对这三个概念有个详细的解释和比较呢?我的疑惑在于:如果我理解的不错的话,Deal表示即时交易,Order表示挂单交易,Position表示仓位。但是如果我想获取某个即时交易,应该用什么函数,貌似还是OrderSelect?

所有下单操作(buy, buystop, buylimit, sell, sellstop, selllimit)都是order;

只有在真正成交后(buy, sell 也有不成功的时候,buystop, buylimit, sellstop,selllimit 在触发后),才会成为deal;

position是持仓没错。

获取某即时交易,参见 HistoryDealSelect。

 
aforexpert:

MQL5中关于交易有三种概念:Order,Deal和Position。有没有文章对这三个概念有个详细的解释和比较呢?我的疑惑在于:如果我理解的不错的话,Deal表示即时交易,Order表示挂单交易,Position表示仓位。但是如果我想获取某个即时交易,应该用什么函数,貌似还是OrderSelect?

MetaTrader 5 中的订单、持仓和成交

MQL5 Cookbook: 交易历史和取得仓位信息的函数库

MQL5 Cookbook: 交易历史和取得仓位信息的函数库
MQL5 Cookbook: 交易历史和取得仓位信息的函数库
  • 2013.10.29
  • Anatoli Kazharski
  • www.mql5.com
现在是时候简单总结一下之前关于仓位属性文章的内容了,在本文中,我们会额外创建几个函数来取得只能通过访问交易历史才能获得的属性,我们也会对数据结构更加熟悉,这使我们可以用更加方便的方法访问仓位和交易品种属性。
 
tradelife:

所有下单操作(buy, buystop, buylimit, sell, sellstop, selllimit)都是order;

只有在真正成交后(buy, sell 也有不成功的时候,buystop, buylimit, sellstop,selllimit 在触发后),才会成为deal;

position是持仓没错。

获取某即时交易,参见 HistoryDealSelect。

谢谢你!

那么理论上来讲,是不是一个Order存在被分解成几次Deal完成的可能呢?比如:下了10手的单子,市场上一下子消化不掉,于是分成三次消化了,首先成交5手,然偶3手,最后2手,于是一个Order对应了三个Deal?

 

非常感谢!

是不是原来在MT4中的对冲锁单在MT5中就没有这个效果了呢?因为MT5增加了仓位Position的概念,下了1手买单,一段时间以后再下1手卖单,之前在MT4上有两个订单Order构成对冲锁单,在分别进行平仓操作前仍然都是有效的,但是现在则变为1手建仓(in)操作和1手平仓(out)操作,仓位变为0,于是等于所有的订单都已经交割掉了?

 
aforexpert:

非常感谢!

是不是原来在MT4中的对冲锁单在MT5中就没有这个效果了呢?因为MT5增加了仓位Position的概念,下了1手买单,一段时间以后再下1手卖单,之前在MT4上有两个订单Order构成对冲锁单,在分别进行平仓操作前仍然都是有效的,但是现在则变为1手建仓(in)操作和1手平仓(out)操作,仓位变为0,于是等于所有的订单都已经交割掉了?

是的,MT5中一个货币对上只会有一个position。

个人认为同一个货币对上的对冲单(对锁单)其实只会让你养成坏的交易习惯,呵呵。 

 
luenbo:

是的,MT5中一个货币对上只会有一个position。

个人认为同一个货币对上的对冲单(对锁单)其实只会让你养成坏的交易习惯,呵呵。 

恩,您说的有道理!那么,我觉得我可以尝试用挂单来进行止盈止损了!:)

 
aforexpert:

谢谢你!

那么理论上来讲,是不是一个Order存在被分解成几次Deal完成的可能呢?比如:下了10手的单子,市场上一下子消化不掉,于是分成三次消化了,首先成交5手,然偶3手,最后2手,于是一个Order对应了三个Deal?

在你掌控10亿美元资金之前,不会出现这种情况。呵呵
 
tradelife:
在你掌控10亿美元资金之前,不会出现这种情况。呵呵
:)