mql吧 关注:69贴子:164
  • 2回复贴,共1

2014-1-18学习日记

只看楼主收藏回复

双击锁仓
int start()
{
//----
int positions=0;
int result=0;
int i=0;
while(OrderSelect(i,SELECT_BY_POS)==true)
{
if((OrderSymbol()==Symbol())&&(OrderType()==OP_BUY))
{
positions+=OrderLots();
}
else if((OrderSymbol()==Symbol())&&(OrderType()==OP_SELL))
{
positions-=OrderLots();
}
i++;
}
//如果总头寸是空头
if(positions<0)
{
Alert("商品"+Symbol()+"总头寸为空,持仓量是:"+(-positions)+"。下面开多头仓位来对冲");
result=OrderSend(Symbol(),OP_BUY,-positions,Ask,3,0,0);
}
//如果总头寸是多头
else if(positions>0)
{
Alert("商品"+Symbol()+"总头寸为多头,持仓量是:"+positions+"。下面开多头仓位来对冲");
result=OrderSend(Symbol(),OP_BUY,-positions,Bid,3,0,0);
}
//以下是总头寸平衡的情形,不用进行特殊处理
if(result<0)
{
Alert("对冲仓开仓失败");
}
else
{
Alert("商品"+Symbol()+"已经平衡");
}
//----
return(0);
}


IP属地:湖北1楼2014-01-18 09:37回复
    int OrderType()对于当前选择定单返回定单类型。
    可以是以下的任意值:
    OP_BUY -买进,
    OP_SELL - 卖出,
    OP_BUYLIMIT - 挂单买入限定,
    OP_BUYSTOP - 挂单停止限定,
    OP_SELLLIMIT - 挂单卖出限定,
    OP_SELLSTOP - 挂单停止限定。


    IP属地:湖北4楼2014-01-18 10:36
    回复
      int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE)
      发送订单
      :: 输入参数
      symbol - 通货标示
      cmd - 购买方式
      volume - 购买手数
      price – 开仓价格
      slippage - 最大允许滑点数
      stoploss - 止损价
      takeprofit - 获利价
      comment - 注释
      magic - 自定义编号
      expiration - 过期时间(只适用于待处理订单)
      arrow_color - 箭头颜色


      IP属地:湖北5楼2014-01-18 10:44
      回复