OrderSelect() 如何选择单子

xiaoxiao2021-02-28  84

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说明 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).  已
转载请注明原文地址: https://www.6miu.com/read-2622879.html

最新回复(0)