不知道哪里出毛病,平不了仓! (文华财经wh9)

投资者咨询:不知道哪里出毛病,平不了仓! (文华财经wh9)
来源:文华财经  日期:2018-6-14 19:36
 思路是,当符合多空行情的信号【按信号连续进场】,当符合平仓条件时或止损条件时全部平仓。
不知道哪里出毛病,平不了仓!

PreBreakoutFailure=0;
If(DKKG==1 &&  PreBreakoutFailure==0)
//DKKG多空开关=1,做多;
    {
          If(New_Order >Ref(Close,1))
              {
  Buy(Jichu_Lot,Open );
               PreBreakoutFailure=0 ;
               }
       }
Else If(DKKG==2 &&  PreBreakoutFailure==0)
//DKKG多空开关=2,做空;
     {
          If(New_Order < Ref(Close,1))
              {
  SellShort(Jichu_Lot,Open );
               PreBreakoutFailure=0 ;
               }
        }
 If(DKKG==1 && MarketPosition == 1) 
// 有多仓的情况
      {       
          If(New_Order < Ref(Close,1))
//符合平多条件平仓
{
                Sell(0,New_Order );    
}
        Else If(New_Order < Ref(Close,1))
//止损 
{
   Sell(0,New_Order );    
}
          }
 If(DKKG==2 &&  MarketPosition == -1)
 // 有空仓的情况
      {       
If(New_Order >Ref(Close,1))
//符合平空条件平仓
{
   BuyToCover(0,New_Order );   
 }
      Else If(New_Order >Ref(Close,1))
//止损 
{
   BuyToCover(0,New_Order );   
 }
          }
End
技术人员回复
日期:2018-6-14 19:40
 委托手数的位置写为DefaultVol函数,表示按照默认的下单手数委托

写入0,表示下单手数为0了,所以才不开仓的,您修改下试试

Sell(DefaultVol,Open);//以开盘价发出卖平委托,委托的手数是默认的下单手数
投资者咨询:不知道哪里出毛病,平不了仓! (文华财经wh9)
来源:文华财经  日期:2018-6-14 19:36
 我是要求全部平仓,
我试过无数次了,
1、按照平多函数--只写Sell;    //平全部多头持仓;也不行;
2、如果N写为DefaultVol或者不写入N,平仓数量为全部持仓,即全平。也不行
技术人员回复
日期:2018-6-14 19:53
 明白您的思路了

您使用  BKVol 或者 SKVol 取得当前可用持仓手数进行平仓,就可以平全部持仓了
投资者咨询:不知道哪里出毛病,平不了仓! (文华财经wh9)
来源:文华财经  日期:2018-6-14 19:36
 试了,还是不行图片点击可在新窗口打开查看
投资者咨询:不知道哪里出毛病,平不了仓! (文华财经wh9)
来源:文华财经  日期:2018-6-14 19:36
 谢谢了,问题解决了,还真是平仓函数的参数问题,被交易指令说明给误导了一天图片点击可在新窗口打开查看
技术人员回复
日期:2018-6-14 20:56
 DefaultVol指的是默认平仓手数

即参数中设置的平仓手数,而不是指当前的全部持仓

参数设置,在软件左上角“N”您可以看下