MQL5中关于交易有三种概念:Order,Deal和Position。有没有文章对这三个概念有个详细的解释和比较呢?我的疑惑在于:如果我理解的不错的话,Deal表示即时交易,Order表示挂单交易,Position表示仓位。但是如果我想获取某个即时交易,应该用什么函数,貌似还是OrderSelect?
所有下单操作(buy, buystop, buylimit, sell, sellstop, selllimit)都是order;
只有在真正成交后(buy, sell 也有不成功的时候,buystop, buylimit, sellstop,selllimit 在触发后),才会成为deal;
position是持仓没错。
获取某即时交易,参见 HistoryDealSelect。
MQL5中关于交易有三种概念:Order,Deal和Position。有没有文章对这三个概念有个详细的解释和比较呢?我的疑惑在于:如果我理解的不错的话,Deal表示即时交易,Order表示挂单交易,Position表示仓位。但是如果我想获取某个即时交易,应该用什么函数,貌似还是OrderSelect?
MetaTrader 5 中的订单、持仓和成交
MQL5 Cookbook: 交易历史和取得仓位信息的函数库
- 2013.10.29
- Anatoli Kazharski
- www.mql5.com
所有下单操作(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,于是等于所有的订单都已经交割掉了?
非常感谢!
是不是原来在MT4中的对冲锁单在MT5中就没有这个效果了呢?因为MT5增加了仓位Position的概念,下了1手买单,一段时间以后再下1手卖单,之前在MT4上有两个订单Order构成对冲锁单,在分别进行平仓操作前仍然都是有效的,但是现在则变为1手建仓(in)操作和1手平仓(out)操作,仓位变为0,于是等于所有的订单都已经交割掉了?
是的,MT5中一个货币对上只会有一个position。
个人认为同一个货币对上的对冲单(对锁单)其实只会让你养成坏的交易习惯,呵呵。
是的,MT5中一个货币对上只会有一个position。
个人认为同一个货币对上的对冲单(对锁单)其实只会让你养成坏的交易习惯,呵呵。
恩,您说的有道理!那么,我觉得我可以尝试用挂单来进行止盈止损了!:)
谢谢你!
那么理论上来讲,是不是一个Order存在被分解成几次Deal完成的可能呢?比如:下了10手的单子,市场上一下子消化不掉,于是分成三次消化了,首先成交5手,然偶3手,最后2手,于是一个Order对应了三个Deal?
在你掌控10亿美元资金之前,不会出现这种情况。呵呵
MQL5中关于交易有三种概念:Order,Deal和Position。有没有文章对这三个概念有个详细的解释和比较呢?我的疑惑在于:如果我理解的不错的话,Deal表示即时交易,Order表示挂单交易,Position表示仓位。但是如果我想获取某个即时交易,应该用什么函数,貌似还是OrderSelect?