以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  保本策略中,holding的用法是不是错了  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=141679)

--  作者:xiangquzi
--  发布时间:2016/10/24 4:29:50
--  保本策略中,holding的用法是不是错了

用轮询模式 ,目前貌似没有保本效应,策略哪里写的有问题吗?是不是holding写错啦,代码如下:

 

 

 

 

HH:=HHV(H,ENTERPRICE);//买开仓位置到现在最高价
LL:=LLV(L,ENTERPRICE);//卖开仓位置到现在最低价

 

//出现25个点以上的利润,最高点到现在回落50%
DD:= HH-ENTERPRICE>=25*MINDIFF AND C<0.5*HH;
KK:= ENTERPRICE-LL>=25*MINDIFF AND C>0.5*LL;

 

 


 

IF HOLDING>0&& DD THEN

    SELL(1,HOLDING,LIMITR,CLOSE); //平多
   
   
 IF HOLDING>0&& KK THEN
 
    SELLSHORT(1,HOLDING,LIMITR,CLOSE);   //平空
   


--  作者:xiangquzi
--  发布时间:2016/10/24 5:48:03
--  

//120点止盈,15止损
HH:=HHV(H,ENTERPRICE);//买开仓位置到现在最高价
LL:=LLV(L,ENTERPRICE);//卖开仓位置到现在最低价
HH1:=0.5*(HH+ENTERPRICE);
LL1:=0.5*(LL+ENTERPRICE);

//出现25个点以上的利润,但是不到100
DD:= HH-ENTERPRICE>=25*MINDIFF AND C<HH1;
KK:= ENTERPRICE-LL>=25*MINDIFF AND C>LL1;

 

PD:= (C>=ENTERPRICE+120*MINDIFF) OR  (ENTERPRICE-25*MINDIFF>=C ) OR  DD;          //平多条件

PK:=(C>=ENTERPRICE+25*MINDIFF) OR (ENTERPRICE-120*MINDIFF>=C) OR KK;          //平空条件


IF HOLDING>0&& DD THEN

    SELL(1,HOLDING,LIMITR,CLOSE); //平多
   
   
 IF HOLDING>0&& KK THEN
 
    SELLSHORT(1,HOLDING,LIMITR,CLOSE);   //平空
   

 

 

改成了这个  大致可以  但是不明白为啥最后一行 要求 holding>0?     平空不是要求有空仓吗?


--  作者:jinzhe
--  发布时间:2016/10/24 9:17:17
--  
平空要holding<0
--  作者:xiangquzi
--  发布时间:2016/10/24 12:33:14
--  

用holding<0多了很多无用的交易啊


--  作者:xiangquzi
--  发布时间:2016/10/24 12:34:47
--  

HH:=HHV(H,ENTERPRICE);//买开仓位置到现在最高价
LL:=LLV(L,ENTERPRICE);//卖开仓位置到现在最低价
HH1:=0.5*(HH+ENTERPRICE);
LL1:=0.5*(LL+ENTERPRICE);

//出现25个点以上的利润,但是不到100
DD:= HH-ENTERPRICE>=20*MINDIFF AND C<HH1;
KK:= ENTERPRICE-LL>=20*MINDIFF AND C>LL1;

 

PD:= (C>=ENTERPRICE+120*MINDIFF) OR  (ENTERPRICE-15*MINDIFF>=C ) ; //止损      

PK:=(C>=ENTERPRICE+15*MINDIFF) OR (ENTERPRICE-120*MINDIFF>=C) ;   //止损 


IF HOLDING>0&& PD   THEN

    SELL(1,HOLDING,LIMITR,CLOSE); //平多
   
   
 IF HOLDING<0&& PK   THEN
 
    SELLSHORT(1,HOLDING,LIMITR,CLOSE);   //平空
   
   
   
   
   IF HOLDING>0&&DD   THEN

    SELL(1,HOLDING,LIMITR,CLOSE); //平多
   
   
 IF HOLDING<0&& KK   THEN
 
    SELLSHORT(1,HOLDING,LIMITR,CLOSE);   //平空


--  作者:xiangquzi
--  发布时间:2016/10/24 12:38:38
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20161024123726.png
图片点击可在新窗口打开查看

--  作者:xiangquzi
--  发布时间:2016/10/24 12:45:02
--  
主要加入了  后面的 保本策略  就出现不正常的密密麻麻的开平仓了    止损策略加入后到没有出现
--  作者:xiangquzi
--  发布时间:2016/10/24 13:05:28
--  
以下是引用jinzhe在2016-10-24 9:17:17的发言:
平空要holding<0

求回复,加入一个保本策略怎么加,我刚才的那个代码为何不可以呢?能不能帮忙改写个,多谢。要求:盈利20个点以上的时候回落下来50%就平掉,平时采用1分钟轮询模式 


--  作者:jinzhe
--  发布时间:2016/10/24 13:12:22
--  

HH:=HHV(H,ENTERPRICE);//买开仓位置到现在最高价
LL:=LLV(L,ENTERPRICE);//卖开仓位置到现在最低价

 

这两个改成

 

HH:=HHV(H,ENTErbars+1);//买开仓位置到现在最高价
LL:=LLV(L,ENTERbars+1);//卖开仓位置到现在最低价


--  作者:xiangquzi
--  发布时间:2016/10/24 13:33:45
--  

多谢,现在好多了  但是还是有点小问题  具体如下 我加入刚才的保本策略代码就出现  不加入不出现

多出了一些买卖  如图所示

代码,其中kk,dd见上贴:

IF HOLDING>0&&DD   THEN
    SELL(1,HOLDING,LIMITR,CLOSE); //平多
   
   
 IF HOLDING<0&& KK   THEN
 
    SELLSHORT(1,HOLDING,LIMITR,CLOSE);   //平空

 


图片点击可在新窗口打开查看此主题相关图片如下:qq图片1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:qq图片多出的买卖.png
图片点击可在新窗口打开查看