編程思路破譯 輸出DIF:收盤價的12日指數(shù)移動平均-收盤價的26日指數(shù)移動平均 輸出DEA:DIF的9日指數(shù)移動平均 如果DIF,返回DIF,否則返回?zé)o效數(shù),畫白色 如果DIF>1日前的DIF,返回DIF,否則返回?zé)o效數(shù),畫紅色 如果DIF<1日前的DIF,返回DIF,否則返回?zé)o效數(shù),畫綠色 輸出DEA1:DIF,畫白色,CROSSDOT 輸出平滑異同平均線:"MACD.MACD",NODRAW 輸出W1:當(dāng)滿足條件MACD>0時,在MACD和0位置之間畫柱狀線,寬度為0,1不為0則畫空心柱.,畫紅色 輸出W2:當(dāng)滿足條件MACD<0時,在MACD和0位置之間畫柱狀線,寬度為0,1不為0則畫空心柱.,畫綠色 VA1賦值:上次MACD<0距今天數(shù)+1日內(nèi)MACD距今天數(shù) VA2賦值:若0上穿MACD則將最近1日前的VA1+2周期置為1上穿0.5 QG賦值:若0上穿MACDOR(ISLASTBARANDMACD>0)則將最近1日前的VA1+2周期置為1上穿0.5 輸出前高:當(dāng)滿足條件VA2時,在MACD位置畫直線起點,當(dāng)滿足條件1日前的VA2時,在1日前的MACD位置畫直線終點,1表示是否延長.,畫洋紅色 VA3賦值:上次MACD>0距今天數(shù)+1日內(nèi)MACD距今天數(shù) VA4賦值:若MACD上穿0則將最近1日前的VA3+2周期置為1上穿0.5 BD賦值:上次0上穿MACD的收盤價的有效數(shù)據(jù)周期數(shù)日反向過濾距今天數(shù) 輸出前低:當(dāng)滿足條件VA4時,在MACD位置畫直線起點,當(dāng)滿足條件1日前的VA4時,在1日前的MACD位置畫直線終點,1表示是否延長. BDTJ賦值:如果MACD<0,返回MACD=上次MACD>0距今天數(shù)日內(nèi)MACD的最低值的收盤價的有效數(shù)據(jù)周期數(shù)日反向過濾,否則返回?zé)o效數(shù) TSBDTJ賦值:上次BDTJ距今天數(shù) BDZH賦值:MACD<BD+1日內(nèi)MACD的最低值的最后一日取值設(shè)為常數(shù)的收盤價的有效數(shù)據(jù)周期數(shù)日反向過濾 BDTS賦值:上次BDZH距今天數(shù) 輸出本低:如果BD+1>=1,返回BD+1日內(nèi)MACD的最低值的最后一日取值設(shè)為常數(shù),否則返回?zé)o效數(shù) BDCL賦值:統(tǒng)計TSBDTJ日中滿足MACD>本低/2ANDMACD<0上穿0.5的天數(shù)=1上穿0.5 AND TSBDTJ>=0 終點賦值:如果ISLASTBARANDMACD>0ANDMACD=上次MACD<0距今天數(shù)日內(nèi)MACD的最高值,返回1,否則返回如果QG的收盤價的有效數(shù)據(jù)周期數(shù)日反向過濾,返回2,否則返回?zé)o效數(shù) UU賦值:(終點=1 OR 終點=2) AND MACD>0 ZZ賦值:UU的收盤價的有效數(shù)據(jù)周期數(shù)日反向過濾 輸出本高:當(dāng)滿足條件ZZ時,在MACD位置畫直線起點,當(dāng)滿足條件1日前的ZZ時,在1日前的MACD位置畫直線終點,1表示是否延長.,畫白色 橫線賦值:上次ZZ距今天數(shù)日前的MACD的最后一日取值設(shè)為常數(shù) WW賦值:MACD>橫線 起始點賦值:1日后的上次WW距今天數(shù)=1的收盤價的有效數(shù)據(jù)周期數(shù)日反向過濾 輸出天數(shù):上次起始點距今天數(shù),畫黃色,NODRAW 上橫線賦值:當(dāng)滿足條件起始點時,在橫線位置畫直線起點,當(dāng)滿足條件ZZ時,在橫線位置畫直線終點,0表示是否延長.,畫綠色,DOTLINE 下橫線賦值:當(dāng)滿足條件BDZH時,在BD+1日內(nèi)MACD的最低值的最后一日取值設(shè)為常數(shù)位置畫直線起點,當(dāng)滿足條件BDTJ=1時,在MACD位置畫直線終點,0表示是否延長.,COLOR8080FF,DOTLINE 當(dāng)滿足條件BDTJ時,在BD+1日內(nèi)MACD的最低值的最后一日取值設(shè)為常數(shù)*0.9位置書寫數(shù)字 當(dāng)滿足條件ZZ時,在上橫線*1.1位置書寫數(shù)字 TJ賦值:如果起始點,返回下次ZZ距今天數(shù),否則返回?zé)o效數(shù) 輸出紅柱數(shù)量:如果天數(shù)>0AND天數(shù)<=天數(shù)日前的TJ,返回MACD>0的天數(shù)日累和,否則返回?zé)o效數(shù),畫白色,NODRAW 輸出橫線起始價:天數(shù)日前的收盤價,NODRAW 輸出空間評估:(橫線起始價-收盤價)/收盤價*100,NODRAW TT賦值:上次ZZ距今天數(shù) WQG賦值:統(tǒng)計ZZ日中滿足MACD<本高/2ANDMACD>0上穿0.5的天數(shù)=1上穿0.5 AND ZZ>=0 當(dāng)滿足條件MACD>前高AND本高>前高ANDBARSLAST(MACD<本高/2上穿0.5)>0ANDMACD>(前高+本高)/2時,在MACD和前高位置之間畫柱狀線,寬度為1,0不為0則畫空心柱.,畫黃色 輸出前高本高二分位:如果MACD>0AND本高不等于前高,返回當(dāng)滿足條件WQG時,在(前高+本高)/2位置畫直線起點,當(dāng)滿足條件1日前的WQG時,在1日前的(前高+本高)/2位置畫直線終點,1表示是否延長.,否則返回?zé)o效數(shù),COLORC0C000,DOTLINE 輸出AA:字符串相加,NODRAW 當(dāng)滿足條件WQG時,在MACD*1.1位置書寫文字,畫白色 當(dāng)滿足條件BDCL時,在MACD*1.1位置書寫文字,畫白色 當(dāng)滿足條件MACD>前高時,在MACD和前高位置之間畫柱狀線,寬度為0,0不為0則畫空心柱.,畫黃色 當(dāng)滿足條件WQG時,在MACD和0位置之間畫柱狀線,寬度為1,0不為0則畫空心柱.,畫綠色 當(dāng)滿足條件MACD<0ANDMACD<前低AND前低<0時,在MACD和前低位置之間畫柱狀線,寬度為0,0不為0則畫空心柱.,畫藍(lán)色 B1賦值:如果MACD<0上穿0.5,返回下次BDTJ距今天數(shù),否則返回?zé)o效數(shù) TSB1賦值:上次MACD>0距今天數(shù)-1 當(dāng)滿足條件上次BDCL距今天數(shù)>=0ANDMACD<前低ANDMACD<0時,在MACD和前低位置之間畫柱狀線,寬度為1,0不為0則畫空心柱.,畫綠色 當(dāng)滿足條件BDCL時,在MACD和0位置之間畫柱狀線,寬度為1,0不為0則畫空心柱.,畫白色 當(dāng)滿足條件MACD>前高AND本高>前高ANDBARSLAST(WQG)>0時,在MACD和前高位置之間畫柱狀線,寬度為1,0不為0則畫空心柱.,畫紅色 當(dāng)滿足條件VA2ANDVA2不等于UU時,在MACD/10位置書寫文字 當(dāng)滿足條件BDTJ時,在(MACD/10)*9位置書寫文字,畫紅色 如果上次BDCL距今天數(shù)>=0,返回本低/2,否則返回?zé)o效數(shù),畫紅色,DOTLINE 當(dāng)滿足條件1時,在橫軸0縱軸0位置書寫文字,畫洋紅色 程序源碼 DIF:EMA(CLOSE,12)-EMA(CLOSE,26); DEA:EMA(DIF,9); {此段為DIF線變色} IF(DIF,DIF,DRAWNULL),COLORWHITE; IF(DIF>REF(DIF,1),DIF,DRAWNULL),COLORRED; IF(DIF<REF(DIF,1),DIF,DRAWNULL),COLORGREEN; DEA1:DIF,COLORWHITE,CROSSDOT; MACD:"MACD.MACD",NODRAW; W1:STICKLINE(MACD>0,MACD,0,0,1),COLORRED; W2:STICKLINE(MACD<0,MACD,0,0,1),COLORGREEN; VA1:=HHVBARS(MACD,BARSLAST(MACD<0)+1); VA2:=CROSS(BACKSET(CROSS(0,MACD),REF(VA1,1)+2),0.5); QG:=CROSS(BACKSET(CROSS(0,MACD) OR (ISLASTBAR AND MACD>0),REF(VA1,1)+2),0.5); 前高:DRAWLINE(VA2,MACD,REF(VA2,1),REF(MACD,1),1),COLORMAGENTA; VA3:=LLVBARS(MACD,BARSLAST(MACD>0)+1); VA4:=CROSS(BACKSET(CROSS(MACD,0),REF(VA3,1)+2),0.5); BD:=BARSLAST(FILTERX(CROSS(0,MACD),BARSCOUNT(C))); 前低:DRAWLINE(VA4,MACD,REF(VA4,1),REF(MACD,1),1); BDTJ:=IF(MACD<0,FILTERX(MACD=LLV(MACD,BARSLAST(MACD>0)), BARSCOUNT(C)),DRAWNULL); TSBDTJ:=BARSLAST(BDTJ); BDZH:=FILTERX(MACD<CONST(LLV(MACD,BD+1)),BARSCOUNT(C)); BDTS:=BARSLAST(BDZH); 本低:IF(BD+1>=1,CONST(LLV(MACD,BD+1)),DRAWNULL); BDCL:=CROSS(COUNT(CROSS(MACD>本低/2 AND MACD<0,0.5),TSBDTJ)=1,0.5) AND TSBDTJ>=0; 終點:=IF(ISLASTBAR AND MACD>0 AND MACD=HHV(MACD,BARSLAST(MACD<0)),1, IF(FILTERX(QG,BARSCOUNT(C)),2,DRAWNULL)); UU:=(終點=1 OR 終點=2) AND MACD>0; ZZ:=FILTERX(UU,BARSCOUNT(C)); 本高:DRAWLINE(ZZ,MACD,REF(ZZ,1),REF(MACD,1),1),COLORWHITE; 橫線:=CONST(REF(MACD,BARSLAST(ZZ))); WW:=MACD>橫線; 起始點:=FILTERX(REFX(BARSLAST(WW),1)=1,BARSCOUNT(C)); 天數(shù):BARSLAST(起始點),COLORYELLOW,NODRAW; 上橫線:=DRAWLINE(起始點,橫線,ZZ,橫線,0),COLORGREEN,DOTLINE; 下橫線:=DRAWLINE(BDZH,CONST(LLV(MACD,BD+1)),BDTJ=1,MACD,0),COLOR8080FF,DOTLINE; DRAWNUMBER(BDTJ,CONST(LLV(MACD,BD+1))*0.9,BDTS); DRAWNUMBER(ZZ,上橫線*1.1,天數(shù)); TJ:=IF(起始點,BARSNEXT(ZZ),DRAWNULL); 紅柱數(shù)量:IF(天數(shù)>0 AND 天數(shù)<=REF(TJ,天數(shù)),SUM(MACD>0,天數(shù)),DRAWNULL),COLORWHITE,NODRAW; 橫線起始價:REF(C,天數(shù)),NODRAW; 空間評估:(橫線起始價-C)/C*100,NODRAW; TT:=BARSLAST(ZZ); WQG:=CROSS(COUNT(CROSS(MACD<本高/2 AND MACD>0,0.5),ZZ)=1,0.5) AND ZZ>=0; STICKLINE(MACD>前高 AND 本高>前高 AND BARSLAST(CROSS(MACD<本高/2,0.5))>0 AND MACD>(前高+本高)/2,MACD,前高,1,0),COLORYELLOW; 前高本高二分位:IF(MACD>0 AND 本高!=前高,DRAWLINE(WQG,(前高+本高)/2,REF(WQG,1),REF((前高+本高)/2,1),1) ,DRAWNULL),COLORC0C000,DOTLINE; AA:STRCAT(STRCAT(STRCAT('〖','上升空間'),'〗'),CON2STR(IF(空間評估,空間評估, DRAWNULL),2)),NODRAW; DRAWTEXT(WQG,MACD*1.1,'高成'),COLORWHITE; DRAWTEXT(BDCL,MACD*1.1,'低成'),COLORWHITE; STICKLINE(MACD>前高,MACD,前高,0,0),COLORYELLOW; STICKLINE(WQG,MACD,0,1,0),COLORGREEN; STICKLINE(MACD<0 AND MACD<前低 AND 前低<0,MACD,前低,0,0),COLORBLUE; B1:=IF(CROSS(MACD<0,0.5),BARSNEXT(BDTJ),DRAWNULL); TSB1:=BARSLAST(MACD>0)-1; STICKLINE(BARSLAST(BDCL)>=0 AND MACD<前低 AND MACD<0,MACD,前低,1,0),COLORGREEN; STICKLINE(BDCL,MACD,0,1,0),COLORWHITE; STICKLINE(MACD>前高 AND 本高>前高 AND BARSLAST(WQG)>0, MACD,前高,1,0),COLORRED; {DRAWTEXT(VA2 AND VA2!=UU,(MACD/10)*9,'前');} DRAWTEXT(VA2 AND VA2!=UU,MACD/10,'高'); {DRAWTEXT(ZZ,(MACD/10)*9,'本'),COLORWHITE; DRAWTEXT(ZZ,MACD/10,'高'),COLORWHITE;} DRAWTEXT(BDTJ,(MACD/10)*9,'低'),COLORRED; {DRAWTEXT(BDTJ,MACD/10,'本'),COLORRED;} IF(BARSLAST(BDCL)>=0,本低/2,DRAWNULL),COLORRED,DOTLINE; DRAWTEXT_FIX(1,0,0,0,'【黑馬拉升由兩個階段構(gòu)成:同步上漲階段(黃芯柱) 和慣性上漲階段(背離階段、紅芯柱)】'),COLORMAGENTA; 該公式包含未來函數(shù):BACKSET 注: 館內(nèi)各種公式為學(xué)習(xí)編程而保存,實戰(zhàn)使用前一定要看其中是否有未來函數(shù)并自己親自測試成功率,決不能依據(jù)公式名稱的描述和形容去投資,據(jù)此入市造成投資損失由投資者自己承擔(dān)。 發(fā)文不易,如獲益,歡迎贊賞,贊賞必復(fù)! |
|
來自: 追夢文庫 > 《交易系統(tǒng)》