公式編寫入門(轉(zhuǎn))1(2009-09-16 01:17:52)
第一講:認(rèn)識(shí)公式編輯器 第二講:公式編寫的基礎(chǔ)函數(shù) 第三講:認(rèn)識(shí)顏色符號(hào)或繪圖函數(shù) 第四講:源碼的引入和修改 第五講:各種形態(tài)的描述 第六講:均線(選股)的基本形態(tài) 第七講:在源碼中提取選股公式 第八講:函數(shù)的綜合運(yùn)用 第九講:常用函數(shù)示例 第十講:系統(tǒng)常用指標(biāo)原理解析 第一講:認(rèn)識(shí)公式編輯器 公式編輯器是導(dǎo)入源碼和進(jìn)行編寫指標(biāo)的窗口。公式編輯器共分4種,分別是: 1、技術(shù)指標(biāo)公式編輯器; 2、條件選股公式編輯器; 3、交易系統(tǒng)公式編輯器; 4、五彩K線公式編輯器。 由于這幾種編輯器的展開和使用大同小異。所以,本文僅以技術(shù)指標(biāo)公式編輯器為例加以說明。 由于目前各種股軟的區(qū)別,不僅有些函數(shù)不通用,編輯器的打開方式也略有區(qū)別。本講就是告訴大家如何展開公式編輯器。 第二講:公式編寫的基礎(chǔ)函數(shù) 打開技術(shù)指標(biāo)公式,我們最常見的,它的組成不外乎兩種情況,一是K線,二是均線。其他諸如柱狀線,彩帶,分段線等等,都是在K線或均線基礎(chǔ)上的延伸或變形。為此,我們先熟悉一下構(gòu)成這兩種狀態(tài)的基本函數(shù)。 一、K線函數(shù) 非常簡單,大家都可能熟知。作為基礎(chǔ),還是說明一下。 1、開盤價(jià):OPEN 可簡寫為 O 2、最高價(jià):HIGH 可簡寫為 3、最低價(jià):LOW 可簡寫為 4、收盤價(jià):CLOSE 可簡寫為 有了這4個(gè)函數(shù),就可構(gòu)成一根K線了。比如:收盤價(jià)小于開盤價(jià),即陰線:C<o; 收陽線則互為相反。 那么長下影的光頭陽線,即 T 形線呢?理解了原理,也很簡單。一要以最高價(jià)收盤(否則有上影),二要開盤價(jià)大于最低價(jià)。所以有如下表示:C=H AND O>L;這里我們沒有考慮下影的長度和 T 字上邊一橫(實(shí)體部分)的寬度。 習(xí)題:一根光頭陽線,實(shí)體部分小于5分錢,下影超過實(shí)體的兩倍,如何表述 特別提示:編輯指標(biāo)必須在英文狀態(tài)下輸入。其中運(yùn)用的數(shù)學(xué)符號(hào),包括加減乘除、分號(hào),引號(hào)等(+ - * / ; "" ''''><#)也必須在英文狀態(tài)下輸入。 單根K線的形態(tài)是相當(dāng)枯燥的。尤其在主圖里。配合以均線等形式就會(huì)豐富多采,或者更利于我們從中發(fā)現(xiàn)規(guī)律和分析問題。這就需要均線函數(shù)來解決了。 最常見的: 1、MA(X,N),求X的N周期簡單移動(dòng)平均值。 算法:(X1+X2+X3+...+Xn)/N 例如:MA(CLOSE,20),表示求20日均價(jià)。 2、EMA(X,N),求X的N周期指數(shù)平滑移動(dòng)平均。 算法: 若Y=EMA(X,N) 則Y=[2*X+(N-1)*Y'']/(N+1), 其中Y''表示上一周期Y值。 例如:EMA(CLOSE,20),表示求20日指數(shù)平滑均價(jià)。 3、SMA(X,N,M),求X的N周期移動(dòng)平均,M為權(quán)重。 算法: 若Y=SMA(X,N,M) 則 Y=(M*X+(N-M)*Y'')/N, 其中Y''表示上一周期Y值,N必須大于M。 例如:SMA(CLOSE,20,1),表示求20日移動(dòng)平均價(jià)。 這三個(gè)均線函數(shù)在股軟中是通用的。關(guān)于它們的區(qū)別,開始學(xué)習(xí)時(shí)不必深究。其實(shí)數(shù)值區(qū)別也不是很大。要均線真實(shí)反映每天的價(jià)格變化,用MA,適當(dāng)圓滑些,用EMA 或SMA。 三、常用連接函數(shù) 有了上述基本函數(shù),可以表述出K線和均線了,但實(shí)際應(yīng)用中要復(fù)雜得多,還要一些函數(shù)把他們連接起來。 大致有這么幾個(gè): 1、AND 就是“和”的意思。如:A AND B;就是A和B兩個(gè)條件要同時(shí)成立。 2、OR “或”,“或者”的意思。如:A OR B;就是A和B兩個(gè)條件有其中一個(gè)成立就行。 3、IF 根據(jù)條件取不同的值。如:IF(X,A,B),若X不為0則返回A,否則返回B。實(shí)例:IF(C<O,L,H),表示收陰返回最低價(jià),否則返回最高價(jià)。 4、CROSS 交叉函數(shù)。CROSS(A,B),表示A從下方向上穿過B。 5、REF 向前引用。引用若干周期前的數(shù)據(jù)。例如:REF(CLOSE,1),表示昨收的收盤價(jià)。那么前天的最高價(jià)呢,就是:REF(H,2)。 四、成交量 VOL 表示每天的成交量。因以后會(huì)經(jīng)常用到,所以先交待給大家。 上面這幾個(gè)函數(shù)是最常用的,希望大家記住,不知怎么寫也要知道其表述的意思。當(dāng)然,記不住也不要緊,《公式編輯器》中全有。 習(xí)題:10日均線與20日均線金叉和漲幅超過百分之三,且成交量比昨天放大一倍。 聽雪尋股 習(xí)題:一根光頭陽線,實(shí)體部分小于5分錢,下影超過實(shí)體的兩倍,如何表述? c=h and c-o<0.05 and STICKLINE(c=h and c-o<0.05 and STICKLINE(c=h and c-o<0.05 and 習(xí)題:10日均線與20日均線金叉和漲幅超過百分之三,且成交量比昨天放大一倍。 aa10:=ma(c,10); aa20:=ma(c,20); zf:=if((c-ref(c,1))/ref(c,1)*100>3,1,0); av:=v>=ref(v,1)*2; CROSS(aa10,aa20) and zf and 以上作業(yè)請老師批閱 老師批改如下 此句 zf:=if((c-ref(c,1))/ref(c,1)*100>3,1,0); 如下表述更簡練些:zf:=c/ref(c,1)>0.03; 關(guān)于兩個(gè)習(xí)題,聽雪尋股都回答的非常好,完全正確。已加分鼓勵(lì)。 其實(shí),有時(shí)編寫公式就這么簡單。以上就可看做是兩個(gè)選股公式。 此句 zf:=if((c-ref(c,1))/ref(c,1)*100>3,1,0); 如下表述更簡練些:zf:=c/ref(c,1)>0.03; 單獨(dú)提出此句,是告訴大家。編寫公式和數(shù)學(xué)解題一樣,有很多時(shí)候可能有多種方法,殊途同歸。這也是有時(shí)對于同一求助問題,不同的人有不同的回復(fù)一樣。 這個(gè)習(xí)題,運(yùn)用了第二講中的內(nèi)容:1,漲幅,就是收盤價(jià)與昨天的收盤價(jià)之比。2,昨天的表示符號(hào)(向前引用函數(shù))和其他運(yùn)算符號(hào)。 網(wǎng)通用戶 習(xí)題:10日均線與20日均線金叉和漲幅超過百分之三,且成交量比昨天放大一倍。 答:CROSS(MA(CLOSE,10),MA(CLOSE,20)) AND C/REF(CLOSE,1)>3/100 AND VOL/REF(VOL,1)=2 方方面面2008 習(xí)題:10日均線與20日均線金叉和漲幅超過百分之三,且成交量比昨天放大一倍。 答:CROSS(MA(CLOSE,10),MA(CLOSE,20)) AND C>0.03*REF(CLOSE,1) AND VOL>=2*VOLREF(VOL,1) 基本正確。用一句話概括,精簡。 需要指出的是最后一句:“成交量比昨天放大一倍”,這句話的表述。老兄用的是:VOL/REF(VOL,1)=2 ,應(yīng)該是非常準(zhǔn)確。但在實(shí)際應(yīng)用中,卻是行不通的。正好等于2倍是極難遇到的,所以編寫公式變通的辦法,或者說應(yīng)該用的是:VOL/REF(VOL,1)>=2 ,更符合實(shí)際。 增加一個(gè)大于號(hào),成為問題的關(guān)鍵所在。 提出這個(gè)問題,并非小題大作,應(yīng)該看做以后編寫時(shí)的注意事項(xiàng)。 |
|