找回密码
 立即注册

QQ登录

只需一步,快速开始

广告载入中...
查看: 177|回复: 3

指标编写问答8学习的宝藏

[复制链接]
发表于 2021-12-24 19:46 | 显示全部楼层 |阅读模式

马上注册,享用更多功能,让你轻松玩转本论坛。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 股友量 于 2021-12-24 19:49 编辑

36.问:
      ema(c,n)用vbs怎样表示
   答(老虫):
      根据算法编了一个
      {若Y=EMA(X,N) 则Y=[2*X+(N-1)*Y']/(N+1), 其中Y'表示上一周期Y值}
      input:n(20,1,999);
      a:=c;
      VARIABLE:y=0*c;
      for  i=1 to datacount do
      y:=(2*a+(n-1)*y[i-1])/(n+1);
      虫:y;
      真宗:ema(c,n);
   答(追风逐月):
      a:=c;n:=5;
      y[1]:=a[1];
      for  i=2 to datacount do
      y:=(2*a+(n-1)*y[i-1])/(n+1);
      虫:y;
      真宗:ema(c,n);



37.问:
      如何在飞狐条件选股中去除停牌10天以上的股票
    答(林汉明):
      主指标源码:
      大盘:=STKINDI('1A0001','停牌调用',0,6);
      个股:=BARSCOUNT(C);
      停牌天数:=大盘-REF(大盘,1)-(个股-REF(个股,1));
      DRAWTEXT(停牌天数,SYSPARAM(5)*1.05,'停止交易天数'),ALIGN2;
      DRAWNUMBER(停牌天数,SYSPARAM(5),停牌天数,0),ALIGN2;
      DRAWTEXT(停牌天数,SYSPARAM(5),'天');
      VERTLINE(停牌天数),POINTDOT;

      调用指标源码:
       barscount(C)
       *有时停牌时间长,可这样
       主指标源码改为:(注意,增加了一个调用指标)

     大盘:=STKINDI('1A0001','停牌调用',0,6);
     个股:=BARSCOUNT(C);
     前期停牌天数:=大盘-REF(大盘,1)-(个股-REF(个股,1));
     DP:=CURRENTDATE;
     间隔:=DATEDIFF(DATE,DP);
     大盘间隔:=STKINDI('1A0001','停牌调用2',0,6);
     当前停牌天数:=ISLASTBAR*(间隔-大盘间隔);

     DRAWTEXT(前期停牌天数,SYSPARAM(5)*1.05,'前期停止交易天数'),ALIGN2;
     DRAWNUMBER(前期停牌天数,SYSPARAM(5),前期停牌天数,0),ALIGN2;
     DRAWTEXT(前期停牌天数,SYSPARAM(5),'天');
     VERTLINE(前期停牌天数),POINTDOT;

     DRAWTEXT(当前停牌天数,SYSPARAM(4)*1.05,'当前停牌天数'),ALIGN2;
     DRAWNUMBER(当前停牌天数,SYSPARAM(4),当前停牌天数,0),ALIGN2;
     DRAWTEXT(当前停牌天数,SYSPARAM(4),'天');
     VERTLINE(当前停牌天数),POINTDOT;

     第二个调用指标源码:
     DP:=CURRENTDATE;
     间隔:=DATEDIFF(DATE,DP);
     REF(间隔,1)-间隔-1;
      *再发一个显示的停牌交易日的源码:(同样非常准确)

     大盘:=STKINDI('1A0001','停牌调用',0,6);
     个股:=BARSCOUNT(C);
     前期停牌天数:=大盘-REF(大盘,1)-(个股-REF(个股,1));

     DRAWTEXT(前期停牌天数,SYSPARAM(5)*1.05,'前期停止交易天数'),ALIGN2,COLORYELLOW;
     DRAWNUMBER(前期停牌天数,SYSPARAM(5),前期停牌天数,0),ALIGN2,COLORYELLOW;
     DRAWTEXT(前期停牌天数,SYSPARAM(5),'天'),COLORYELLOW;
     VERTLINE(前期停牌天数),POINTDOT;

     大盘:=STKINDI('1A0001','停牌调用3.VAR1',0,6);
     大盘2:=STKINDI('1A0001','停牌调用3.VAR2',0,6);
     当前停牌天数:=ISLASTBAR*(大盘-大盘2);
     DRAWTEXT(当前停牌天数,SYSPARAM(4)*1.05,'当前停止交易天数'),ALIGN2,COLORWHITE;
     DRAWNUMBER(当前停牌天数,SYSPARAM(4),当前停牌天数,0),ALIGN2,COLORWHITE;
     DRAWTEXT(当前停牌天数,SYSPARAM(4),'天'),COLORWHITE;
     VERTLINE(当前停牌天数),POINTDOT;

     调用指标源码:

     VAR1ATACOUNT;
     VAR2:BARSCOUNT(C);



38.问:
     下面的公式是L5MA均线指标   因为是技术指标   我希望在其满足我的条件时能由预警系统发出预

     警通知  所以希望高手能帮我修改一下公式  在满足以下条件的时候  预警系统可以进行预警
       一、 当主攻线上穿助攻线的时候发出通知 ,预警周期为 5分钟和日线两种方式;
       二、 当主攻线下穿助攻线的时候发出通知 ,预警周期为 5分钟和日线两种方式

     主攻线: MA(CLOSE,4),COLORWHITE,LINETHICK2;
     助攻线:MA(主攻线,8),COLORMAGENTA;
     强弱势分界:EMA(主攻线,33),COLORGREEN,LINETHICK2;

     Y:=(HIGH+LOW)/2;
     AO:=MA(Y,5)-MA(Y,21);
     DU0:=CROSS(AO,0);
     UD0:=CROSS(0,AO);
     TDU0:=BARSLAST(DU0);
     TUD0:=BARSLAST(UD0);
     DU3:=REF(DU0,1);
     UD3:=REF(UD0,1);
     TDU3:=BARSLAST(DU3);
     TUD3:=BARSLAST(UD3);
     劫:IF(TDU3<TUD3,REF(HHV(HIGH,2),TDU3),REF(LLV(LOW,2),TUD3)),COLORRED;

     R1:=SMA(Y,8,1);
     R2:=REF(R1,5);
     KU1:=IF(HIGH=HHV(HIGH,3),1,0);
     KD1:=IF(LOW=LLV(LOW,3),1,0);
     UL:=IF(REF(KU1,2)=1 AND REF(KU1,1)=0 AND KU1=0,REF(HIGH,2),REF(HIGH,2+BARSLAST(REF   (KU1,2)=1 AND REF(KU1,1)=0 AND KU1=0)));
     DL:=IF(REF(KD1,2)=1 AND REF(KD1,1)=0 AND KD1=0,REF(LOW,2),REF(LOW,2+BARSLAST(REF    (KD1,2)=1 AND REF(KD1,1)=0 AND KD1=0)));
     上:IF(HIGH>=R2,UL,REF(UL,BARSLAST(HIGH>R2))),COLOR0066FF,LINETHICK0;
     下:IF(LOW<=R2,DL,REF(DL,BARSLAST(LOW<=R2))),COLORAAAE5D,LINETHICK0;
     STICKLINE(BARSLAST(ABS(上-REF(上,1)))<BARSLAST(CLOSE>上 AND REF(CLOSE,1)<REF(上,1)),上 ,上,3,1),COLOR0066FF,LINETHICK3;
     STICKLINE(BARSLAST(ABS(下-REF(下,1)))<BARSLAST(CLOSE<下 AND REF(CLOSE,1)>REF(下,1)),下    ,下,3,1),COLORAAAE5D,LINETHICK3;

     VA:=CROSS(EMA(CLOSE,4),EMA(CLOSE,17));
     VB:=EMA(CLOSE,6)>EMA(CLOSE,13);
     DRAWICON(VA and  VB,EMA(CLOSE,13),9);

     a:=BARSCOUNT(CLOSE);
     ah:=HHV(HIGH,200);
     al:=LLV(LOW,200);
     b0:=(ah-al)/40;
     b1:=HIGH+b0;
     b2:=LOW-b0;
     STICKLINE((a+0)/34=FLOOR((a+0)/34),b2,b2-3*b0,3,0),COLORYELLOW;
     DRAWTEXT((a+0)/34=FLOOR((a+0)/34),b2-2*b0,'时间窗'),COLORFFFFFF;

     V1:=REF(CLOSE,1);
     V2:=SMA(MAX(CLOSE-V1,0),6,1)/SMA(ABS(CLOSE-V1),6,1)*100;
     DRAWICON(IF(CROSS(81,V2),1,0),HIGH*1.03,10);
   答(清风斜阳):
     主攻线: MA(CLOSE,3),COLORWHITE,LINETHICK2;
     助攻线:MA(主攻线,5),COLORMAGENTA;
     强弱势分界:EMA(主攻线,21),COLORGREEN,LINETHICK2;
     预警1:=CROSS(主攻线,助攻线);
     预警2:=CROSS(助攻线,主攻线);
     Y:=(HIGH+LOW)/2;
     AO:=MA(Y,5)-MA(Y,21);
     DU0:=CROSS(AO,0);
     UD0:=CROSS(0,AO);
     TDU0:=BARSLAST(DU0);
     TUD0:=BARSLAST(UD0);
     DU3:=REF(DU0,1);
     UD3:=REF(UD0,1);
     TDU3:=BARSLAST(DU3);
     TUD3:=BARSLAST(UD3);
     劫:IF(TDU3<TUD3,REF(HHV(HIGH,2),TDU3),REF(LLV(LOW,2),TUD3)),COLORRED;

      R1:=SMA(Y,8,1);
      R2:=REF(R1,5);
      KU1:=IF(HIGH=HHV(HIGH,3),1,0);
      KD1:=IF(LOW=LLV(LOW,3),1,0);
      UL:=IF(REF(KU1,2)=1 AND REF(KU1,1)=0 AND KU1=0,REF(HIGH,2),REF(HIGH,2+BARSLAST(REF  (KU1,2)=1 AND REF(KU1,1)=0 AND KU1=0)));
      DL:=IF(REF(KD1,2)=1 AND REF(KD1,1)=0 AND KD1=0,REF(LOW,2),REF(LOW,2+BARSLAST(REF   (KD1,2)=1 AND REF(KD1,1)=0 AND KD1=0)));
      上:IF(HIGH>=R2,UL,REF(UL,BARSLAST(HIGH>R2))),COLOR0066FF,LINETHICK0;
      下:IF(LOW<=R2,DL,REF(DL,BARSLAST(LOW<=R2))),COLORAAAE5D,LINETHICK0;
      STICKLINE(BARSLAST(ABS(上-REF(上,1)))<BARSLAST(CLOSE>上 AND REF(CLOSE,1)<REF(上,1)),  上,上,3,1),COLOR0066FF,LINETHICK3;
      STICKLINE(BARSLAST(ABS(下-REF(下,1)))<BARSLAST(CLOSE<下 AND REF(CLOSE,1)>REF(下,1)),  下,下,3,1),COLORAAAE5D,LINETHICK3;

      VA:=CROSS(EMA(CLOSE,4),EMA(CLOSE,17));
      VB:=EMA(CLOSE,6)>EMA(CLOSE,13);
      DRAWICON(VA and  VB,EMA(CLOSE,13),9);

      a:=BARSCOUNT(CLOSE);
      ah:=HHV(HIGH,200);
      al:=LLV(LOW,200);
      b0:=(ah-al)/40;
      b1:=HIGH+b0;
      b2:=LOW-b0;
      STICKLINE((a+0)/34=FLOOR((a+0)/34),b2,b2-3*b0,3,0),COLORYELLOW;
      DRAWTEXT((a+0)/34=FLOOR((a+0)/34),b2-2*b0,'时间窗'),COLORFFFFFF;

      V1:=REF(CLOSE,1);
      V2:=SMA(MAX(CLOSE-V1,0),6,1)/SMA(ABS(CLOSE-V1),6,1)*100;
      DRAWICON(IF(CROSS(81,V2),1,0),HIGH*1.03,10);



39.问:
      请编一个公式:30天内,涨停'跌停选股公式(飞狐).
    答(清风斜阳):
      input:n(30,1,100);
      跌停:COUNT(CLOSE-REF(CLOSE,1)*0.9<0.01,n)>0;
      COUNT(REF(CLOSE,1)*1.1-CLOSE<0.01,n)>0;
      选股:跌停
   答(xjqnj ):
      a:=(c-ref(c,1))/ref(c,1)*100;
      涨停选股:if(COUNT(a>9.9,n)>=1,1.5,0);
      涨停:a>9.9;

      跌停选股:if(COUNT(a>9.9,n)>=1,-1.5,0);
      跌停:if(a<-9.9,-1,0)
   答(唐稳正);
      飞狐顺序:条件选股-------高级---------历史时间段选股

      {任一时间段历史涨停选股}
      B:=IF(STKINBLOCK('','ST板块'),0.049,0.099);
      ZF:=(CLOSE-REF(CLOSE,1))/REF(CLOSE,1);
      涨停:ZF>=B,linethick0;
      STICKLINE(涨停,0,0.6,5,0),Colorred;
         同理,可选出任一历史时间段跌停个股。




40.问:
      求收盘价在最近20天的最低点,并把这个位置在图上表示出来的公式如何编写。
   答(知无不言):
      INPUT:N(20,0,1000);
      LL:=l;
      TS:= ubound(LL);
      PZ:= SORT(LL, 1, TS-N+1, TS);
      MINL:=LL[TS];
      t1:=islastbar;
      tj:=backset(t1,N);
      IF(MINL=L AND TJ,L,0);


发表于 2021-12-24 20:29 | 显示全部楼层
谢谢分享辛苦了
回复

使用道具 举报

发表于 2021-12-24 21:21 | 显示全部楼层
谢谢楼主的分享!
回复

使用道具 举报

发表于 2021-12-24 23:36 | 显示全部楼层

谢谢楼主分享!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|股海明灯官网 ( 京ICP备18020431号 )

GMT+8, 2024-11-27 02:18 , Processed in 0.090483 second(s), Total 12, Slave 11 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表