指南針自定義指標(biāo)簡介(compass網(wǎng)站)_第1頁
指南針自定義指標(biāo)簡介(compass網(wǎng)站)_第2頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、指南針自定義指標(biāo)簡介目錄1指南針自定義指標(biāo)語法1.1指標(biāo)文件結(jié)構(gòu)1.2運算符1.3賦值語句1.4條件跳轉(zhuǎn)語句1.5循壞語句1.6指標(biāo)的引用1.7注釋2. 自定義指標(biāo)語法范式3. 函數(shù)列表3.1引用函數(shù)3.2大盤函數(shù)3.3數(shù)學(xué)函數(shù)3.4統(tǒng)計函數(shù)3.5三角函數(shù)4. 指標(biāo)點評4.1 AR、ER、CR指標(biāo)4.2 SRDM(動向速比率)指標(biāo)5. 指標(biāo)進階5.1常見錯誤5.2用指標(biāo)速度測試提高指標(biāo)計算速度1.指南針自定義指標(biāo)語法指南針自定義指標(biāo)平臺以高級程序語言語法為模板,定義了功能強犬的自定義指標(biāo)語法,支持高級語言的所有主要的程序結(jié)構(gòu)一一順序、循環(huán)和條件跳轉(zhuǎn)。指南針自定義指標(biāo)語法以語句為單位,每個語句都

2、需要以“;”作結(jié)尾。在自定義指標(biāo)的語法中,有三種語句:賦值語句、條件跳轉(zhuǎn)語句和循環(huán)語句。1.1.指標(biāo)文件結(jié)構(gòu)指南針指標(biāo)文件(Zbt或者zbu)可以直接用文本編輯器打開。但是不提倡直接在文本編輯器中改寫指標(biāo)文件,因為這樣做容易發(fā)生語法錯誤,而且無法使用指標(biāo)平臺編輯壞境的提示功能。指標(biāo)文件的結(jié)構(gòu)如卞(拾號中是注釋說明):ZBT(指南針指標(biāo)文件起始標(biāo)志)_NAME(指標(biāo)文件名稱,不能為空)_COMM(指標(biāo)文件注釋,可以為空)_PAR(指標(biāo)的參數(shù)列表,如果有多個參數(shù),用逗號“,”分割)_4R(指標(biāo)的局部變量列表,如果有多個,用逗號“,”分割)_ZB(指標(biāo)的參數(shù)指標(biāo)列表,即需要用到的指標(biāo)列表)_RES(

3、指標(biāo)文件的結(jié)果指標(biāo)列表,即本文件能計算的指標(biāo)列表)_DEF(指標(biāo)的默認(rèn)值,如果在計算中發(fā)生錯誤,則指標(biāo)值填為默認(rèn)值).CODE(指標(biāo)文件代碼段起始標(biāo)志)(代碼段)END(指標(biāo)文件結(jié)束標(biāo)志)1.2.運算符指南針自定義指標(biāo)中支持以下運算符(按優(yōu)先級從高到低排列):1“(”、“)”左右括號1“*”、“/”乘、除1“+”、加、減1“”、“<”、“>=”、“<=”大于、小于、大于或等于、小于或等于1“=”、"o”等于、不等于1“&”與,邏輯運算符,僅當(dāng)兩1T或1“=”賦值,注意賦值號和等于號是一樣的為了兼容中文輸入的使用習(xí)慣,下列運算符“()*/+-=”支持中文全角輸

4、入。1.3 .賦值語句賦值語句的語法非常簡單,沒有關(guān)鍵字。賦值語句的型式有:a=b+c;a=系統(tǒng)函數(shù)();系統(tǒng)函數(shù)();1.4. 條件跳轉(zhuǎn)語句條件跳轉(zhuǎn)語句有4個關(guān)鍵字:IF(表示如果)、THEN(表示則)、ELSE(表示否則)、ENDIF(表示條件語句結(jié)束)。完整的條件跳轉(zhuǎn)語句的形式是:IF條件THEN語句1;語句2;ELSE語句1;語句2;ENDIF;“條件”的形式是型如“a>b”、“a<b”、“a=b”(注意這里的是相等而不是賦值的意思),也可以用與和或把簡單條件串連起來,型如:“(a>b)&(b>c)”、“(a=b)|(b<c)”?!罢Z句1”、“語句

5、2”可以是任何語句,包括賦值、條件跳轉(zhuǎn)或者循環(huán)語句。注意條件跳轉(zhuǎn)語句必須包含“THEN”分支,但是可以沒有“ELSE”分支,型如:IF條件THEN語句1;語句2;ENDIF;1.5. 循壞語句循壞語句有3個關(guān)鍵字:LOOPBEGIN(表示開始循壞)、LOOP(表示返回上一個LOOPBEGIN處繼續(xù)執(zhí)行)、BREAK(表示結(jié)束循環(huán))。循壞語句的一般形式是:LOOPBEGIN語句1;語句2;LOOP;循環(huán)語句一般是在滿足一定條件時退出循壞,所以循壞語句一般都需要和條件語句組合使用,型如LOOPBEGINIF條件THENBREAK;ENDIF;語句1;語句2;LOOP;1.6. 指標(biāo)的引用自定義指標(biāo)

6、中需要引用其他指標(biāo)。指標(biāo)的引用分為兩類:引用參數(shù)指標(biāo)和引用結(jié)果返回指標(biāo)。1.參數(shù)指標(biāo)的引用引用參數(shù)指標(biāo)時的一般形式是:指標(biāo)名稱口期偏移(參數(shù)列表)??谄谄剖侵感枰卯?dāng)前天往前幾天的指標(biāo)數(shù)值,如杲為0則表示引用當(dāng)前天的指標(biāo)數(shù)值,1則表示當(dāng)前天往前1天的指標(biāo)數(shù)值,一次類推,注意口期偏移為0時可以不寫;參數(shù)列表標(biāo)示所引用的指標(biāo)的參數(shù),如呆所引用的指標(biāo)沒有參數(shù)則不能寫該項,如呆指標(biāo)有多個參數(shù),則中河用逗號(半角)分割。例如CYF指標(biāo)需要有一個參數(shù),當(dāng)引用兩天前以22為參數(shù)的CYF指標(biāo)應(yīng)該表述為:CYF2(22);收盤價指標(biāo)沒有參數(shù),需要引用當(dāng)前天的收盤價應(yīng)該表述為:CLOSE0或者CLOSEo2.

7、結(jié)果返回指標(biāo)的引用引用結(jié)果返回指標(biāo)分為兩種情況,即結(jié)果返回指標(biāo)出現(xiàn)在等號右側(cè)和出現(xiàn)在等號左側(cè)。結(jié)呆返回指標(biāo)出現(xiàn)在等號右側(cè)時,含義是引用結(jié)呆返回指標(biāo)的數(shù)值,引用的一般形式是:指標(biāo)名稱引用口期注意此時不能有參數(shù)列表;結(jié)果返回指標(biāo)出現(xiàn)在等號左側(cè)時,含義是給結(jié)呆返回指標(biāo)賦值,引用的一般形式是:指標(biāo)名稱,注意此時不能有口期偏移和參數(shù)列表。1.7. 注釋指南針自定義指標(biāo)語法中,允許使用注釋來標(biāo)識語句的具體意義。注釋以雙斜杠“/”開始到本行的結(jié)束。在指標(biāo)文本窗口中注釋以綠色字體顯示。2.自定義指標(biāo)語法范式指標(biāo)代碼段表達式左表達式指標(biāo)3.函數(shù)列表3.1.引用函數(shù)BLAST(X,N)求0N-1周期中,最近一次條

8、件X成立的周期到當(dāng)前天的日期偏移。如果N為0,則一直搜索到第一個有效周期(上市第一天。X是條件表達式,例如CLOSE>OPEN.CYF13>CYF34等:N是搜索的范圍。如果當(dāng)前天即滿足條件X,返回0.在搜索范圉內(nèi)條件X沒有滿足則返回N舉例:BLAST(CYF13>CYF31,10),表示求當(dāng)前天和過去9天中最近一次CYF13>CYF34的日期偏移。COST(N)取得成木分布情況。N是一個表示百分比的表達式,如20、漲跌幅等。合法的N必須是0100間的數(shù).如果N小于0,則視為0,如果N大于100,則視為100。舉例COST(20),表示20%獲利盤的價格是多少,即有20

9、%的流通盤成木在該價格以下(獲利盤)其余80%的流通盤成木在該價格以上(套牢盤)。 COSTD(X,N)取得價格分布情況。X是一個表示價格的表達式,如15.CLOSE.HIGH等:N是一個表示百分比的表達式,表示相對價格X的偏移。合法的N值應(yīng)該是一個-100到100的數(shù)值,如果N<-100,則視為-100,N大于100.則視為100a舉例COSTD(CLOSE,15),表示求當(dāng)天收盤價(1+15%)=115%的價格上的獲利盤是多少.即有多少流通盤的成木在當(dāng)天收盤價115%以下。COSTD(HIGH1,-10),表示求昨天最高價(1-10%)=90%的價格上的獲利盤是多少。 COUNT(X

10、,N)求0N-1周期中,條件X成立的周期數(shù)。如果N為0,則從第一個有效周期(上市第一天開始搜索。X是條件表達式,例如CLOSE>OPEN.CYF13>CYF34等:N是搜索的范圍。舉例COUNT(CLOSE>OPEN,10),表示10日內(nèi)K線收陽的天數(shù) DMA(Z,X,A)求X的以A為平滑因子的指數(shù)移動平均。其中Z是必須是結(jié)果返回指標(biāo),X是一個不為常數(shù)的表達式,A是平滑因子.其合理范圉應(yīng)該在01之間.如果A小于0則視為0,大于1則視為1。DMA的具體算法Z=(1-A)XZl+XXAoZl表示前一天指標(biāo)Z的數(shù)值。舉例DMA(Z,CLOSE十OPEN,02),表示求以02為平滑因

11、子的開盤價與收盤價之和的指數(shù)移動平均值,結(jié)果存放在指標(biāo)Z中。 EMA(Z,X,N)求X的N日指數(shù)平滑移動平均。N是一個非負(fù)整數(shù).如果N小于0,則視為0。EMA的具體算法:Z=(N«1)XZl+2XX/(N+2)舉例:EMA(Z,CYF131,10)表示對當(dāng)前夭的前一天的CYF13指標(biāo)作10日指數(shù)平滑移動平均,結(jié)果存放在指標(biāo)zq«o HHV(X,N)求N周期內(nèi)X的最大值。X應(yīng)該是一個不為常數(shù)的表達式,N是一個非負(fù)表達式,表示周期范圉,如果N為0表示從第一個有效周期(上市第一天)開始計算。舉例HHV(OPEN+HIGHT+LOW+CLOSE)/4,10),表示求10天內(nèi)的最高均

12、價。 HHVB(X,N)求N周期內(nèi)X值最大的周期到當(dāng)前周期的日期偏移。X和N的含義同HHV(XtN)°如果X的最大值出現(xiàn)在當(dāng)前周期.函數(shù)返回0。舉例:HHVB(OPEN十HIGHT+LOW+CLOSE)/4,10)表示求10天內(nèi)的最高均價岀現(xiàn)日期到當(dāng)前夭的偏移值。 KLINEINDEX求當(dāng)前周期是K線鏈上的第一個節(jié)點。如果當(dāng)前是上市第一個周期,函數(shù)返回0:第二個周期,函數(shù)返回1: LFCAST(X,N)求X的N周期線形回歸值。X應(yīng)該是一個不為常數(shù)的表達式,N是一個非負(fù)表達式,表示在參少周期內(nèi)作線性擬合,如果N為0表示從第一個有效周期(上市第一天)開始擬合。舉例LFCAST(CYF34

13、,0),表示對股票上市以來指標(biāo)CYF3彳的線性擬合值。 LLV(X,N)求N周期內(nèi)X的最小值。X應(yīng)該是一個不為常數(shù)的表達式,N是一個非負(fù)表達式,表示周期范圉,如果N為0表示從第一個有效周期(上市第一天)開始計算。舉例LLV(OPEN+HIGHT+LOW+CLOSE)/4,20),表示求20天內(nèi)的最低均價。 LLVB(X,N)求N周期內(nèi)X值赧小的周期到當(dāng)前周期的日期偏移。X和N的含義同LLV(X,N)。如果X的最小值出現(xiàn)在肖前周期.函數(shù)返回0。舉例LLVB(OPEN+HIGHT十LOW卡CLOSE)/4,20),表示求20天內(nèi)的最低均價出現(xiàn)日期到當(dāng)前天的偏移值 LSLOPE(X,N)求X的N周期

14、線形回歸線的斜率。X應(yīng)該是一個不為常數(shù)的表達式,N是一個非負(fù)表達式,表示在多少周期內(nèi)作線性擬合,如果N為0表示從第一個有效周期(上市第一天)開始擬合。舉例LSLOPE(CYF13,0).表示對股票上市以來指標(biāo)CYF13的數(shù)值作線性擬合后的直線斜率。 MA(人N)求X的N周期簡貳平均值。X應(yīng)該是一個不為常數(shù)的表達式,N是一個非負(fù)表達式,表示在參少周期內(nèi)作半均,如果N為0表示從第一個有效周期(上市第一天)開始計算。MA的具體算法是:押-1_胚4(広站二工扭訂=壬舉例:MA(CLOSE:1+OPEN,20),表示20個周期內(nèi).每日的前收加上今開的平均值。 SMA(Z,X,N,M)求X的N日指數(shù)移動平

15、均,平滑因子a=M/N。其屮Z是必須是結(jié)果返回指標(biāo),X是一個不為常數(shù)的表達式,m的數(shù)值應(yīng)該小于n的數(shù)值。sma的具體算法是:Z=(N-引1十胚)fN舉例:SMA(Z,CYF13,10,5),表示對CYF13作平滑因子為5/10=0.5的指數(shù)移動平均。 SUM(X,N)求X的N周期簡貳累加值。X應(yīng)該是一個不為常數(shù)的表達式,N是一個非負(fù)表達式,表示在參少周期內(nèi)作簡單累加,如果N為0表示從第一個有效周期(上市第一天)開始計算。人°舉例SUM(CLOSE1十OPEN,20),表示20個周期內(nèi),每日的前收加上今開的簡單累加值。SUMD(X,N,D)求X的N周期哀減累加值。X應(yīng)該是一個不為常數(shù)的

16、表達式:N是一個非負(fù)表達式.表示在參少周期內(nèi)作簡單累加,如果N為0表示從第一個有效周期(上市第一天)開始計算:D是相對日期偏移的哀減系數(shù),D應(yīng)該小SUMDX9N9D=工(九訂><(1一1><°/如)于N。I舉例:SUMD(CLOSE-OPEN,5,1)»表示5個周期內(nèi)的當(dāng)日漲的哀減累加,即(CLOSE-OPEN)+(CLOSE1-OPENtl)3.3.數(shù)學(xué)函數(shù)ABS(X)4/5+(CLOSE2-OPEN2)*3/5+(CLOSE3-OPEN3)*2/5+(CLOSE4-OPEN4)/53.2.大盤函數(shù) S0(X)引用指南針0號指數(shù)的數(shù)值,X是一個不為

17、常數(shù)的表達式。舉例:S0(CLOSEE1+OPEN),表示求0號指數(shù)當(dāng)前周期的前收加今開的數(shù)值。 SOAO1(X)弓I用指南針0A01指數(shù)的數(shù)值,X是一個不為常數(shù)的表達式。舉例SOAO1(成交址),表示求0A01指數(shù)當(dāng)前周期的成交址的數(shù)值。 SOAMV(X)引用指南針0AMV指數(shù)的數(shù)值,X是一個不為常數(shù)的表達式。 SODMV(X)引用指南針0DHV指數(shù)的數(shù)值,X是一個不為常數(shù)的表達式。取絕對值,ABS(X)=|X|a DERIV(Z,X)求X的導(dǎo)數(shù),結(jié)果存放在Z中。Z應(yīng)該是結(jié)果返回指標(biāo),X是一個不為常數(shù)的表達式。舉例:DERIV(乙CLOSE:1)表示求前收的導(dǎo)數(shù)。 EXP(X)求e的X次方.

18、EXP(X)=ex。 INTEGER(X)X向下収整.o LN(X)求X的自然對數(shù)。 LOG(X)求X的以10為底的對數(shù)。 MAX(A,B)求A、B中的較大值。 MIN(A,B)求A、B中的較小值。 MOD(X,N)求X模N的值, POW(X,N)求X的N次方.SGN(X)取x的符號,如果x是正數(shù),返回I:如果x是負(fù)數(shù)返M-I:如果x是o,返凹0。 SQRT(X)取X的平方根.3.4.統(tǒng)計函數(shù) AVEDEV(X,N)求X的Ntl平均絕對差。X應(yīng)該是一個不為常數(shù)的表達式,N是一個非負(fù)表達式,表示在多少周期內(nèi)作統(tǒng)計。舉例AVEDEV(CLOSE-OPEN,10),表示統(tǒng)計10日內(nèi)的當(dāng)日漲跌的平均絕

19、對差。2-0 DEVSQ(X,N)求X的Nt!偏差均方和。X應(yīng)該是一個不為常數(shù)的表達式,N是一個非負(fù)表達式,表示在多少周期內(nèi)作統(tǒng)計。舉例DEVSQ(CLOSEOPEN,】0),表示統(tǒng)計10日內(nèi)的當(dāng)H漲跌的偏差均方和。-V-1DE徳(産,“)=工(扭訂-2-0 STD(X,N)求X的Ntl估算標(biāo)準(zhǔn)差。X應(yīng)該是一個不為常數(shù)的表達式,N是一個非負(fù)表達式,表示在多少周期內(nèi)作統(tǒng)計。舉例STD(CLOSEOPEN,10),表示統(tǒng)計10日內(nèi)的當(dāng)日漲跌的估算標(biāo)準(zhǔn)差。TD(X,=$(竝訂"曲孫)2/(射-1) STDP(X,N)求X的Ntl總體標(biāo)準(zhǔn)差。X應(yīng)該是一個不為常數(shù)的表達式,N是一個非負(fù)表達式,

20、表示在多少周期內(nèi)作統(tǒng)計。舉例STDP(CLOSE-OPEN,10),表示統(tǒng)計10日內(nèi)的當(dāng)日漲跌的估算標(biāo)準(zhǔn)差。MTDPJX邛=YOT-毎)叮并VAR(X,N)求X的N日估算樣木方差。X應(yīng)該是一個不為常數(shù)的表達式,N是一個非負(fù)表達式.表示在多少周期內(nèi)作統(tǒng)計。舉例VAR(CLOSE-OPEN,10),表示統(tǒng)計10日內(nèi)的當(dāng)日漲跌的估算樣本方差。N7VARXN)=工(俎訂-胚4徑,眄)2-1)2-0VARP(X,N)求X的N日總體樣木方差。X應(yīng)該是一個不為常數(shù)的表達式,N是一個非負(fù)表達式.表示在多少周期內(nèi)作統(tǒng)計。舉例VARP(CLOSE-OPEN,10),表示統(tǒng)計10日內(nèi)的當(dāng)日漲跌的總體樣本方差.VAR

21、PXH)=工徑山-AM(底眄IN2-03.5.三角函數(shù) ACOS(X)求X的反余弦值。X取值應(yīng)該在01范圍內(nèi).如果X小于0,則視為0:如果X大于1,則視為1。返凹值在oZ間。 ASIN(X)求X的反正弦值。X収值應(yīng)該在01范圍內(nèi),如果X小于0,則視為0:如果X大于1,則視為X返回值在Z間。ATAN(X)求x的反正切值。返回值在oZ間。 cos(X)求x的余弦值.x的單位是弧度,返回值在-11Z間。 SIN(X)求x的正弦值.x的單位是弧度,返回值在-11Z間。 TAN(X)求X的正切值,X的單位是弧度。4. 指標(biāo)點評4.1. AR、BR>CR指標(biāo)我們通過介紹AR、BR、CR指標(biāo)的實現(xiàn)代碼

22、,進一步說明賦值、條件跳轉(zhuǎn)和循環(huán)三種基木語句的應(yīng)用。指標(biāo)的代碼如下指標(biāo)名稱ABCR指標(biāo)注釋(空)默認(rèn)值:0輸入?yún)?shù)M局部變址:VI,V2fV3,V4,V5,V6,AV,I參數(shù)指標(biāo)開盤價,最高價,最低價,收盤價結(jié)果指標(biāo)AR,BR,CR指標(biāo)文木:T1=0;T2=0;T3=0;T4=0;T5=0;T6=0;I=0;LOOPBEGINIF(I=M)THENBREAK;ENDIF;T1=T1+HIGHI-OPENI;T2=T2+OPENI-LOWI;IF(HIGHI>CLOSE:I+1)THENT3=T3+HIGHl-CLOSE1+1;ENDIF;IF(OPENI>CLOSE:I+1)THE

23、NT4=T4+OPENl-CLOSE1+1;ENDIF;AV=(HIGHI+1+LOWI+1)/2;IF(HIGHI>AV)THENT5=T5+HIGHl-AV;ENDIF;IF(AV>LOW:I)THENT6=T6+AV-LOWl;ENDIF;1=1+1;LOOP;AR=T1/T2;BR=T3/T4;CR=T5/T6;下而詳細分析指標(biāo)的代碼段,文木的一開始是7條賦值語句,分別把7個局部初始化為0:T1=0;賦值語句T2=0;T3=0;T4=0;T5=0;T6=0;I=0;接下來是一個循環(huán)體:LOOPBEGIN/循環(huán)開始,I是循環(huán)控制變址IF(I=M)/條件跳轉(zhuǎn)語句,控制循環(huán)結(jié)束T

24、HENBREAK;/結(jié)束循環(huán)的分支ENDIF;1=1+1;賦值語句,循環(huán)控制變址賦值LOOP;循環(huán)結(jié)束聯(lián)系前面的賦值語句"0、循環(huán)中的賦值語句1=1+1以及控制循環(huán)的條件跳轉(zhuǎn)語句可以發(fā)現(xiàn),這是一個參數(shù)H次的循環(huán).例如如果參數(shù)M為10時,這個循環(huán)需耍執(zhí)行10次。在循壞體中有4條賦值語句和5條條件判斷語句我們舉例說明,T1=T1+HIGHI-OPENtl:意思是把當(dāng)前天的前面第I天的最高價和開盤價的差值加到局部變址T1!'T2=T2+OPEXI-LOWI;是說把半前夭往前第I天的開盤價和最低價的差值加到局部變址T2中:IF(HIGHtl>CLOSE1+1)THENT3=T3

25、+HIGHl-CLOSE1+1;ENDIF;如果當(dāng)前夭前面第I天的膠高價大于第1+1天的收盤價,則把當(dāng)前天往前第I天的般高價和第1"1天的收盤價的差值加到局部變址T3屮:AV=(HIGHI+1+LOW1+1)/2;是說把前夭往前第I十1天的最高價和最低價的平均值賦給局部變址AV:最后是三句賦值語句.分別給三個結(jié)果返回指標(biāo)賦值。AR=Tl/T2;BR=T3/T4;CR=T5/T6;4.2.SRDM(動向速比率)指標(biāo)SRDH(動向速比率)指標(biāo)是一個經(jīng)典指標(biāo),我們通過這個指標(biāo)的實現(xiàn)代碼,進一步說明指南針指標(biāo)平臺中函數(shù)的應(yīng)用。指標(biāo)名稱SRDM指標(biāo)注釋:動向速比率默認(rèn)值1.000輸入?yún)?shù)N局部

26、變址:參數(shù)指標(biāo):最高價,最低價結(jié)果指標(biāo):SRDM.DM2,SRDM_DMF,SRDM.SRDM,SRDM.ASRDM,SRDM.ADMZ,SRDM.ADMF指標(biāo)文木:IF(最高價+最低價)<=(最高價1+最低價1)THENSRDM.DMZ=0;ELSESRDM.DMZ=MAX(ABS(最高價-最高價1),ABS(最低價-最低價1);ENDIF;IF(最高價+最低價)>=(最高價1+最低價1)THENSRDM.DMF=0;ELSESRDM.DMF=MAX(ABS(最高價-最高價1),ABS(最低價-最低價1);ENDIF;SRDM.ADM2=MA(SRDM.D51Z,10);SRDM

27、_ADMF=MA(SRDM.DMF,10);IF(SRDM.ADMZ>SRDM.ADMF)THENSRDM.SRDM=(SRDM_ADM2-SRDM.ADMF)/SRDM.ADMZ;ELSEIF(SRDM.ADMZ=SRDM.ADMF)THENSRDM.SRDM=0;ELSESRDM.SRDM=(SRDM.ADMZ-SRDM.ADMF)/SRDM.ADMF;ENDIF;ENDIF;SMA(SRDM.ASRDM,SRDM.SRDM,N,1);這里著重分析指標(biāo)代碼中的函數(shù)調(diào)用。在第一個條件姚轉(zhuǎn)語句IFENDIF的ELSE分支是一個賦值語句SRDM.DMZ=MAX(ABS(最高價-最高價1),

28、ABS(最低價-最低價1);語句的含義是取相鄰兩天最高價差值的絕對值與垠低價差值絕對值中較大的數(shù)值,賦給指標(biāo)SRDM_DMZ=從這里可以發(fā)現(xiàn),指標(biāo)平臺支持參重函數(shù)調(diào)用,即函數(shù)中再套函數(shù),這種調(diào)用的套用次數(shù)沒有限制。代碼的的最后是一個調(diào)用SMA函數(shù)的賦值語句:SMA(SRDM.ASRDM,SRDM.SRDM,N,1);這個語句的含義是對指標(biāo)SRDM.SRDM作N日指數(shù)移動平均,平滑系數(shù)是1/N。注意,DMA、EMA、SMA這一類函數(shù)的第一個參數(shù)必須是結(jié)果返回指標(biāo),函數(shù)計算是會把結(jié)果直接賦給第一個參數(shù),所以可以不寫賦值部分,這條語句也可以這樣寫:SRDM.ASRDM=SMA(SRDM.ASRDM,

29、SRDM.SRDM,N,1);實際上這兩種寫法是完全等價的。5. 指標(biāo)進階5.1.常見錯誤技術(shù)指標(biāo)是雖化分析和設(shè)計操作方法的基礎(chǔ),每個自定義指標(biāo)都可以反映作者對股市的獨特簡介。指南針自定義指標(biāo)平臺推出以來,廣大網(wǎng)員編寫了許多指標(biāo),其中有許多精品,但是也有一些普遍性的錯誤,在木章中列舉一些常見的錯誤類型,供廣大網(wǎng)員參考。5.1.1. 條件語句沒有考虔所有情況條件跳轉(zhuǎn)語句屈于分支結(jié)構(gòu),每個條件跳轉(zhuǎn)語句都應(yīng)該有兩個分支一一條件滿足和條件不滿足,原則上兩個分支都需??紤]。請看下面指標(biāo)TEST的實現(xiàn)代碼(結(jié)果指標(biāo)是TEST和AA):IF(CLOSE>OPEN)THENAA=CLOSE;ENDIF;

30、TEST=MA(AA,10);這種類型的代碼在指標(biāo)平臺的實際使用中很常見。我們先看條件跳轉(zhuǎn)語句,如果今天K線收陽(CLOSEOPEN),則結(jié)果指標(biāo)AA賦值為CLOSE.下而直接把AA作簡單移動平均賦值給結(jié)果指標(biāo)TEST。但是如果今天K線不收陽(CLOSE二OPEN)那?此時結(jié)果指標(biāo)AA沒有被賦值,接下來對AA作MA運算是沒有總義的,此時指標(biāo)TEST的數(shù)值可能會和用戶原來的設(shè)想大相徑庭。依據(jù)實際情況,這段代碼有多種修改方法,例如:IF(CLOSE>OPEN)THENAA=CLOSE;ELSEAA=OPEN;ENDIF;TEST=MA(AA,10);或者AA=0;IF(CLOSE>OP

31、EN)THENAA=CLOSE;ENDIF;TEST=MA(AA,10);可以看出.第一種修改方法把條件跳轉(zhuǎn)的兩個分支都考慮進去了,而第二種方法則是先對指標(biāo)AA賦初始值,然后無論接下來的條件跳轉(zhuǎn)語句是否會對AA賦值,AA的數(shù)值都是有意義的。5.1.2.循環(huán)語句不能正常退出技術(shù)指標(biāo)是雖:化分析和設(shè)計操作方法的基礎(chǔ).每個自定義指標(biāo)都可以反映作者對股市的獨特簡介。指南針自定義指標(biāo)平臺推出以來,廣大網(wǎng)員編寫了許多指標(biāo),其中有許多精品但是也有一些普遍性的錯誤,在木章中列舉一些常見的錯誤類型,供廣大網(wǎng)員參考。有兩種循環(huán)語句:一種明確知道循環(huán)次數(shù),另一種則不明確知道循環(huán)次數(shù)°無論哪種循環(huán)語句.在實

32、際使用中都經(jīng)常岀現(xiàn)循環(huán)不能正常退出的錯誤。1)明確知道循環(huán)次數(shù)的循環(huán)語句明確知道循環(huán)次數(shù)的循環(huán)語句的一般形式如下(I是局部變塑.用來控制循環(huán)次數(shù),稱為循環(huán)控制變ft):I=0;L00PBEGINIF(I>=10)THENBREAK;ENDIF;1=1+1;LOOP;具體來說.這種循環(huán)語旬由三部分構(gòu)成:循環(huán)控制變址(I)賦初值;通過I值判斷是否需要退出循環(huán):累加I。這三個部分是缺一不可的。但是,實際使用屮缺經(jīng)常出現(xiàn)類似下而的代碼:LOOPBEGINIF(I>=10)THENBREAK;ENDIF;1=1+1;LOOP;或者I=0;LOOPBEGINIF(I>=10)THENBREAK;ENDIF;LOOP;第一中情況屮循環(huán)控制變址I沒有賦初值就直接進入循環(huán),此時I值沒有總義,所以無論是接下來的條件判斷語句或者累加I的操作都變成沒有總義了。第二種情況則是忘了寫累加I的語句此時I一直是0,條件語句恒不滿足,是個不能退出的死循環(huán)。2)不明確知道循環(huán)次數(shù)的循環(huán)語句先觀察一個實際指標(biāo)的實現(xiàn)代碼(F.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論