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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 求助如何加代码防止信号闪烁?

   

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


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

主题:求助如何加代码防止信号闪烁?

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


加好友 发短信
等级:新手上路 帖子:28 积分:0 威望:0 精华:0 注册:2016/2/21 14:16:08
求助如何加代码防止信号闪烁?  发帖心情 Post By:2016/4/18 23:34:27    Post IP:123.190.242.224[只看该作者]

如何把此代码语句  
if islastbar then begin  加到合适的地方可以防止 信号闪烁?

 

 

 

 

如下代码

 

 

 runmode:0;
 GLOBALVARIABLE: bb=0;
 INPUT:N1(0.09,0.01,1,0.01),M(20,1,60,5); 
 variable:maxprofit=0;//有仓位时最大获利幅度
 win:=0;
 win2:=0;
  
 
  
 H30:=REF(HHV(H,5),1);
 L30:=REF(LLV(L,5),1);


 H20:=REF(HHV(H,3),1);
 L20:=REF(LLV(L,3),1);
 
 
 开多条件:=c>H30;
 开空条件:=c<L30;

 

 平多条件:=c<L20;
 平空条件:=c>H20;
 
  
  if HOLDING=0 then  BEGIN//开多单
   if 开多条件 then begin
      buy(1,1,LIMITR,C);
       PLAYSOUND(1,'D:\Program Files (x86)\Sound\KM.wav');
        maxprofit:=0;
      if islastbar and bb<>barpos  then begin
          bb:= barpos;
          extgbstringSet('QQSTR','C2,开多▲▲▲:'+STKNAME);
         VQQM:=QQMSGX(1,close);
        end
      end
    end

   
   
   
 
  if HOLDING=0 then  BEGIN//开多单
   if 开空条件 then begin
       buyshort(1,1,LIMITR,C);
        PLAYSOUND(1,'D:\Program Files (x86)\Sound\KM.wav');
         maxprofit:=0;
      if islastbar  and bb<>barpos then begin
          bb:= barpos;
          extgbstringSet('QQSTR','C2,开空▼▼▼:'+STKNAME);
         VQQM:=QQMSGX(1,close);
        end
      end
    end

   
   
   
   
   
   if HOLDING >0 then  BEGIN//开多单
    PRICE:=0;
      win:=(c-enterprice)/enterprice*100; //记录最大盈利
       if win > maxprofit then maxprofit:=win;
       win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
        if 平多条件 then PRICE:=max(O,C);
      if  win <-2  then PRICE:=max(O,C);
   if PRICE>0 then begin
         sell(1,holding,LIMITR,PRICE);
          PLAYSOUND(1,'D:\Program Files (x86)\Sound\JB2.wav');
      if islastbar and bb<>barpos  then begin
          bb:= barpos;
          extgbstringSet('QQSTR','C2,平多●●●:'+STKNAME);
         VQQM:=QQMSGX(1,close);
        end
      end
    end

  


   
  if HOLDING <0 then  BEGIN//开多单
   PRICE:=0;
   win:=(enterprice-c)/enterprice*100; //记录最大盈利
   if win > maxprofit then maxprofit:=win;
   win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
     if 平空条件 then PRICE:=min(O,C);
      if  win <-2  then PRICE:=min(O,C);
   if  PRICE>0 then begin
         sellshort(1,holding,LIMITR,PRICE);
          PLAYSOUND(1,'D:\Program Files (x86)\Sound\JB2.wav');
      if islastbar and bb<>barpos then begin
          bb:= barpos;
          extgbstringSet('QQSTR','C2,平空◎◎◎:'+STKNAME);
         VQQM:=QQMSGX(1,close);
        end
      end
    end

 

 

 


   


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


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

1使用走完k线模式,

2全局变量在代码里面起什么作用?



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

客户服务部

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

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

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


加好友 发短信
等级:新手上路 帖子:28 积分:0 威望:0 精华:0 注册:2016/2/21 14:16:08
  发帖心情 Post By:2016/4/19 20:49:53    Post IP:123.190.242.224[只看该作者]

使用上根K线的信号做为本次的进场依据,相当于在固定轮询模式下实现走完K线的方法,代码可以这样写:
    AA:=CROSS(MA(CLOSE,A),MA(CLOSE,B));
    BB:=CROSS(MA(CLOSE,B),MA(CLOSE,A));
    ENTERLONG:REF(AA,1);
    EXITLONG:REF(BB,1);

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


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

不过这样信号位置就往后偏移一根k线了,用户自行取舍


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

客户服务部

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

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

 回到顶部