編程思路破譯 自動預(yù)測周期賦值:10 全畫開關(guān)賦值:1 最高賦值:30 最低賦值:10 VAR1賦值:收盤價的有效數(shù)據(jù)周期數(shù) VAR2賦值:VAR1的最后一日取值設(shè)為常數(shù) VAR3賦值:VAR2-VAR1 輸出K線計數(shù):VAR3+1,NODRAW,畫黃色 K線 A1賦值:(自動預(yù)測周期日前的最高價 = (自動預(yù)測周期+1)日內(nèi)最高價的最高值) B1賦值:A1的自動預(yù)測周期日過濾 C1賦值:若B1則將最近(自動預(yù)測周期+1)周期置為1 D1賦值:C1的自動預(yù)測周期日過濾 A2賦值:(自動預(yù)測周期日前的最低價 = (自動預(yù)測周期+1)日內(nèi)最低價的最低值) B2賦值:A2的自動預(yù)測周期日過濾 C2賦值:若B2則將最近(自動預(yù)測周期+1)周期置為1 D2賦值:C2的自動預(yù)測周期日過濾 E1賦值:((1日前的自動預(yù)測周期日內(nèi)最低價的最低值 + 1日前的自動預(yù)測周期日內(nèi)最高價的最高值) / 2) E2賦值:((最高價 + 最低價) / 2) H1賦值:(((D1 AND 取反) OR 是否最后一個周期) OR (收盤價的有效數(shù)據(jù)周期數(shù) = 1)) L1賦值:(D2 AND 取反) H2賦值:(D1 AND 取反) X1賦值:1日前的上次H1距今天數(shù) + 1 F1賦值:若(H1AND(統(tǒng)計X1日中滿足L1的天數(shù)>0))則將最近X1日內(nèi)如果L1,返回最低價,否則返回10000距今天數(shù)周期置為1 G1賦值:(F1 > 1日前的F1) I1賦值:若G1則將最近2周期置為1 LD賦值:(I1 > 1日前的I1) L2賦值:((LD OR 是否最后一個周期) OR (收盤價的有效數(shù)據(jù)周期數(shù) = 1)) X2賦值:(1日前的上次L2距今天數(shù) + 1) F2賦值:若(L2AND(統(tǒng)計X2日中滿足H2的天數(shù)>0))則將最近X2日內(nèi)如果H2,返回最高價,否則返回0距今天數(shù)周期置為1 G2賦值:(F2 > 1日前的F2) I2賦值:若G2則將最近2周期置為1 HD賦值:(I2 > 1日前的I2) 如果全畫開關(guān)=1,返回當(dāng)滿足條件LD時,在最低價位置畫直線起點,當(dāng)滿足條件HD時,在最高價位置畫直線終點,0表示是否延長.,否則返回?zé)o效數(shù)畫紅色 如果全畫開關(guān)=1,返回當(dāng)滿足條件HD時,在最高價位置畫直線起點,當(dāng)滿足條件LD時,在最低價位置畫直線終點,0表示是否延長.,否則返回?zé)o效數(shù)畫綠色 當(dāng)滿足條件全畫開關(guān)=1ANDLDANDBARSLAST(HD)<上次1日前的LD距今天數(shù)時,在最低價*0.98位置書寫文字,畫紅色 當(dāng)滿足條件全畫開關(guān)=1ANDLDANDBARSLAST(HD)<上次1日前的LD距今天數(shù)時,在最低價*0.98位置書寫數(shù)字,畫紅色 當(dāng)滿足條件全畫開關(guān)=1ANDHD時,在最高價*1.01位置書寫文字,畫綠色 當(dāng)滿足條件全畫開關(guān)=1ANDHD時,在最高價*1.01位置書寫數(shù)字,畫綠色 最高價格賦值:2日內(nèi)最高-1日前的最高價的最高值,NODRAW 最低價格賦值:2日內(nèi)最低-1日前的最低價的最低值,NODRAW 高低比賦值:最高價格/最低價格 高低比平方賦值:高低比的開方 再平放賦值:高低比平方的開方 短高點B賦值:最低價格*(高低比的開方+再平放-1)NODRAW 輸出短高點:短高點B的最后一日取值設(shè)為常數(shù),NODRAW 輸出短中點:最高價格/高低比平方的最后一日取值設(shè)為常數(shù),NODRAW VAR12賦值:最低價格*最高價格/最低價格的開方的開方 輸出短低點:VAR12的最后一日取值設(shè)為常數(shù),NODRAW 求最高值賦值:日期日最高日內(nèi)最高價的最高值 求最低值賦值:日期日最低日內(nèi)最低價的最低值 當(dāng)滿足條件到最后交易的周期=最低時,在短高點位置畫直線起點,當(dāng)滿足條件到最后交易的周期時,在短高點位置畫直線終點,0表示是否延長.DOTLINE,線寬為1,畫洋紅色 當(dāng)滿足條件到最后交易的周期=最低時,在短中點位置畫直線起點,當(dāng)滿足條件到最后交易的周期時,在短中點位置畫直線終點,0表示是否延長.DOTLINE,線寬為1,畫洋紅色 當(dāng)滿足條件到最后交易的周期=最低時,在短低點位置畫直線起點,當(dāng)滿足條件到最后交易的周期時,在短低點位置畫直線終點,0表示是否延長.DOTLINE,線寬為1,畫洋紅色 當(dāng)滿足條件到最后交易的周期=最低時,在短高點*1.01位置書寫文字,畫洋紅色 當(dāng)滿足條件到最后交易的周期=最低時,在短中點*0.99位置書寫文字畫洋紅色 當(dāng)滿足條件到最后交易的周期=最低時,在短低點*0.97位置書寫文字畫洋紅色 當(dāng)滿足條件到最后交易的周期=最高時,在最高價位置書寫文字,畫黃色 當(dāng)滿足條件到最后交易的周期=最低時,在最低價位置書寫文字,畫黃色 當(dāng)滿足條件到最后交易的周期=最低時,在最低價位置畫38號圖標(biāo) 當(dāng)滿足條件到最后交易的周期=最高時,在最高價位置畫39號圖標(biāo) 當(dāng)滿足條件到最后交易的周期=最低時,在最低價位置畫直線起點,當(dāng)滿足條件到最后交易的周期=最高時,在最高價位置畫直線終點,0表示是否延長.畫洋紅色,線寬為2 當(dāng)滿足條件到最后交易的周期=最高時,在最高價位置畫直線起點,當(dāng)滿足條件到最后交易的周期=最低時,在最低價位置畫直線終點,0表示是否延長.畫洋紅色,線寬為2 當(dāng)滿足條件到最后交易的周期=最低時,在最低價位置畫直線起點,當(dāng)滿足條件短高點時,在短高點位置畫直線終點,-1表示是否延長.DOTLINE,線寬為1,畫洋紅色 當(dāng)滿足條件到最后交易的周期=最低時,在最低價和短高點位置之間畫柱狀線,寬度為0,0不為0則畫空心柱.,畫洋紅色 程序源碼 自動預(yù)測周期:=10; 全畫開關(guān):=1; 最高:=30; 最低:=10; VAR1:=BARSCOUNT(C); VAR2:=CONST(VAR1); VAR3:=VAR2-VAR1; K線計數(shù):VAR3+1,NODRAW,COLORYELLOW; {自動預(yù)測周期} DRAWKLINE(H,O,L,C); A1:=(REF(HIGH,自動預(yù)測周期) = HHV(HIGH,(自動預(yù)測周期 + 1))); B1:=FILTER(A1,自動預(yù)測周期); C1:=BACKSET(B1,(自動預(yù)測周期 + 1)); D1:=FILTER(C1,自動預(yù)測周期); A2:=(REF(LOW,自動預(yù)測周期) = LLV(LOW,(自動預(yù)測周期 + 1))); B2:=FILTER(A2,自動預(yù)測周期); C2:=BACKSET(B2,(自動預(yù)測周期 + 1)); D2:=FILTER(C2,自動預(yù)測周期); E1:=((REF(LLV(LOW,自動預(yù)測周期),1) + REF(HHV(HIGH,自動預(yù)測周期),1)) / 2); E2:=((HIGH + LOW) / 2); H1:=(((D1 AND NOT((D2 AND (E1 >= E2)))) OR ISLASTBAR) OR (BARSCOUNT(CLOSE) = 1)); L1:=(D2 AND NOT((D1 AND (E1 < E2)))); H2:=(D1 AND NOT((D2 AND (E1 >= E2)))); X1:=REF(BARSLAST(H1),1) + 1; F1:=BACKSET((H1 AND (COUNT(L1,X1) > 0)),LLVBARS(IF(L1,LOW,10000),X1)); G1:=(F1 > REF(F1,1)); I1:=BACKSET(G1,2); LD:=(I1 > REF(I1,1)); L2:=((LD OR ISLASTBAR) OR (BARSCOUNT(CLOSE) = 1)); X2:=(REF(BARSLAST(L2),1) + 1); F2:=BACKSET((L2 AND (COUNT(H2,X2) > 0)),HHVBARS(IF(H2,HIGH,0),X2)); G2:=(F2 > REF(F2,1)); I2:=BACKSET(G2,2); HD:=(I2 > REF(I2,1)); {全畫} IF(全畫開關(guān)=1,DRAWLINE(LD,L,HD,H,0),DRAWNULL)COLORRED; IF(全畫開關(guān)=1,DRAWLINE(HD,H,LD,L,0),DRAWNULL)COLORGREEN; DRAWTEXT(全畫開關(guān)=1 AND LD AND BARSLAST(HD)<BARSLAST(REF(LD,1)) ,L*0.98,'A'),COLORRED; DRAWNUMBER(全畫開關(guān)=1 AND LD AND BARSLAST(HD)<BARSLAST(REF(LD,1)) ,L*0.98,L),COLORRED; DRAWTEXT(全畫開關(guān)=1 AND HD,H*1.01,'B'),COLORGREEN; DRAWNUMBER(全畫開關(guān)=1 AND HD,H*1.01,H),COLORGREEN; 最高價格:=HHV(REF(HIGH,最高-1),2),NODRAW; 最低價格:=LLV(REF(LOW,最低-1),2),NODRAW; 高低比:=最高價格/最低價格; 高低比平方:=SQRT(高低比); 再平放:=SQRT(高低比平方); 短高點B:=最低價格*(SQRT(高低比)+再平放-1)NODRAW; 短高點:CONST(短高點B),NODRAW; 短中點:CONST(最高價格/高低比平方),NODRAW; VAR12:=最低價格*SQRT(SQRT(最高價格/最低價格)); 短低點:CONST(VAR12),NODRAW; 求最高值:=REFDATE(HHV(HIGH,最高),DATE); 求最低值:=REFDATE(LLV(LOW,最低),DATE); {DRAWLINE(CURRBARSCOUNT=最低,短高點,ISLASTBAR,短高點,0)POINTDOT,LINETHICK4,COLORMAGENTA;{C3橫線} DRAWLINE(CURRBARSCOUNT=最低,短高點,CURRBARSCOUNT,短高點,0)DOTLINE,LINETHICK1,COLORMAGENTA;{C3橫線} DRAWLINE(CURRBARSCOUNT=最低,短中點,CURRBARSCOUNT,短中點,0)DOTLINE,LINETHICK1,COLORMAGENTA;{C2橫線} DRAWLINE(CURRBARSCOUNT=最低,短低點,CURRBARSCOUNT,短低點,0)DOTLINE,LINETHICK1,COLORMAGENTA;{C1橫線} DRAWTEXT(CURRBARSCOUNT=最低,短高點*1.01,STRCAT(' C3:',CON2STR(短高點,2))),COLORMAGENTA; DRAWTEXT(CURRBARSCOUNT=最低,短中點*0.99,STRCAT(' C2:',CON2STR(短中點,2)))COLORMAGENTA; DRAWTEXT(CURRBARSCOUNT=最低,短低點*0.97,STRCAT(' C1:',CON2STR(短低點,2)))COLORMAGENTA; DRAWTEXT(CURRBARSCOUNT=最高,H,'( 高B )'),COLORYELLOW; DRAWTEXT(CURRBARSCOUNT=最低,L,'( 低A )'),COLORYELLOW; DRAWICON(CURRBARSCOUNT=最低,L,38);{歷史低點標(biāo)記} DRAWICON(CURRBARSCOUNT=最高,H,39);{歷史高點標(biāo)記}; DRAWLINE(CURRBARSCOUNT=最低,L,CURRBARSCOUNT=最高,H,0)COLORMAGENTA,LINETHICK2;{最高到低點劃線} DRAWLINE(CURRBARSCOUNT=最高,H,CURRBARSCOUNT=最低,L,0)COLORMAGENTA,LINETHICK2;{最低到高點劃線}; DRAWLINE(CURRBARSCOUNT=最低,L,短高點,短高點,-1)DOTLINE,LINETHICK1,COLORMAGENTA; STICKLINE(CURRBARSCOUNT=最低,L,短高點,0,0),COLORMAGENTA; 該公式包含未來函數(shù):BACKSET 注: 館內(nèi)各種公式為學(xué)習(xí)編程而保存,實戰(zhàn)使用前一定要看其中是否有未來函數(shù)并自己親自測試成功率,決不能依據(jù)公式名稱的描述和形容去投資,據(jù)此入市造成投資損失由投資者自己承擔(dān)。 發(fā)文不易,如獲益,歡迎贊賞,贊賞必復(fù)! |
|