OrderSelect() 如何选择单子

bool OrderSelect(int index, int select, void pool)
此函数用于选择订单。
如果函数选择成功,返回的值为TRUE;   如果选择失败,返回的值为FALSE。      
 
如果订单的平仓时间为0,则说明该订单为进入市场的已成交单或已发出的挂单。如果平仓时间不为0,则为历史中的 已平仓单或已取消的挂单
  
bool OrderSelect( int index,   int select,    int pool=MODE_TRADES
选定订单 

:: 输入参数
index  -  订单索引

select -  选定模式        有两种:         SELECT_BY_TICKET (按单号)
                                         SELECT_BY_POS,(按序号)         
pool    -  (可选项)  订单状态的索引.   
                  当选定模式只有为 SELECT_BY_POS时, 它才可以使用以下两个参数之一.
                MODE_TRADES (默认)-       在交易中模式:正在交易中的订单中选择(包括现已在市场中的订单和 尚未成交的挂单),
                MODE_HISTORY -                  在历史中模式:从交易历史中的订单中选择 (包括已平仓订单 和 已撤消的挂单). 
 
 //-----------------------------------------------------------------------------------------------------------------------------------------
 
 SELECT_BY_POS            对于持仓单和挂单是按下单时间顺序;
                                               对于已平仓的历史单是平仓时间为顺序,pos相当于索引,ticket才是标识。
  
//-----------------------------------------------------------------------------------------------------------------------------------------
 
OrderSelect( ticket,      SELECT_BY_ TICKET,    MODE_TRADES)
根据单号           ticket就是单据号码
 
OrderSelect( cnt,          SELECT_BY_ POS,          MODE_TRADES)
根据单子的位置顺序来操作(时间最前面的编号为1,后面的以此类推2,3,4,5)   cnt就是序号
 
//-----------------------------------------------------------------------------------------------------------------------------------------
  OrderSelect() <wbr><wbr>如何选择单子

  
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------
(转)OrderSelect说明
bool OrderSelect( int index, int select, int pool=MODE_TRADES) 
选定订单 

:: 输入参数
index - 订单索引
select - 选定模式,SELECT_BY_POS,SELECT_BY_TICKET
pool - Optional order pool index. Used when select parameter is SELECT_BY_POS.It can be any of the following values:
MODE_TRADES (default)- order selected from trading pool(opened and pending orders),
MODE_HISTORY - order selected from history pool (closed and canceled order). 

示例:

if(OrderSelect(12470, SELECT_BY_TICKET)==true)
{
Print("order #12470 open price is ", OrderOpenPrice());
Print("order #12470 close price is ", OrderClosePrice());
}
else
Print("OrderSelect failed error code is",GetLastError());

据我的了解是在你用 ordersend () 的时候,你会得到一个 ticket 号码,
你在使用OrderSelect()时,你可以选择单一交易单,或者是所有的交易单 (正在交易的单)
选择单一的交易单
OrderSelect(这个 ticket 号码,SELECT_BY_TICKET)
total  = OrdersTotal();   找出已经成交的数量

SELECT_BY_POS = select by using position  就是选择利用位置
SELECT_BY_TICKET = select by using ticket number 就是选择利用单据号码

当你利用:
total  = OrdersTotal();  
for(int cnt=0;cnt
{
        OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
        ...... 

你已经知道当前你拥有的单子数量,就是total
比如说你已经开了10个单子,那么系统已经排好单子次序。。。
所以你才用 for(int cnt=0;cnt 
利用 cnt 的数目来选择你要打开的单子。。。

当你用ordersend()的时候,你是应该这样写的

int ticket = Ordersend(Symbol(),OP_SELL,Lots,Bid,3,......................

这样你就会得到 ticket 的号码, 就比如12470

那么如果你要选择这个单子就用:

OrderSelect(12470, SELECT_BY_TICKET)

index   -   Order index or order ticket depending on the second parameter. 
如果你用SELECT_BY_TICKET,index = 单子号码
如果你用SELECT_BY_POS, index = 单子排名

pool   -   Optional order pool index. Used when the selected parameter is SELECT_BY_POS. It can be any of the following values:
这个只用在SELECT_BY_POS,如果SELECT_BY_TICKET就填空

MODE_TRADES (default)- order selected from trading pool(opened and pending orders),
已经打开的单子和挂单
MODE_HISTORY - order selected from history pool (closed and canceled order). 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值