以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  期权开仓分单写法  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=160965)

--  作者:rockyan
--  发布时间:2018/1/10 14:20:33
--  期权开仓分单写法
在图表情况下,下例仅按ss0=30设置,实测并不能多次开仓 bkk等是开平仓的条件,具体策略无所谓了,主要是开仓张数问题
不知是什么原因,该怎样改

.......
KCCS:SS0/10,linethick0;//ss0参数是预设的10的倍数,单位 张
if bkk+bpp+spp+skk>=1 then begin
   SELLSHORT(bpp,10,LIMIT,C+bkps),IGNORECHECKPRICE;                  //平空信号
   BUY(bkk AND HOLDING=0,10,LIMIT,C+bkps),IGNORECHECKPRICE;          //开多信号
   SELL(spp,10,LIMIT,C+skps),IGNORECHECKPRICE;                       //平多信号
   BUYSHORT(sKK AND HOLDING=0,10,LIMIT,C+skps),IGNORECHECKPRICE;     //开空信号
  if kccs=2 then BEGIN
    SELLSHORT(bpp,10,LIMIT,C+bkps),IGNORECHECKPRICE;                  //平空信号
    BUY(bkk AND HOLDING=0,10,LIMIT,C+bkps),IGNORECHECKPRICE;          //开多信号
    SELL(spp,10,LIMIT,C+skps),IGNORECHECKPRICE;                       //平多信号
    BUYSHORT(sKK AND HOLDING=0,10,LIMIT,C+skps),IGNORECHECKPRICE;     //开空信号
  end
  if kccs=3 then BEGIN
    ddd:02,linethick0;
    SELLSHORT(bpp,10,LIMIT,C+bkps),IGNORECHECKPRICE;                  //平空信号
    BUY(bkk AND HOLDING=0,10,LIMIT,C+bkps),IGNORECHECKPRICE;          //开多信号
    SELL(spp,10,LIMIT,C+skps),IGNORECHECKPRICE;                       //平多信号
    BUYSHORT(sKK AND HOLDING=0,10,LIMIT,C+skps),IGNORECHECKPRICE;     //开空信号
    
    SELLSHORT(bpp,10,LIMIT,C+bkps),IGNORECHECKPRICE;                  //平空信号
    BUY(bkk AND HOLDING=0,10,LIMIT,C+bkps),IGNORECHECKPRICE;          //开多信号
    SELL(spp,10,LIMIT,C+skps),IGNORECHECKPRICE;                       //平多信号
    BUYSHORT(sKK AND HOLDING=0,10,LIMIT,C+skps),IGNORECHECKPRICE;     //开空信号
  end
END

--  作者:rockyan
--  发布时间:2018/1/10 14:23:11
--  
http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=160902&page=0&move=pre#editform
问过类似问题,但按10楼所言改的,但未达目的

--  作者:FireScript
--  发布时间:2018/1/10 14:26:41
--  
KCCS=3的条件下的四个交易语句都重复了一次,你所说的没能多次开仓是这里的问题?还是什么。可否举例说明下。
--  作者:rockyan
--  发布时间:2018/1/10 16:28:58
--  
是的 就是这里的问题
--  作者:FireScript
--  发布时间:2018/1/10 16:34:29
--  

假设你现在触发的是bpp和bkk条件 并且持有空仓

 

先平按照语句执行顺序,先平空再开多。开多之后holding不在等于0了 。等到执行到第二个BUY的时候,因为holding=0的限制就没办法再次开仓 。


--  作者:rockyan
--  发布时间:2018/1/10 17:19:43
--  
糊涂了,谢谢