飞狐非常经典的江恩轮中轮主图指标公式
源码
INPUT:最近天(30,1,360);当前月:=FRACPART(ROUND(当前日期/100)/100)*100;
月:=MONTH;日:=DAY;
N:=if(sysparam(1)=datacount,最近天,datacount-sysparam(1)+1);
HH:=HHV(HIGH,N);
LL:=LLV(LOW,N);
VN:=N;
IF VN>DATACOUNT THEN
VN=DATACOUNT+1;
FOR I=DATACOUNT DOWNTO DATACOUNT-VN+1 DO BEGIN
HH[I]:=HH[DATACOUNT];
LL[I]:=LL[DATACOUNT];
END;
TMP:=SETLBOUND(hh,DATACOUNT-VN+1);
TMP:=SETLBOUND(ll,DATACOUNT-VN+1);
KKH:=BARSLAST(H=HH);
KKL:=BARSLAST(L=LL);
N低日:=STRTONUM(NUMTOSTR(REF(DATE,KKL),0));
N高日:=STRTONUM(NUMTOSTR(REF(DATE,KKH),0));
多空:=IF(N低日>N高日,2,1),LINETHICK0;
DATE1:=IF(多空=1,N低日,N高日);
LLOW:=ref(LOW,BARSLAST(DATE1=DATE));
H1:=STRTONUM(NUMTOSTR(hh,2));
L1:=STRTONUM(NUMTOSTR(LLOW,2));
VERTLINE(DATE=DATE1),COLORFFAAAA,LINETHICK1;
{DRAWTEXT(DATE=DATE1,SYSPARAM(4)*0.95,'起\n \n\n测\n \n点'),COLORFFFFFF;}
IF 多空=1 THEN BEGIN
PARTLINE(DATE>N低日,L1),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N低日,L1*1.042),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N低日,L1*1.083),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N低日,L1*1.125),COLORMAGENTA;
PARTLINE(DATE>N低日,L1*1.167),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N低日,L1*1.208),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N低日,L1*1.25),COLORMAGENTA;
PARTLINE(DATE>N低日,L1*1.292),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N低日,L1*1.33),COLORMAGENTA;
PARTLINE(DATE>N低日,L1*1.375),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N低日,L1*1.417),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N低日,L1*1.458),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N低日,L1*1.5),COLORMAGENTA;
PARTLINE(DATE>N低日,L1*1.542),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N低日,L1*1.583),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N低日,L1*1.625),COLORMAGENTA;
PARTLINE(DATE>N低日,L1*1.667),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N低日,L1*1.708),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N低日,L1*1.75),COLORMAGENTA;
PARTLINE(DATE>N低日,L1*1.792),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N低日,L1*1.833),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N低日,L1*1.875),COLORMAGENTA;
PARTLINE(DATE>N低日,L1*1.917),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N低日,L1*1.958),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N低日,L1*2),COLORMAGENTA;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1+0.002,NUMTOSTR(L1,2)+' 0 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1*1.042+0.002,NUMTOSTR(L1*1.042,2)+' 15 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1*1.083+0.002,NUMTOSTR(L1*1.083,2)+' 30 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1*1.125+0.002,NUMTOSTR(L1*1.125,2)+' 45 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1*1.167+0.002,NUMTOSTR(L1*1.167,2)+' 60 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1*1.208+0.002,NUMTOSTR(L1*1.208,2)+' 75 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1*1.25+0.002,NUMTOSTR(L1*1.25,2)+' 90 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1*1.292+0.002,NUMTOSTR(L1*1.292,2)+' 105 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1*1.33+0.002,NUMTOSTR(L1*1.33,2)+' 120 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1*1.375+0.002,NUMTOSTR(L1*1.375,2)+' 135 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1*1.417+0.002,NUMTOSTR(L1*1.417,2)+' 150 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1*1.458+0.002,NUMTOSTR(L1*1.458,2)+' 165 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1*1.5+0.002,NUMTOSTR(L1*1.5,2)+' 180 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1*1.542+0.002,NUMTOSTR(L1*1.542,2)+' 195 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1*1.583+0.002,NUMTOSTR(L1*1.583,2)+' 210 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1*1.625+0.002,NUMTOSTR(L1*1.625,2)+' 225 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1*1.667+0.002,NUMTOSTR(L1*1.667,2)+' 240 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1*1.708+0.002,NUMTOSTR(L1*1.708,2)+' 255 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1*1.75+0.002,NUMTOSTR(L1*1.75,2)+' 270 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1*1.792+0.002,NUMTOSTR(L1*1.792,2)+' 285 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1*1.833+0.002,NUMTOSTR(L1*1.833,2)+' 290 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1*1.875+0.002,NUMTOSTR(L1*1.875,2)+' 315 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1*1.917+0.002,NUMTOSTR(L1*1.917,2)+' 330 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1*1.958+0.002,NUMTOSTR(L1*1.958,2)+' 345 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,L1*2+0.002,NUMTOSTR(L1*2,2)+' 360 '),COLORWHITE,ALIGN2;
END;
ELSE BEGIN
PARTLINE(DATE>N高日,H1),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N高日,H1-H1*0.042),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N高日,H1-H1*0.083),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N高日,H1-H1*0.125),COLORMAGENTA;
PARTLINE(DATE>N高日,H1-H1*0.167),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N高日,H1-H1*0.208),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N高日,H1-H1*0.25),COLORMAGENTA;
PARTLINE(DATE>N高日,H1-H1*0.292),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N高日,H1-H1*0.33),COLORMAGENTA;
PARTLINE(DATE>N高日,H1-H1*0.375),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N高日,H1-H1*0.417),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N高日,H1-H1*0.458),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N高日,H1-H1*0.5),COLORMAGENTA;
PARTLINE(DATE>N高日,H1-H1*0.542),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N高日,H1-H1*0.583),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N高日,H1-H1*0.625),COLORMAGENTA;
PARTLINE(DATE>N高日,H1-H1*0.667),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N高日,H1-H1*0.708),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N高日,H1-H1*0.75),COLORMAGENTA;
PARTLINE(DATE>N高日,H1-H1*0.792),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N高日,H1-H1*0.833),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N高日,H1-H1*0.875),COLORMAGENTA;
PARTLINE(DATE>N高日,H1-H1*0.917),COLORFFFF99,LINEDOT;
PARTLINE(DATE>N高日,H1-H1*0.958),COLORMAGENTA;
DRAWTEXT(SYSPARAM(3)=BARPOS,H1+0.002,NUMTOSTR(H1-H1*0.042,2)+' 0 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,H1-H1*0.042+0.002,NUMTOSTR(H1-H1*0.042,2)+' 15 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,H1-H1*0.083+0.002,NUMTOSTR(H1-H1*0.083,2)+' 30 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,H1-H1*0.125+0.002,NUMTOSTR(H1-H1*0.125,2)+' 45 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,H1-H1*0.167+0.002,NUMTOSTR(H1-H1*0.167,2)+' 60 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,H1-H1*0.208+0.002,NUMTOSTR(H1-H1*0.208,2)+' 75 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,H1-H1*0.25+0.002,NUMTOSTR(H1-H1*0.25,2)+' 90 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,H1-H1*0.292+0.002,NUMTOSTR(H1-H1*0.292,2)+' 105 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,H1-H1*0.33+0.002,NUMTOSTR(H1-H1*0.33,2)+' 120 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,H1-H1*0.375+0.002,NUMTOSTR(H1-H1*0.375,2)+' 135 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,H1-H1*0.417+0.002,NUMTOSTR(H1-H1*0.417,2)+' 150 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,H1-H1*0.458+0.002,NUMTOSTR(H1-H1*0.458,2)+' 165 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,H1-H1*0.5+0.002,NUMTOSTR(H1-H1*0.5,2)+' 180 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,H1-H1*0.542+0.002,NUMTOSTR(H1-H1*0.542,2)+' 195 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,H1-H1*0.583+0.002,NUMTOSTR(H1-H1*0.583,2)+' 210 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,H1-H1*0.625+0.002,NUMTOSTR(H1-H1*0.625,2)+' 225 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,H1-H1*0.667+0.002,NUMTOSTR(H1-H1*0.667,2)+' 240 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,H1-H1*0.708+0.002,NUMTOSTR(H1-H1*0.708,2)+' 255 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,H1-H1*0.75+0.002,NUMTOSTR(H1-H1*0.75,2)+' 270 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,H1-H1*0.792+0.002,NUMTOSTR(H1-H1*0.792,2)+' 285 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,H1-H1*0.833+0.002,NUMTOSTR(H1-H1*0.833,2)+' 300 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,H1-H1*0.875+0.002,NUMTOSTR(H1-H1*0.875,2)+' 315 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,H1-H1*0.917+0.002,NUMTOSTR(H1-H1*0.917,2)+' 330 '),COLORWHITE,ALIGN2;
DRAWTEXT(SYSPARAM(3)=BARPOS,H1-H1*0.958+0.002,NUMTOSTR(H1-H1*0.958,2)+' 345 '),COLORWHITE,ALIGN2;
END;
DRAWTEXT(SYSPARAM(2)=BARPOS and NUMTOSTR(当前月,0)='1',c,NUMTOSTR(当前月,0)+'月转折日:6、15、21、*25\n \n \n \n '),COLOR00FFFF,ALIGN4;
DRAWTEXT(SYSPARAM(2)=BARPOS and NUMTOSTR(当前月,0)='2',c,NUMTOSTR(当前月,0)+'月转折日:6、15、21\n \n \n \n '),COLOR00FFFF,ALIGN4;
DRAWTEXT(SYSPARAM(2)=BARPOS and NUMTOSTR(当前月,0)='3',c,NUMTOSTR(当前月,0)+'月转折日:6、15、*20、21\n \n \n \n '),COLOR00FFFF,ALIGN4;
DRAWTEXT(SYSPARAM(2)=BARPOS and NUMTOSTR(当前月,0)='4',c,NUMTOSTR(当前月,0)+'月转折日:6、15、21\n \n \n \n '),COLOR00FFFF,ALIGN4;
DRAWTEXT(SYSPARAM(2)=BARPOS and NUMTOSTR(当前月,0)='5',c,NUMTOSTR(当前月,0)+'月转折日:6、*12、15、21\n \n \n \n '),COLOR00FFFF,ALIGN4;
DRAWTEXT(SYSPARAM(2)=BARPOS and NUMTOSTR(当前月,0)='6',c,NUMTOSTR(当前月,0)+'月转折日:6、*14、21\n \n \n \n '),COLOR00FFFF,ALIGN4;
DRAWTEXT(SYSPARAM(2)=BARPOS and NUMTOSTR(当前月,0)='7',c,NUMTOSTR(当前月,0)+'月转折日:8、15、*19、23\n \n \n \n '),COLOR00FFFF,ALIGN4;
DRAWTEXT(SYSPARAM(2)=BARPOS and NUMTOSTR(当前月,0)='8',c,NUMTOSTR(当前月,0)+'月转折日:*6、8、15、23\n \n \n \n '),COLOR00FFFF,ALIGN4;
DRAWTEXT(SYSPARAM(2)=BARPOS and NUMTOSTR(当前月,0)='9',c,NUMTOSTR(当前月,0)+'月转折日:8、15、*18、23\n \n \n \n '),COLOR00FFFF,ALIGN4;
DRAWTEXT(SYSPARAM(2)=BARPOS and NUMTOSTR(当前月,0)='10',c,NUMTOSTR(当前月,0)+'月转折日:8、15、23、*31\n \n \n \n '),COLOR00FFFF,ALIGN4;
DRAWTEXT(SYSPARAM(2)=BARPOS and NUMTOSTR(当前月,0)='11',c,NUMTOSTR(当前月,0)+'月转折日:8、15、23、*28\n \n \n \n '),COLOR00FFFF,ALIGN4;
DRAWTEXT(SYSPARAM(2)=BARPOS and NUMTOSTR(当前月,0)='12',c,NUMTOSTR(当前月,0)+'月转折日:8、15、23、*31\n \n \n \n '),COLOR00FFFF,ALIGN4;