编程思路破译
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;
注:
馆内各种公式为学习编程而保存,实战使用前一定要看其中是否有未来函数并自己亲自测试成功率,决不能依据公式名称的描述和形容去投资,据此入市造成投资损失由投资者自己承担。
发文不易,如获益,欢迎赞赏,赞赏必复!
联系客服