以文本方式查看主题 
         
      -  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp) 
        --  公式模型编写问题提交  (http://www.weistock.com/bbs/list.asp?boardid=4) 
        ----  保本策略中,holding的用法是不是错了  (http://www.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
   
         
       |