同期滬深K線指標公式源碼[通達信公式]
主要是用于繪制K線圖,并且在右上角顯示當前日期與標注不同指數名稱。下面是具體分析:
1. 代碼前面的四個變量HH、OO、LL和CC用于獲取對應股票的最高價、開盤價、最低價和收盤價。這里通過函數CODELIKE('600') 或者CODELIKE('000')等來判斷股票的交易所,在滬市股票賦予999999$H、999999$O、999999$L和999999$C這樣的變量,而深市股票賦予399001$H、399001$O、399001$L和399001$C這樣的變量。這些變量將在后面繪制K線圖時用到。
2. 繪制K線圖部分的代碼為DRAWKLINE函數。其中傳入的參數就是上面獲取到的最高價、開盤價、最低價和收盤價。這里沒有加參數NODRAW是指要繪制K線圖,如果加上NODRAW則不會繪制出來。
3. 在K線圖的右上角繪制當前日期的代碼是DRAWTEXT_FIX函數和一系列字符串拼接操作。拼接操作的意義是組合日期和星期幾,并添加中文括號。 DRAWTEXT_FIX函數即為繪制固定文本函數,其后面的參數分別為日期、橫坐標、縱坐標、對齊方式、文本內容。這里DRAWTEXT_FIX函數用于繪制當前日期。
4. 接下來代碼繪制了上證指數、深證成指、創業板指和中小板指這些指數的名稱。同樣也是通過CODELIKE函數判斷股票屬于哪個指數,然后繪制對應指數的名稱。DRAWTEXT_FIX函數用于繪制文本內容,具體來說當CODELIKE的結果匹配‘60’或者‘999999’,即為滬市指數時,就會在(0.4,1)的坐標位置繪制上證指數。其它指數的繪制方法類似。
?
HH:=IF(CODELIKE('600'),"999999$H","399001$H");OO:=IF(CODELIKE('600'),"999999$O","399001$O");LL:=IF(CODELIKE('600'),"999999$L","399001$L");CC:=IF(CODELIKE('600'),"999999$C","399001$C");滬深大盤:IF(CODELIKE('600'),"999999$C","399001$C"),NODRAW;DRAWKLINE(HH,OO,LL,CC);D1:=YEAR AND MONTH AND DAY;AA1:=STRCAT(CON2STR(YEAR,0),'年');AA2:=STRCAT(CON2STR(MONTH,0),'月');AA3:=STRCAT(CON2STR(DAY,0),'日');AA4:=STRCAT('【',IF(WEEKDAY=1,'一',IF(WEEKDAY=2,'二',IF(WEEKDAY=3,'三',IF(WEEKDAY=4,'四',IF(WEEKDAY=5,'五',IF(WEEKDAY=6,'六','日')))))));AA:=STRCAT(STRCAT(STRCAT(AA1,AA2),STRCAT(AA3,AA4)),'】');DRAWTEXT_FIX(D1,0,1,0,AA);上證指數:=STRCAT(STRCAT('〖','上證指數'),'〗');DRAWTEXT_FIX(CODELIKE('60') OR CODELIKE('999999'),0.4,1,0,上證指數),COLORGREEN;深證成指:=STRCAT(STRCAT('〖','深證成指'),'〗');DRAWTEXT_FIX(CODELIKE('000') OR CODELIKE('399001'),0.4,1,0,深證成指),COLORGREEN;創業板指:=STRCAT(STRCAT('〖','創業板指'),'〗');DRAWTEXT_FIX(CODELIKE('300') OR CODELIKE('399006'),0.4,1,0,創業板指),COLORGREEN;中小板指:=STRCAT(STRCAT('〖','中小板指'),'〗');DRAWTEXT_FIX(CODELIKE('002') OR CODELIKE('399005'),0.4,1,0,中小板指),COLORGREEN;ZJS:=IF(CODELIKE('60') OR CODELIKE('999'),"999999$ADVANCE",IF(CODELIKE('300') ORCODELIKE('399006'),"399006$ADVANCE",IF(CODELIKE('002') OR CODELIKE('399005'),"399005$ADVANCE","399001$ADVANCE")));DJS:=IF(CODELIKE('60') OR CODELIKE('999'),"999999$INDEXDEC",IF(CODELIKE('300') ORCODELIKE('399006'),"399006$INDEXDEC",IF(CODELIKE('002') OR CODELIKE('399005'),"399005$INDEXDEC","399001$INDEXDEC")));AA11:=STRCAT(STRCAT(STRCAT('【','跌家數'),'】'),CON2STR(DJS,0));AA22:=STRCAT(STRCAT(STRCAT(STRCAT('【','漲家數'),'】'),CON2STR(ZJS,0)),AA11);DRAWTEXT_FIX(D1,0.7,1,0,AA22),COLORYELLOW;BDGD:=CC=HHV(CC,40);GDSJ:=BARSLAST(FILTER(CROSS(0.8,BDGD),20))+1;GD:REF(HH,GDSJ),COLOR00FF00,POINTDOT,LINETHICK1;TTP:=CROSS(CC,REF(GD,1)),COLOR00FFFF,POINTDOT,LINETHICK0;STICKLINE(GDSJ<=6,GD,GD,8,0),COLORFF00FF;BDDD:=CC=LLV(CC,N);DDSJ:=BARSLAST(FILTER(CROSS(0.8,BDDD),N1))+1;DDD1:REF(LL,DDSJ),COLOR00FFFF,POINTDOT,LINETHICK1;STICKLINE(DDSJ<=6,DDD1,DDD1,8,0),COLOR00FF00;ZS:=REF(CC,1);QS:=SMA(MAX(CC-ZS,0),8,1)/SMA(ABS(CC-ZS),8,1)*100;XG2:=CROSS(QS,15);DRAWICON(XG2,LL*0.997,26);XG3:=DDSJ=1;DRAWICON(XG3,LL,1);
公式導入教程: 【通達信公式源碼導入方法教程】 【同花順公式源碼導入方法教程】 【大智慧新一代公式源碼導入方法教程】
?
有思路,想編寫各種指標公式,交易模型,選股公式,還原公式的朋友
可聯系技術人員 QQ: 262069696 或微信:cxhjy888 進行 有償收費 編寫!(注:由于人數限制,QQ或微信請選擇方便的一個聯系我們就行,加好友時請簡單備注下您的需求,否則無法通過。謝謝您!)
(注:由于人數限制,QQ或微信請選擇方便的一個聯系我們就行,加好友時請簡單備注下您的需求,否則無法通過。謝謝您!)
相關文章
-
沒有相關內容