指標公式源碼分析及使用參考說明:
?
這段代碼是用來計算股市中的技術指標并進行圖表繪制和條件判斷的。總體來說,它包含了以下幾個部分:
1. 移動平均線計算:
?? - `MAA5`、`MAA10`、`MAA20`、`MAA30` 分別計算了收盤價的5日、10日、20日和30日移動平均線。
2. 條件判斷和買賣信號:
?? - `KS` 是一個條件判斷,如果10日均線大于30日均線,則為10日均線,否則為30日均線,且顯示為藍色。
?? - `買` 是一個買入條件,通過一系列條件判斷(如A8的低值、A8小于0的數量、A8和其2日均線的交叉等),并且漲幅大于2%。
?? - 根據條件,使用 `DRAWTEXT` 和 `STICKLINE` 在圖表上標注買入信號的位置。
3. 漲幅和跌幅條件:
?? - `漲幅5` 和 `跌幅5` 判斷漲幅大于5%或跌幅大于5%,并用 `STICKLINE` 在相應位置標注。
4. 移動平均線的繪制:
?? - `M5`、`M10`、`M20`、`M30` 分別繪制了5日、10日、20日和30日的移動平均線,設定了顏色和線條粗細。
5. 其他圖形繪制和文本顯示:
?? - 使用 `DRAWLINE` 繪制當日的價格水平線。
?? - 使用 `DRAWICON` 在圖表上顯示某些條件滿足時的圖標。
?? - 使用 `DRAWTEXT_FIX` 在固定位置顯示文本,例如顯示行業、主題投資等信息。
總體編程思路總結及操作建議:
- 理解指標計算和條件判斷:首先要理解每個變量和條件的含義及其計算邏輯。這需要對股市技術分析指標有一定的了解。
?
- 調試和優化:代碼中可能存在一些條件判斷的邏輯需要根據具體的股市行情進行調試和優化。例如,漲跌幅條件的設定可能需要根據具體股票的波動性進行調整。
- 可視化和交互:利用繪圖函數和文本顯示函數,將計算結果直觀地展示出來。這不僅有助于理解股票走勢,還可以幫助做出交易決策。
- 靈活應用:根據實際需求,可以將這些指標和條件判斷組合成策略,用于自動化交易系統或者手動交易決策的參考依據。
- 數據源和周期選擇:確保數據源的準確性和完整性,同時根據不同的交易周期(如日線、分鐘線)選擇適當的計算方法和參數。
綜上所述,這段代碼提供了一種基于技術分析的股市交易策略實現框架,需要結合具體市場情況和個人的交易風格進行調整和應用。
?
源碼:
MAA5:=MA(C,5);MAA5_T:= ( (C+ C + REF(C,1) + REF(C,2) + REF(C,3) ) / 5 );MAA10:=MA(C,10);MAA20:=MA(C,20);MAA30:=MA(C,30);KS:=IF(MAA10>MAA30,MAA10,MAA30),COLORBLUE;A3:=(C-LLV(L,9))/(HHV(H,9)-LLV(L,9))*100;A4:=SMA(A3,3,1);A5:=SMA(A4,3,1);A6:=3*A4-2*A5;A7:=C-REF(C,1);A8:=100*EMA(EMA(A7,6),6)/EMA(EMA(ABS(A7),6),6);A9:=( (C-REF(C,1)) / REF(C,1) ) > 0.02; {漲幅要大于2%}買:=LLV(A8,2)=LLV(A8,7) AND COUNT(A8<0,2) AND CROSS(A8,MA(A8,2)) AND A9;DRAWTEXT(FILTER(買=1,5),LOW*0.96,'買'), COLORMAGENTA;STICKLINE(買,OPEN,CLOSE,2,0),COLORMAGENTA;{顯示1 到 10的數字}ZT:=BARSLAST(C/REF(C,1)-1>=0.1-0.01/REF(C,1) AND C=H);AQ:=EVERY(C>=REF(L,ZT),ZT);BQ:=IF(REF(AQ,ZT+1) AND REF(ZT,ZT+1)<13,REF(ZT,ZT+1)+ZT+1,ZT);DRAWTEXT(ZT<=10 AND AQ, REF(L,ZT)*0.96, cxh2STR(ZT,0)),COLOR008000;DRAWTEXT(ZT>=6 AND ZT<=8 AND AQ, REF(L,ZT)*0.96, cxh2STR(ZT,0)),COLORRED;DRAWTEXT(BQ>0 AND BQ<=10 AND BQ!=AQ, REF(L,BQ)*0.96, cxh2STR(BQ,0)),COLOR008000;DRAWTEXT(BQ>=6 AND BQ<=8 AND BQ!=AQ, REF(L,BQ)*0.96, cxh2STR(BQ,0)),COLORRED;{如果漲幅大于5%,顯示黃s}漲幅5 := ( (C /REF(C,1)) > 1.05 ) AND ( (C /REF(C,1)) < 1.09 ) ;STICKLINE(漲幅5, CLOSE, OPEN, 1, 0), COLOR8000FF;{如果漲停顯示黃芯,如果跌停顯示綠芯}漲停 := (C /REF(C,1)) > 1.095;STICKLINE(漲停, HIGH, OPEN, 0.9, 0), COLORYELLOW;{如果漲幅大于5%,顯示黃s}跌幅5 := ( (C / REF(C,1)) < 0.95 ) ;STICKLINE(跌幅5, OPEN, CLOSE, 1, 0), COLOR400000;跌停 := C/REF(C,1) < 0.9 ;STICKLINE(跌停, HIGH, LOW, 1, 0), COLORGREEN;M5:MA(CLOSE,5), LINETHICK2, COLORRED; {COLORWHITE;}MAA5_T, NODRAW;M10:MA(CLOSE,10), COLORGREEN, LINETHICK2; {COLORLIRED}M20:MA(CLOSE,20), COLORFF00FF; {, LINETHICK2;}M30:MA(CLOSE,30), COLORGREEN, NODRAW; {, LINETHICK2;}{顯示當日價咯線}DRAWLINE(CURRBARSCOUNT=90, CONST(C), CURRBARSCOUNT=1, C, 3),COLORBLUE,LINETHICK1;DRAWICON(CROSS(M10, C), H, 15);{顯示20日線M20DAYS:=MA(CLOSE,20);DRAWLINE(CURRBARSCOUNT=TOTALBARSCOUNT,CONST(C),CURRBARSCOUNT=1,M20DAYS,3),COLORFF00FF, DOTLINE,LINETHICK1;}{M60:MA(CLOSE,60); POINTDOT}{M89:MA(CLOSE,89),LINETHICK2,COLORFF9966;}{//一二零日:=MA(C,120),LINETHICK1,COLOR000099;//一四四日:MA(C,144),LINETHICK1,COLORFF3300; //BLUE}上軌:(1+6/100)*MA(CLOSE,25), COLORBLUE,LINETHICK2;{M90:MA(CLOSE,90);}{M120:MA(CLOSE,120);}{M250:MA(CLOSE,250);};{//頂部顯示}SBL1 := STRCAT('1地區:', DYBLOCK);SBL2 := ' ';{STRCAT(' 2行業:', HYBLOCK);}SBL3 := STRCAT(' 3主題投資:', EXTERNSTR(0,1));SBL4 := STRCAT(' ', ZDBLOCK);SBL41 := STRCAT(STRCAT(' 4.概念: ', GNBLOCK), STRCAT(' 55.自定義:', ZDBLOCK) );SBL43 := STRCAT(' 5.風格:', FGBLOCK);{SBL4 := STRCAT(STRCAT(SBL1, SBL2), SBL3);}SBL5 := STRCAT(STRCAT(STRCAT(STRCAT(SBL1, SBL2), SBL4), SBL41), SBL43);DRAWTEXT_FIX(1, 0.0, 0.0.1, 0, SBL5),COLORFF6000;{底部顯示}SBL:= STRCAT(' ', STRCAT(STRCAT(STRCAT(HYBLOCK,DYBLOCK),GNBLOCK),ZDBLOCK) );{DRAWTEXT_FIX(1,0,70,0,SBL),COLORFF6000;}DRAWTEXT_FIX(ISLASTBAR,0,70,0,SBL3),COLORFF6000;總股本:=STRCAT(STRCAT('總股本: ',CON2STR(TOTALCAPITAL/1000000,2)),'億');{流通盤:=STRCAT(STRCAT(' 流通盤: ',CON2STR(CAPITAL/1000000,2)),'億');}全流通:=STRCAT(' 流通比: ',CON2STR((CAPITAL/1000000)/(TOTALCAPITAL/1000000),2));流通值:=(CAPITAL/1000000)*C;市值:=STRCAT(STRCAT(' 流通: ',CON2STR(流通值,2)),'億');股本市值:=STRCAT('市值: ',STRCAT(STRCAT(STRCAT(總股本,全流通),市值),''));{DRAWTEXT_FIX(ISLASTBAR,0.005,0.115,0,股本市值),COLORBLUE;}DRAWTEXT_FIX(流通值>100,0,0.12,0,股本市值),COLORGREEN; {大于100億顯示綠色}DRAWTEXT_FIX(流通值>=200,0,0.12,0,股本市值),COLORBLUE; {小于100億顯示藍色}DRAWTEXT_FIX(流通值<=100,0,0.12,0,股本市值),COLORRED; {小于100億顯示紅色}Q2:=REF(O,2)>REF(C,2);{2日前的開盤價>2日前的收盤價}Q1:=REF(O,1)>REF(C,1) AND REF(C,1)<REF(C,2); {1日前的開盤價>1日前的收盤價 AND 1日前的收盤價<2日前的收盤價}YBY:=C>O AND C>REF(H,1); {目前是陽線 AND 當前價>1日前的最高價}YZ:=YBY AND Q1 AND Q2 AND REF(C,1)<REF(C,2); {連跌2天,今天收陽了}DRAWICON(YZ AND C<55 AND DYNAINFO(4)>0,L*0.95,1);XG:DRAWTEXT(YZ AND C<55 AND DYNAINFO(4)>0,L*0.90,'逆轉');{強勢股要突破上軌線}{上軌:(1+6/100)*MA(CLOSE,25), COLORBLUE,LINETHICK2;};{大宗交易, 大宗交易的價咯超過收盤價,叫溢價,低于收盤價叫折價}大宗交易 := SIGNALS_USER(298, 0), NODRAW;減持金額 := cxhCAT(cxh2STR(大宗交易/10000.0 , 2),'億'); {單位是:億}{FLOAT FBILIU = (收盤價 - 成交價) / 收盤價;}比率 := FRACPART(大宗交易), NODRAW; {得到小數部分,帶正負符號的}成交價 := C - C*比率, NODRAW;{成交價咯小于收盤價,0.1,折價甩賣,顯示綠色}{DRAWTEXT(比率>0, H, 減持金額), COLOR008000;DRAWTEXT(比率>0, 成交價, '減----'), COLOR008000; }DRAWTEXT(比率>=0, H*1.015, '減'), COLOR008000;DRAWTEXT(比率>=0, 成交價, 減持金額), COLOR008000;{//成交價咯高于收盤價0.5,溢價,顯示紅色}DRAWTEXT(比率<0, 成交價, 減持金額), COLORRED;{//成交價咯高于收盤價0.5,溢價,顯示紅色}DRAWTEXT(比率<0, 成交價, 減持金額), COLORRED;{除權后顯示蝴蝶}{FINANCE(1)=總股本 FINANCE(7)=流通股本}除權條件 := ( FINANCE(1)>REF(FINANCE(1),1) ) AND (FINANCE(7)>REF(FINANCE(7), 1) AND 流通值<=1000);送股數 := (FINANCE(1)/REF(FINANCE(1), 1)-1)*10;DRAWICON(除權條件, H, 28);DRAWTEXT(除權條件, L*0.96, '高轉送'), COLORRED;DRAWNUMBER(除權條件, L*0
?
公式導入教程: 【通達信公式源碼導入方法教程】 【同花順公式源碼導入方法教程】 【大智慧新一代公式源碼導入方法教程】
?