股友量 发表于 2021-12-24 19:46

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

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

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

   调用指标源码:

   VAR1:DATACOUNT;
   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 andVB,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 andVB,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;
      t1:=islastbar;
      tj:=backset(t1,N);
      IF(MINL=L AND TJ,L,0);

曲径通幽1 发表于 2021-12-24 20:29

谢谢分享辛苦了

锦绣人生 发表于 2021-12-24 21:21

谢谢楼主的分享!

小牛快跑 发表于 2021-12-24 23:36


谢谢楼主分享!
页: [1]
查看完整版本: 指标编写问答8学习的宝藏