分享

同花顺波动趋向自用副图指标公式(附源码破译破解和源码)

 追梦文库 2023-10-05 发布于天津

编程思路破译

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;


注:

       馆内各种公式为学习编而保存,实战使用前一定要看其中是否有未来函数并自己亲自测试成功率决不能依据公式名称的描述和形容去投资,据此入市造成投资损失由投资者自己承担

       发文不易,如获益,欢迎赞赏,赞赏必复!

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多