近期,我参考了一位坛友分享的大智慧“自动涨幅”指标源码,在此基础上自行编写了“涨跌幅预测”指标。该指标的核心思路是自动识别波段的高低点,并在转向发生时,按百分比算法标出股价在各涨跌幅区间的对应位置,以及该波段的起止日期,总计设置了十五档。
随后,我又按照大智慧的算法思路,将费氏黄金分割比例作为关键系数,编写了“黄金涨跌幅”指标。这个版本只设置了九档,但在多数场景下已经足够使用(详见附图)。
现在,我将这两个指标合并整理为一份,统一发出来,供各位坛友参考交流。
KG1:=20;
F1:=10;
A1:=IF(PERIOD<=3,1,IF(PERIOD=4,5,IF(PERIOD=5,10,KG1)));
A2:=IF(PERIOD<=2,1,IF(PERIOD=3,3,IF(PERIOD=4,5,F1)));
PB:=PEAKBARS(1,A1,1);
TB:=TROUGHBARS(2,A1,1);
ISPEAK:=PB<TB;
ISTROUGH:=TB<PB;
CC:=IF(ISPEAK,PEAK(1,A1,1),TROUGH(2,A1,1));
A6:=CROSS(PEAK(1,A1,1)*0.98,CC);
A7:=CROSS(CC,TROUGH(2,A1,1)*1.02);
A8:=A2/40;
A9:=IF(ISPEAK,A8,-A8);
A10:=ISPEAK OR ISTROUGH;
A11:=TOTALBARSCOUNT-CURRBARSCOUNT+1;
A12:=HHV(HHV(H,A11),A11);
A13:=LLV(LLV(L,A11),A11);
H1:=REF(CC*(1-A9*0.382),BARSLAST(A10));
H2:=REF(CC*(1-A9*0.618),BARSLAST(A10));
H3:=REF(CC*(1-A9*0.809),BARSLAST(A10));
H4:=REF(CC*(1-A9*1.000),BARSLAST(A10));
H5:=REF(CC*(1-A9*1.191),BARSLAST(A10));
H6:=REF(CC*(1-A9*1.382),BARSLAST(A10));
H7:=REF(CC*(1-A9*1.618),BARSLAST(A10));
H8:=REF(CC*(1-A9*1.809),BARSLAST(A10));
H9:=REF(CC*(1-A9*2.000),BARSLAST(A10));
A14:=IF((PERIOD = 12),1.00005,(IF((PERIOD < 3),1.0005,1.002)));
STICKLINE(CC>=A13 AND CC<=A12, CC, CC*A14, 5, 0), COLORRED;
STICKLINE(1,H1,H1,1,0),COLORGRAY;
STICKLINE(1,H2,H2,1,0),COLORGRAY;
STICKLINE(1,H3,H3,1,0),COLORGRAY;
STICKLINE(1,H4,H4,1,0),COLORGRAY;
STICKLINE(1,H5,H5,1,0),COLORGRAY;
STICKLINE(1,H6,H6,1,0),COLORGRAY;
STICKLINE(1,H7,H7,1,0),COLORGRAY;
STICKLINE(1,H8,H8,1,0),COLORGRAY;
STICKLINE(1,H9,H9,1,0),COLORGRAY;
DRAWTEXT(PB=0 AND H1>A13 AND H1<A12, H1, VARCAT('0.382=',VAR2STR(H1,2))), COLORLIGREEN;
DRAWTEXT(PB=0 AND H2>A13 AND H2<A12, H2, VARCAT('0.618=',VAR2STR(H2,2))), COLORLIGREEN;
DRAWTEXT(PB=0 AND H3>A13 AND H3<A12, H3, VARCAT('0.809=',VAR2STR(H3,2))), COLORLIGREEN;
DRAWTEXT(PB=0 AND H4>A13 AND H4<A12, H4, VARCAT('1.000=',VAR2STR(H4,2))), COLORLIGREEN;
DRAWTEXT(PB=0 AND H5>A13 AND H5<A12, H5, VARCAT('1.191=',VAR2STR(H5,2))), COLORLIGREEN;
DRAWTEXT(PB=0 AND H6>A13 AND H6<A12, H6, VARCAT('1.382=',VAR2STR(H6,2))), COLORLIGREEN;
DRAWTEXT(PB=0 AND H7>A13 AND H7<A12, H7, VARCAT('1.618=',VAR2STR(H7,2))), COLORLIGREEN;
DRAWTEXT(PB=0 AND H8>A13 AND H8<A12, H8, VARCAT('1.809=',VAR2STR(H8,2))), COLORLIGREEN;
DRAWTEXT(PB=0 AND H9>A13 AND H9<A12, H9, VARCAT('2.000=',VAR2STR(H9,2))), COLORLIGREEN;
DRAWTEXT(TB=0 AND H1>A13 AND H1<A12, H1, VARCAT('0.382=',VAR2STR(H1,2))), COLORLIRED;
DRAWTEXT(TB=0 AND H2>A13 AND H2<A12, H2, VARCAT('0.618=',VAR2STR(H2,2))), COLORLIRED;
DRAWTEXT(TB=0 AND H3>A13 AND H3<A12, H3, VARCAT('0.809=',VAR2STR(H3,2))), COLORLIRED;
DRAWTEXT(TB=0 AND H4>A13 AND H4<A12, H4, VARCAT('1.000=',VAR2STR(H4,2))), COLORLIRED;
DRAWTEXT(TB=0 AND H5>A13 AND H5<A12, H5, VARCAT('1.191=',VAR2STR(H5,2))), COLORLIRED;
DRAWTEXT(TB=0 AND H6>A13 AND H6<A12, H6, VARCAT('1.382=',VAR2STR(H6,2))), COLORLIRED;
DRAWTEXT(TB=0 AND H7>A13 AND H7<A12, H7, VARCAT('1.618=',VAR2STR(H7,2))), COLORLIRED;
DRAWTEXT(TB=0 AND H8>A13 AND H8<A12, H8, VARCAT('1.809=',VAR2STR(H8,2))), COLORLIRED;
DRAWTEXT(TB=0 AND H9>A13 AND H9<A12, H9, VARCAT('2.000=',VAR2STR(H9,2))), COLORLIRED;
A19:=IF(PERIOD=8,'天',IF(PERIOD=9,'周',IF(PERIOD=10,'月','天')));
DRAWTEXT(PB=0, CC*1.01, VARCAT(VAR2STR(TB+1,0), A19)), COLORMAGENTA;
DRAWTEXT(TB=0, CC*0.99, VARCAT(VAR2STR(PB+1,0), A19)), COLORYELLOW;
DRAWTEXT(PB=0, CC*1.025, VARCAT('(高位价)',VAR2STR(CC,2))),COLORMAGENTA;
DRAWTEXT(TB=0, CC*0.97, VARCAT('(低位价)',VAR2STR(CC,2))),COLORYELLOW;
