欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 信号闪烁问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3245人关注过本帖树形打印复制链接

主题:信号闪烁问题

帅哥哟,离线,有人找我吗?
sword8586
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:388 积分:0 威望:0 精华:0 注册:2014/11/22 18:13:16
信号闪烁问题  发帖心情 Post By:2015/3/24 12:21:09    Post IP:14.29.94.232[只看该作者]

从文华转入使用金字塔图表实盘3个月。将公式按照说明转为金字塔格式,采用K线走完,确认信号下单方式,多次发现信号闪烁。主要体现在:

1、收盘后某些盘中未出现的信号在收盘后出现!

2、实盘盘中某些信号突然夹杂在最近出现的两个信号之中!

3、效果测试时采用2手下单不是1手下单的收益的两倍!

       公式采用的全部函数为:BARSLAST、SMAEMA、、MAIFELSE、CROSS、ref、typeSTDTRVALUEWHENTIMETIME0、NEWLBARSENTERBARSMINMAX、HHV、LLV、ABS、INTPARTSLOPE、SQRTAVEDEVEVERYFILTER、NOT、OPENPROFITENTERPRICE、COUNT;

      公式有许多SPK、BPK、BK、SK、BP、SP条件,如SPK1——22、BPK1-22;多个开平仓条件采用以下方法过滤(见红字)。

TBP:=(NTBP||(RISE<16&&RREF&&C>BOTTOML&&ref(c,1)<ref(BOTTOML,1))||BSPSIG)&&not(TSK1||TSPK1||TSPK2||TSPK3)&&not(TBK1||TBPK1||TBPK2||TBPK3)&&not(MAMMON2=1);//
TSP:=(NTSP)&&not(TSK1||TSPK1||TSPK2||TSPK3||(BP7)||SPK33B)&&not(TBK1||TBPK1||TBPK2||TBPK3)&&not(MAMMON1=1);//

TBK:=(TBK1);
TSK:=(TSK1);
TBPK:=(TBPK1)||(TBPK2)||(TBPK3)||(BPK9L)||(BPK11L)||(BPK6L)||(BPK14L)||(BPK16L)||(BPK19L)||(BPK39)||(BPK26L)||(BPK29L)||(BPK33L)||(BPK40)||(BTLBL<=3&&OPENPROFIT<-2000&&OPENPROFIT>-5000);//&&C>MID||TLOPEN
TSPK:=(TSPK1)||(TSPK2)||(TSPK3)||(SPK6R)||(SPK9R)||(SPK10L)||(SPK10R)||(SPK13L)||(SPK14R)||(SPK15R)||(BPK20L)||(BK1P)||(SPK19L)||(SPK23L)||(SPK44)||(TOPLAL<=3&&OPENPROFIT<-2000&&OPENPROFIT>-5000);//&&MID>C||TLCLOSE
BSKMARK:=(TBPK||TBK)&&(TSK||TSPK)&&if(RISE>DOWN,1,0);

 

//-------------------金字塔BP书写--------------------------------------------
if (TBP&&not(TSK||TSPK)) then BEGIN//
   WARNING_DISABLE:4;
   YCODE:=EXTGBDATA('YCODE');   
   if YCODE=0 then begin
      if holding<0 then begin
         SELLSHORT(not(TYPE(1)=4),N88,MARKET); //平空
         i:=0;
         SENDMAIL(i=0,'yf-zhang@qq.com','平空'+STKNAME(),'平空');        
      end
      if i=0 and holding=0 then begin
            EXTGBDATASET('Mark',-2);
            EXTGBDATASET('Holding5',0);
            EXTGBDATASET('PM',3);
            i:=1;
      end     
   end        
end  
  
//-------------------金字塔SP书写--------------------------------------------
if (TSP&&not(TBK||TBPK)) then begin
    WARNING_DISABLE:4;  
    YCODE:=EXTGBDATA('YCODE');  
    if YCODE=0 then begin
         if holding>0 then begin     
            SELL(not(TYPE(1)=2),N88,MARKET); //平多           
            i:=0;
            SENDMAIL(i=0,'yf-zhang@qq.com','平多'+STKNAME(),'平多');               
         end
         if i=0 and holding=0 then begin
            EXTGBDATASET('Mark',-1);
            EXTGBDATASET('Holding5',0);
            EXTGBDATASET('PM',4); 
            i:=1;       
         end   
   end       
end
          
//-------------金字塔BK书写------------------------------------------------------
if ((TBK&&not((TBPK||TBK)&&(TSK||TSPK)))||(TBK&&BSKMARK=1)) then begin//当收盘价上穿下轨且有空仓或无仓时||TBK2
      WARNING_DISABLE:4;
      YCODE:=EXTGBDATA('YCODE');  
      if YCODE=0 then begin
         if holding=0 then begin
            buy(not(TYPE(1)=1),N88,market);//开多
            i:=0;
            SENDMAIL(i=0,'yf-zhang@qq.com','开多'+STKNAME(),'开多');               
         end
         if i=0 and holding>0 then begin
            EXTGBDATASET('Mark',1);
            EXTGBDATASET('Holding5',N88);
            i:=1;
         end    
      end       
end
  
//-------------金字塔SK书写------------------------------------------------------
if ((TSK&&not((TBPK||TBK)&&(TSK||TSPK)))||(TSK&&BSKMARK=0)) then begin//当收盘价上穿下轨且有空仓或无仓时||TSK2 
      WARNING_DISABLE:4;
      YCODE:=EXTGBDATA('YCODE');    
      if YCODE=0 then begin
         if holding=0 then begin     
            buyshort(not(TYPE(1)=3),N88,market);//开空
            i:=0;
            SENDMAIL(i=0,'yf-zhang@qq.com','开空'+STKNAME(),'开空');               
         end  
         if i=0 and holding<0 then begin
            EXTGBDATASET('Mark',2);
            EXTGBDATASET('Holding5',REVERSE(N88));
            EXTGBDATASET('PM',5);
            i:=1;
         end  
      end           
end   
//-------------金字塔BPK书写------------------------------------------------------
if (TBPK&&not((TBPK||TBK)&&(TSK||TSPK))||(TBPK&&BSKMARK=1)) then begin//当收盘价上穿下轨且有空仓或无仓时
      WARNING_DISABLE:4;
      YCODE:=EXTGBDATA('YCODE');
      if YCODE=0 then begin
         if holding<=0 then begin
            sellshort(not(TYPE(1)=4),N88,market);//平空 第一个1代表100%成立,第二个1代表下单手数(下同)
            buy(not(TYPE(1)=1),N88,market);//开多
            i:=0; 
            SENDMAIL(i=0,'yf-zhang@qq.com','平空开多'+STKNAME(),'平空开多');               
         end
         if i=0 and holding>0 then begin
            EXTGBDATASET('Mark',1);
            EXTGBDATASET('Holding5',N88); 
            i:=1; 
         end  
      end      
end
//-------------金字塔SPK书写------------------------------------------------------
if (TSPK&&not((TBPK||TBK)&&(TSK||TSPK))||(TSPK&&BSKMARK=0)) then begin //当收盘价下穿上轨且有多仓或无仓时
      WARNING_DISABLE:4;
      YCODE:=EXTGBDATA('YCODE');
      if YCODE=0 then begin
         if holding>=0  then begin
            sell(not(TYPE(1)=2),N88,market);//平多
            buyshort(not(TYPE(1)=3),N88,market);//开空 
            i:=0;  
            SENDMAIL(i=0,'yf-zhang@qq.com','平多开空'+STKNAME(),'平多开空');                        
         end
         if i=0 and holding<0 then begin
            EXTGBDATASET('Mark',2);
            EXTGBDATASET('Holding5',REVERSE(N88));
            i:=1;     
         end 
      end    
end
//---------------------------------------------------------------------------------
   if MAMMON1=1 then begin
      WARNING_DISABLE:4;  
      EXTGBDATASET('Forward',1);
   end
   if MAMMON2=1 then begin
      WARNING_DISABLE:4;  
      EXTGBDATASET('Forward',2);
   end

请问老师错误在那呀?


 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2015/3/24 13:32:38    Post IP:58.246.57.26[只看该作者]

YCODE:=EXTGBDATA('YCODE');   
   if YCODE=0 then begin

类似这样的

图表不要用ext来进行全局变量的控制,这些变量没有历史数据,所以导致上述现象的产生

要用variable来在图表上进行全局变量的使用



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
sword8586
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:388 积分:0 威望:0 精华:0 注册:2014/11/22 18:13:16
  发帖心情 Post By:2015/3/24 15:25:43    Post IP:14.29.94.232[只看该作者]

以下是引用jinzhe在2015/3/24 13:32:38的发言:

YCODE:=EXTGBDATA('YCODE');   
   if YCODE=0 then begin

类似这样的

图表不要用ext来进行全局变量的控制,这些变量没有历史数据,所以导致上述现象的产生

要用variable来在图表上进行全局变量的使用

我的公式其实没用到

YCODE:=EXTGBDATA('YCODE');   
   if YCODE=0 then begin

这些主要是为移仓而书写。

我可以将完全其删除还会出现该现象吗?如下面开平仓方式:

//-------------------金字塔BP书写--------------------------------------------
if (TBP&&not(TSK||TSPK)) then BEGIN//
      if holding<0 then begin
         SELLSHORT(not(TYPE(1)=4),N88,MARKET); //平空
         i:=0;
         SENDMAIL(i=0,'yf-zhang@qq.com','平空'+STKNAME(),'平空');        
      end
      if i=0 and holding=0 then begin
            i:=1;
      end          
end  
  
//-------------------金字塔SP书写--------------------------------------------
if (TSP&&not(TBK||TBPK)) then begin
         if holding>0 then begin     
            SELL(not(TYPE(1)=2),N88,MARKET); //平多           
            i:=0;
            SENDMAIL(i=0,'yf-zhang@qq.com','平多'+STKNAME(),'平多');               
         end
         if i=0 and holding=0 then begin
            i:=1;       
         end          
end
          
//-------------金字塔BK书写------------------------------------------------------
if ((TBK&&not((TBPK||TBK)&&(TSK||TSPK)))||(TBK&&BSKMARK=1)) then begin//当收盘价上穿下轨且有空仓或无仓时||TBK2
         if holding=0 then begin
            buy(not(TYPE(1)=1),N88,market);//开多
            i:=0;
            SENDMAIL(i=0,'yf-zhang@qq.com','开多'+STKNAME(),'开多');               
         end
         if i=0 and holding>0 then begin
            i:=1;
         end       
end
  
//-------------金字塔SK书写------------------------------------------------------
if ((TSK&&not((TBPK||TBK)&&(TSK||TSPK)))||(TSK&&BSKMARK=0)) then begin//当收盘价上穿下轨且有空仓或无仓时||TSK2 
         if holding=0 then begin     
            buyshort(not(TYPE(1)=3),N88,market);//开空
            i:=0;
            SENDMAIL(i=0,'yf-zhang@qq.com','开空'+STKNAME(),'开空');               
         end  
         if i=0 and holding<0 then begin
            i:=1;
         end           
end   
//-------------金字塔BPK书写------------------------------------------------------
if (TBPK&&not((TBPK||TBK)&&(TSK||TSPK))||(TBPK&&BSKMARK=1)) then begin//当收盘价上穿下轨且有空仓或无仓时
         if holding<=0 then begin
            sellshort(not(TYPE(1)=4),N88,market);//平空 第一个1代表100%成立,第二个1代表下单手数(下同)
            buy(not(TYPE(1)=1),N88,market);//开多
            i:=0; 
            SENDMAIL(i=0,'yf-zhang@qq.com','平空开多'+STKNAME(),'平空开多');               
         end
         if i=0 and holding>0 then begin
            i:=1; 
         end      
end
//-------------金字塔SPK书写------------------------------------------------------
if (TSPK&&not((TBPK||TBK)&&(TSK||TSPK))||(TSPK&&BSKMARK=0)) then begin //当收盘价下穿上轨且有多仓或无仓时
      WARNING_DISABLE:4;
         if holding>=0  then begin
            sell(not(TYPE(1)=2),N88,market);//平多
            buyshort(not(TYPE(1)=3),N88,market);//开空 
            i:=0;  
            SENDMAIL(i=0,'yf-zhang@qq.com','平多开空'+STKNAME(),'平多开空');                        
         end
         if i=0 and holding<0 then begin
            i:=1;     
         end 
      end    
//---------------------------------------------------------------------------------
   if MAMMON1=1 then begin
      WARNING_DISABLE:4;  
      EXTGBDATASET('Forward',1);
   end
   if MAMMON2=1 then begin
      WARNING_DISABLE:4;  
      EXTGBDATASET('Forward',2);
   end

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2015/3/24 15:27:29    Post IP:58.246.57.26[只看该作者]

删掉这个之后看框架是没问题了,具体情况还是要看你的其他条件在实际运行中的结果


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部