以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  公式编写求助  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=152412)

--  作者:qq代人发帖
--  发布时间:2017/5/3 13:26:54
--  公式编写求助

请教:

F TYPE(-1)=3 THEN BEGIN 
平空:SELLSHORT(PK,ss,limitr,MAX(aaa,O));  
END
IF TYPE(-1)=4 && HOLDING=0 THEN BEGIN                //平空信号
开多:BUY(KD ,ss,limitr,MAX(aaa,O)); 
END  
 IF TYPE(-1)= 1 THEN BEGIN      
平多:SELL(PD,ss,limitr,MIN(bbb,O)); 
END
  
IF TYPE(-1)=2  AND HOLDING=0 THEN BEGIN
开空:BUYSHORT(KK ,ss,limitr,MIN(bbb,O));     //开空信号
END

 

平多后只开空,平空后只开多,上面的方法能实现吗?

 


--  作者:pyd
--  发布时间:2017/5/3 13:34:12
--  

上次信号类型用1不是-1:TYPE(1)

这样写有个问题,就是第一个开仓信号之前是没有平仓信号的,开仓条件总是不成立

[此贴子已经被作者于2017/5/3 13:35:12编辑过]

--  作者:pyd
--  发布时间:2017/5/3 13:37:52
--  


平空:SELLSHORT(PK and holding<0,ss,limitr,MAX(aaa,O));  //平空用holding<0就能判断之前是开空了,因为每次开平手数是一样的

IF TYPE(1)=4 or TYPE(1)=0 and HOLDING=0 THEN BEGIN                //开多之前是平空或者之前无信号
开多:BUY(KD ,ss,limitr,MAX(aaa,O));
END 
   
平多:SELL(PD and holding>0,ss,limitr,MIN(bbb,O)); //平多用holding>0就能判断之前是开多了,因为每次开平手数是一样的

 
IF TYPE(1)=2 or TYPE(1)=0  AND HOLDING=0 THEN BEGIN//开空之前是平多或者之前无信号
开空:BUYSHORT(KK ,ss,limitr,MIN(bbb,O));     //开空信号
END

 

[此贴子已经被作者于2017/5/3 13:40:34编辑过]