编程思路破译 VAR4赋值:(2 * 收盘价 + 最高价 + 最低价) / 4 VAR5赋值:34日内最低价的最低值 VAR6赋值:34日内最高价的最高值 VAR7赋值:(((VAR4)-(VAR5))/((VAR6)-(VAR5)))*(100)的9日指数移动平均 VAR8赋值:(0.667)*(1日前的VAR7)+(0.333)*(VAR7)的3日指数移动平均 鮒AR9赋值:(((VAR4)-(VAR5))/((VAR6)-(VAR5)))*(100)的30日指数移动平均 VAR10赋值:VAR9的5日指数移动平均 //有点VAR9线的5天移动平均线的感觉STICKLINE((VAR9) > (VAR10),VAR9-50,VAR10-50,4,1),画红色 当满足条件(VAR9)<(VAR10)时,在VAR9-50和VAR10-50位置之间画柱状线,宽度为4,1不为0则画空心柱.,画绿色 LC赋值:1日前的收盘价 RSI6赋值:收盘价-LC和0的较大值的6日[1日权重]移动平均/收盘价-LC的绝对值的6日[1日权重]移动平均*100 SI12赋值:收盘价-LC和0的较大值的12日[1日权重]移动平均/收盘价-LC的绝对值的12日[1日权重]移动平均*100 //RSI12的摆动公式RSV=(收盘价-9日内最低价的最低值)/(9日内最高价的最高值-9日内最低价的最低值)*100 式K赋值:RSV的3日[1日权重]移动平均 中速D赋值:K的3日[1日权重]移动平均 最慢J赋值:3*K-2*D //最快STICKLINE((VAR7) < (VAR8),VAR7-50,VAR8-50,9,0),COLORFF5B00 ///条件成立时,多画几个框,让图标显示渐变色。STICKLINE((VAR7) < (VAR8),VAR7-50,VAR8-50,7,0),COLORFF6C00 ///条件成立时,多画几个框,让图标显示渐变色。STICKLINE((VAR7) < (VAR8),VAR7-50,VAR8-50,6,0),COLORFF7B00 当满足条件(VAR7)<(VAR8)时,在VAR7-50和VAR8-50位置之间画柱状线,宽度为5,0不为0则画空心柱.,COLORFF9C00 ///条件成立时,多画几个框,让图标显示渐变色。STICKLINE((VAR7) < (VAR8),VAR7-50,VAR8-50,4,0),COLORFFBE00 当满足条件(VAR7)<(VAR8)时,在VAR7-50和VAR8-50位置之间画柱状线,宽度为2.5,0不为0则画空心柱.,COLORFFCC00 当满足条件(VAR7)<(VAR8)时,在VAR7-50和VAR8-50位置之间画柱状线,宽度为1.5,0不为0则画空心柱.,画青色 ///条件成立时,在VAR7和VAR8之间画青色的实体框。STICKLINE((VAR7) >= (VAR8),VAR7-50,VAR8-50,9,0),画洋红色 ///条件成立时,在VAR7和VAR8之间画洋红色的实体框。STICKLINE((VAR7) >= (VAR8),VAR7-50,VAR8-50,7,0),COLORFF22FF 当满足条件(VAR7)>=(VAR8)时,在VAR7-50和VAR8-50位置之间画柱状线,宽度为6,0不为0则画空心柱.,COLORFF44FF 当满足条件(VAR7)>=(VAR8)时,在VAR7-50和VAR8-50位置之间画柱状线,宽度为5,0不为0则画空心柱.,COLORFF66FF 当满足条件(VAR7)>=(VAR8)时,在VAR7-50和VAR8-50位置之间画柱状线,宽度为4,0不为0则画空心柱.,COLORFF88FF 当满足条件(VAR7)>=(VAR8)时,在VAR7-50和VAR8-50位置之间画柱状线,宽度为3,0不为0则画空心柱.,COLORFF99FF 当满足条件(VAR7)>=(VAR8)时,在VAR7-50和VAR8-50位置之间画柱状线,宽度为2,0不为0则画空心柱.,COLORFFAAFF 当满足条件(VAR7)>=(VAR8)时,在VAR7-50和VAR8-50位置之间画柱状线,宽度为1,0不为0则画空心柱.,COLORFFBBFF VARCK赋值:(((VAR4)-(VAR5))/((VAR6)-(VAR5)))*(100)的7日指数移动平均 VARCK12赋值:(((VAR4)-(VAR5))/((VAR6)-(VAR5)))*(100)的12日指数移动平均 VAR7J8赋值:VAR7-VAR8 SC6赋值:RSI12上穿RSI6 赋值: 如果SC6>0,返回1,否则返回0日前的RSI6 TJ1赋值:(收盘价的20日简单移动平均>1日前的收盘价的20日简单移动平均 AND 收盘价的30日简单移动平均>1日前的收盘价的30日简单移动平均 AND (收盘价/收盘价的20日简单移动平均-1的绝对值<0.0065 OR 收盘价/收盘价的30日简单移动平均-1的绝对值<0.0065 )) OR (VAR7J8>2.7 AND 收盘价的40日简单移动平均>1日前的收盘价的40日简单移动平均 AND 收盘价的30日简单移动平均>1日前的收盘价的30日简单移动平均) SC1赋值: SC6 AND (RSI12>54 OR QTR>58) AND (J<1日前的J) AND (收盘价的5日简单移动平均<1日前的收盘价的5日简单移动平均 OR 收盘价的9日简单移动平均<1日前的收盘价的9日简单移动平均 OR 收盘价的15日简单移动平均<1日前的收盘价的15日简单移动平均 ) AND (VARCK<1日前的VARCK OR VARCK12<1日前的VARCK12) 。SC11赋值:如果FHTJ1,返回0,否则返回SC1 输出 //去掉那种20和30天均线多头时,股价打到20和30均线很近,并且20和30均线也很近时。 去掉均线多头时,天剑值上升很大的。反空R:-SC11 *56,线宽为2,画绿色 当满足条件SC11时,在-51位置书写文字,画绿色 SC7赋值:D上穿J 赋值:SC7 AND (D>65 ) AND (RSI6<1日前的RSI6 AND RSI12<1日前的RSI12)AND (收盘价的5日简单移动平均<1日前的收盘价的5日简单移动平均 OR 收盘价的9日简单移动平均<1日前的收盘价的9日简单移动平均 OR 收盘价的15日简单移动平均<1日前的收盘价的15日简单移动平均 ) AND (RSI6<1日前的RSI6 AND RSI12<1日前的RSI12 ) AND (VARCK<1日前的VARCK OR VARCK12<1日前的VARCK12) C21赋值:如果FHTJ1,返回0,否则返回SC2 输出反空K:-SC21*62,线宽为2,画绿色 当满足条件SC21时,在-57位置书写文字,画绿色 摆多R。JC8赋值:RSI6上穿RSI12 8赋值:[变量名错误] 如果JC8>0,返回1,否则返回0日前的RSI6 FHTJ2赋值:(收盘价的20日简单移动平均<1日前的收盘价的20日简单移动平均 AND 收盘价的30日简单移动平均<1日前的收盘价的30日简单移动平均 AND (收盘价/收盘价的20日简单移动平均-1的绝对值<0.0065 OR 收盘价/收盘价的30日简单移动平均-1的绝对值<0.0065 )) OR (VAR7J8<(-2.7) AND 收盘价的40日简单移动平均<1日前的收盘价的40日简单移动平均 AND 收盘价的30日简单移动平均<1日前的收盘价的30日简单移动平均 ) JC1赋值: JC8 AND (RSI12<46 OR QTR8<42 ) AND (J>1日前的J) AND (收盘价的5日简单移动平均>1日前的(收盘价的5日简单移动平均) OR 收盘价的9日简单移动平均>1日前的(收盘价的9日简单移动平均) OR 收盘价的15日简单移动平均>1日前的(收盘价的15日简单移动平均) ) AND (VARCK>1日前的VARCK OR VARCK12>1日前的VARCK12) JC11赋值:如果FHTJ2,返回0,否则返回JC1 输出 //去掉那种20和30天均线空头时,股价打到20和30均线很近,并且20和30均线也很近时。 去掉均线空头排列,天剑值跌放大的。反多R:(JC11 ) *56,线宽为2,画红色 当满足条件JC11时,在51位置书写文字,画红色 摆多KJC9赋值:J上穿D 7聪騄C2赋值:JC9 AND (D<35 ) AND (RSI6>1日前的RSI6 AND RSI12>1日前的RSI12) AND (收盘价的5日简单移动平均>1日前的(收盘价的5日简单移动平均) OR 收盘价的9日简单移动平均>1日前的(收盘价的9日简单移动平均) OR 收盘价的15日简单移动平均>1日前的(收盘价的15日简单移动平均) ) AND (RSI6>1日前的RSI6 AND RSI12>1日前的RSI12 ) AND (VARCK>1日前的VARCK OR VARCK12>1日前的VARCK12) JC21赋值:如果FHTJ2,返回0,否则返回JC2 输出反多K:JC21*62,线宽为2,画红色 当满足条件JC21时,在57位置书写文字,画红色 N赋值:6日内最低价距今天数 数;M赋值: 6日内最高价距今天数 数;DJ7赋值:最低价的(N+1)日简单移动平均 囊贫骄逩J7赋值:最高价的(M+1)日简单移动平均 囊贫骄逿J1赋值:(收盘价的30日简单移动平均<1日前的收盘价的30日简单移动平均 OR 收盘价的15日简单移动平均<1日前的收盘价的15日简单移动平均) OR (收盘价<收盘价的15日简单移动平均 OR 收盘价<收盘价的30日简单移动平均) 赋值:如果收盘价<1日前的DJ7,返回1,否则返回0 AND TJ1 输出 //均线趋势向下,并且当前价低于前面最低价到昨天的移动平均线。趋空:-(XHCX1 ) *30,线宽为2,画绿色 TJ2赋值:(收盘价的30日简单移动平均>1日前的收盘价的30日简单移动平均 OR 收盘价的15日简单移动平均>1日前的收盘价的15日简单移动平均) OR (收盘价>收盘价的15日简单移动平均 OR 收盘价>收盘价的30日简单移动平均) X2赋值:如果收盘价>1日前的GJ7,返回1,否则返回0 AND TJ2 输出趋多:XHCX2*30,线宽为2,画红色 程序源码 VAR4:=(2 * C + H + L) / 4; VAR5:=LLV(L,34); VAR6:=HHV(H,34); VAR7:=EMA((((VAR4) - (VAR5)) / ((VAR6) - (VAR5))) * (100),9); //有点KDJ线的9天移动平均线的感觉 VAR8:=EMA((0.667) * (REF(VAR7,1)) + (0.333) * (VAR7),3); //有点VAR7线的5天移动平均线的感觉 VAR9:=EMA((((VAR4) - (VAR5)) / ((VAR6) - (VAR5))) * (100),30); //有点KDJ线的9天移动平均线的感觉 VAR10:=EMA(VAR9,5); //有点VAR9线的5天移动平均线的感觉 STICKLINE((VAR9) > (VAR10),VAR9-50,VAR10-50,4,1),COLORRED; STICKLINE((VAR9) < (VAR10),VAR9-50,VAR10-50,4,1),COLORGREEN; LC:=REF(CLOSE,1); RSI6:=SMA(MAX(CLOSE-LC,0),6,1)/SMA(ABS(CLOSE-LC),6,1)*100; //RSI6的摆动公式 RSI12:=SMA(MAX(CLOSE-LC,0),12,1)/SMA(ABS(CLOSE-LC),12,1)*100; //RSI12的摆动公式 RSV=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100; //KDJ的摆动函数公式 K:=SMA(RSV,3,1); ////中速 D:=SMA(K,3,1); //最慢 J:=3*K-2*D; //最快 STICKLINE((VAR7) < (VAR8),VAR7-50,VAR8-50,9,0),COLORFF5B00; ///条件成立时,多画几个框,让图标显示渐变色。 STICKLINE((VAR7) < (VAR8),VAR7-50,VAR8-50,7,0),COLORFF6C00; ///条件成立时,多画几个框,让图标显示渐变色。 STICKLINE((VAR7) < (VAR8),VAR7-50,VAR8-50,6,0),COLORFF7B00; STICKLINE((VAR7) < (VAR8),VAR7-50,VAR8-50,5,0),COLORFF9C00; ///条件成立时,多画几个框,让图标显示渐变色。 STICKLINE((VAR7) < (VAR8),VAR7-50,VAR8-50,4,0),COLORFFBE00; STICKLINE((VAR7) < (VAR8),VAR7-50,VAR8-50,2.5,0),COLORFFCC00; STICKLINE((VAR7) < (VAR8),VAR7-50,VAR8-50,1.5,0),COLORCYAN; ///条件成立时,在VAR7和VAR8之间画青色的实体框。 STICKLINE((VAR7) >= (VAR8),VAR7-50,VAR8-50,9,0),COLORMAGENTA; ///条件成立时,在VAR7和VAR8之间画洋红色的实体框。 STICKLINE((VAR7) >= (VAR8),VAR7-50,VAR8-50,7,0),COLORFF22FF; STICKLINE((VAR7) >= (VAR8),VAR7-50,VAR8-50,6,0),COLORFF44FF; STICKLINE((VAR7) >= (VAR8),VAR7-50,VAR8-50,5,0),COLORFF66FF; STICKLINE((VAR7) >= (VAR8),VAR7-50,VAR8-50,4,0),COLORFF88FF; STICKLINE((VAR7) >= (VAR8),VAR7-50,VAR8-50,3,0),COLORFF99FF; STICKLINE((VAR7) >= (VAR8),VAR7-50,VAR8-50,2,0),COLORFFAAFF; STICKLINE((VAR7) >= (VAR8),VAR7-50,VAR8-50,1,0),COLORFFBBFF; VARCK:=EMA((((VAR4) - (VAR5)) / ((VAR6) - (VAR5))) * (100),7); VARCK12:=EMA((((VAR4) - (VAR5)) / ((VAR6) - (VAR5))) * (100),12); VAR7J8:=VAR7-VAR8; SC6:=CROSS(RSI12,RSI6); //RSI快线跌破慢线,反向死叉。 QTR:= REF(RSI6,IF (SC6>0,1,0)); //下面是找 死叉,摆空R。 FHTJ1:=(MA(C,20)>REF(MA(C,20),1) AND MA(C,30)>REF(MA(C,30),1) AND (ABS(C/MA(C,20)-1)<0.0065 OR ABS(C/MA(C,30)-1 )<0.0065 )) OR (VAR7J8>2.7 AND MA(C,40)>REF(MA(C,40),1) AND MA(C,30)>REF(MA(C,30),1)) ; SC1:= SC6 AND (RSI12>54 OR QTR>58) AND (J<REF(J,1)) AND (MA(C,5)<REF(MA(C,5),1) OR MA(C,9)<REF(MA(C,9),1) OR MA(C,15)<REF(MA(C,15),1) ) AND (VARCK<REF(VARCK,1) OR VARCK12<REF(VARCK12,1)) ; //RSI6死叉RSI12,并且RSI12>40或者前一天RSI6>52.并且5天均线或10天或15天均线,至少一个走坏,并且天剑8天值变差。 SC11:=IF(FHTJ1,0,SC1); //去掉那种20和30天均线多头时,股价打到20和30均线很近,并且20和30均线也很近时。 去掉均线多头时,天剑值上升很大的。 反空R:-SC11 *56,LINETHICK2,COLORGREEN; DRAWTEXT(SC11,-51,'反空R '),COLORGREEN; SC7:=CROSS(D,J); //快线J线死叉D线。反向摆空K。 SC2:=SC7 AND (D>65 ) AND (RSI6<REF(RSI6,1) AND RSI12<REF(RSI12,1))AND (MA(C,5)<REF(MA(C,5),1) OR MA(C,9)<REF(MA(C,9),1) OR MA(C,15)<REF(MA(C,15),1) ) AND (RSI6<REF(RSI6,1) AND RSI12<REF(RSI12,1) ) AND (VARCK<REF(VARCK,1) OR VARCK12<REF(VARCK12,1)) ; //KDJ金叉,并且D<40 或者 前一天的J<33,并且5天均线或10天均线至少一个走坏; //去掉那种20和30天均线多头时,股价打到20和30均线很近,并且20和30均线也很近时。 SC21:=IF(FHTJ1 ,0,SC2); 反空K:-SC21*62,LINETHICK2,COLORGREEN; DRAWTEXT(SC21,-57,'反空K '),COLORGREEN; ////下面是找 金叉 摆多R。 JC8:=CROSS(RSI6,RSI12); //RSI快线上穿慢线,反向金叉。 QTR8:= REF(RSI6,IF (JC8>0,1,0)); FHTJ2:=(MA(C,20)<REF(MA(C,20),1) AND MA(C,30)<REF(MA(C,30),1) AND (ABS(C/MA(C,20)-1)<0.0065 OR ABS(C/MA(C,30)-1 )<0.0065 )) OR (VAR7J8<(-2.7) AND MA(C,40)<REF(MA(C,40),1) AND MA(C,30)<REF(MA(C,30),1) ); JC1:= JC8 AND (RSI12<46 OR QTR8<42 ) AND (J>REF(J,1)) AND (MA(C,5)>REF((MA(C,5)),1) OR MA(C,9)>REF((MA(C,9)),1) OR MA(C,15)>REF((MA(C,15)),1) ) AND (VARCK>REF(VARCK,1) OR VARCK12>REF(VARCK12,1)); //RSI6金叉RSI12,并且RSI12<56或者前一天RSI6<33.并且5天均线或10天均线,至少一个走升。 RSI40为标准值。 JC11:=IF(FHTJ2 ,0,JC1); //去掉那种20和30天均线空头时,股价打到20和30均线很近,并且20和30均线也很近时。 去掉均线空头排列,天剑值跌放大的。 反多R:(JC11 ) *56,LINETHICK2,COLORRED; DRAWTEXT(JC11,51,'反多R '),COLORRED; ////下面是金叉 摆多K JC9:=CROSS(J,D); //快线J线金叉D线。反向 JC2:=JC9 AND (D<35 ) AND (RSI6>REF(RSI6,1) AND RSI12>REF(RSI12,1)) AND (MA(C,5)>REF((MA(C,5)),1) OR MA(C,9)>REF((MA(C,9)),1) OR MA(C,15)>REF((MA(C,15)),1) ) AND (RSI6>REF(RSI6,1) AND RSI12>REF(RSI12,1) ) AND (VARCK>REF(VARCK,1) OR VARCK12>REF(VARCK12,1)) ; JC21:=IF(FHTJ2,0,JC2); 反多K:JC21*62,LINETHICK2,COLORRED; DRAWTEXT(JC21,57,'反多K '),COLORRED; N:=LLVBARS(L,6); //求X的N周期内的最低价到现在的天数; M:= HHVBARS(H,6); // 求X的N周期内的最高价到现在的天数; DJ7:=MA(L,(N+1) ); //从最低价到现在的移动平均线 GJ7:=MA(H,(M+1)); //从最高价到现在的移动平均线 TJ1:=(MA(C,30)<REF(MA(C,30),1) OR MA(C,15)<REF(MA(C,15),1)) OR (CLOSE<MA(C,15) OR CLOSE<MA(C,30)); //均线至少一根向下,并且股价跌到一根下方。 XHCX1:=IF(C<REF(DJ7,1),1,0) AND TJ1; //均线趋势向下,并且当前价低于前面最低价到昨天的移动平均线。 趋空:-(XHCX1 ) *30,LINETHICK2,COLORGREEN; TJ2:=(MA(C,30)>REF(MA(C,30),1) OR MA(C,15)>REF(MA(C,15),1)) OR (CLOSE>MA(C,15) OR CLOSE>MA(C,30)) ; //均线趋势至少一根向好,并且股价站一根上面。 XHCX2:=IF(C>REF(GJ7,1),1,0) AND TJ2; 趋多:XHCX2*30,LINETHICK2,COLORRED; 注: 馆内各种公式为学习编程而保存,实战使用前一定要看其中是否有未来函数并自己亲自测试成功率,决不能依据公式名称的描述和形容去投资,据此入市造成投资损失由投资者自己承担。 发文不易,如获益,欢迎赞赏,赞赏必复! |
|