
導入公式后還要進行一些設置,以便顯示,如下圖,按下圖設置完后,就可以在K線圖界面的副圖上右鍵點擊在彈出的對話框鐘選‘選擇指標“,找到你的指標,點擊即可選中在副圖中顯示。{本文由分析家公式網(wǎng)
www.整理}
提供一個簡單的例子給大家:

同花順公式系統(tǒng):
公式系統(tǒng)可以編輯多種類型的公式,且每個類型中又又若干分細,分別是1,基本公式(軟件全部函數(shù)指標的集合),2,技術(shù)指標(已自帶公式的集合)、3,交易系統(tǒng)、4,條件選股,5,五彩K線公式,6,自用公式(自編的公式及以復制/粘貼過來的他人的公式)。技術(shù)指標公式是最基本的公式,它用于指標曲線的繪制。技術(shù)指標公式是條件選股,交易系統(tǒng)的基礎。結(jié)合選股條件邏輯判斷表達式,即得到條件選股公式,用于條件選股。技術(shù)指標公式結(jié)合買賣邏輯判斷表達式,得到交易系統(tǒng)公式,用于交易系統(tǒng)指示。技術(shù)指標公式結(jié)合色彩邏輯判斷表達式,即得到K線模式公式,用于描述特定的K線模式。公式的編輯在公式編輯器中完成。
公式系統(tǒng)處理的原始數(shù)據(jù)的分析周期(即相鄰兩組數(shù)據(jù)間的時間間隔)可以從1分鐘到1000天間的任意值,也可以是分筆成交數(shù)據(jù),改變分析窗口顯示的分析周期,則公式處理新的分析周期的數(shù)據(jù)?! ?br>
學習公式編寫,使用的基本方法
基本捷徑是從軟件公式或他人公式入手,多看多動手邊理解其寫法,為什么調(diào)用這個函數(shù),這個函數(shù)的意義是什么,這一句預要表達什么意思等等。不動手永遠不可能學會的。從簡單公式入手,先弄懂一,兩個公式。從修改公式加入自己的目標語句實現(xiàn)自己目標入手,幾乎沒有一個公式是那一個人自己完成的,或多或少都使用了前人的成果。
在編寫中多用“測試公式”按鈕,讓軟件作判斷,告訴你編寫對錯與否。
使用彩色編輯可事半功倍。
多用鼠標指針指向不懂的函數(shù),軟件馬上會告訴你。
公式編寫步驟
1.設定公式名稱:每個公式都有自己的名稱,它由字母或數(shù)字組成,最多可以有9個字符。請注意,公式名稱在同類公式中不能重復,且不能為空?! ?.描述公式:用于簡單描述該公式的含義(可不填亦能通過), 3.注釋公式:用于描述一個公式如何使用、計算方法等內(nèi)容。輸入后,在有關窗口按“用法注釋”按鈕可以查看公式注釋(可省略)。 4. 設計技術(shù)指標公式語句: 公式的形式由若干語句組成。每個語句得到一個計算結(jié)果,對于技術(shù)指標,就是一條指標線,語句間用分號(“;”)隔開?!∫粋€語句由若干函數(shù)通過四則運算或邏輯運算而組成。函數(shù)是公式系統(tǒng)的基本成分,它是對數(shù)據(jù)做某種操作,如CLOSE()函數(shù)表示調(diào)用該分析周期的收盤價。
函數(shù)由函數(shù)名稱和參數(shù)組成,參數(shù)用函數(shù)名后的括號括起來,每個函數(shù)調(diào)用的參數(shù)可以是變量或常量,變量是一個隨著時間變化而變化的數(shù)據(jù),例如收盤價;常量是一個不隨時間變化而變的數(shù)據(jù)。例如函數(shù)REF(X,N)用于引用N周期前的X值,X是一個變量,N是一個常量,REF(close(),1)表示計算上一周期的收盤價。函數(shù)若需調(diào)用幾個參數(shù),則它們在括號內(nèi)是有順序的。若沒有參數(shù)則可以省去括號,例如CLOSE()函數(shù)沒有參數(shù),所以寫成 CLOSE和 CLOSE()都可以。函數(shù)計算得到的結(jié)果是一個變量?! ?br>
計算符將函數(shù)連接成為語句。計算符分為算術(shù)計算符和邏輯計算符。算術(shù)計算符有+、-、*、/,分別是對計算符兩邊的數(shù)值進行加減乘除計算;邏輯計算符有>、<、<>、>=、<=、=、AND(與)、OR(或),分別是對計算符兩邊的數(shù)值做大于、小于、不等于、大于等于、小于等于、等于、邏輯與、邏輯或的邏輯運算,如果邏輯條件成立返回的計算結(jié)果為1,否則為0。例如:2>1的邏輯運算結(jié)果等于1,1>2的邏輯運算結(jié)果就等于0。 語句得到的計算結(jié)果連成線就是所謂的指標線,不同的語句就得到不同的線,為了在指標圖形中互相區(qū)分,不同的線有不同的顏色,而且語句還可以有自己的名稱,在指標圖形中顯示在左上角位置。語句名寫在語句的前面,用一個冒號(“:”)將它與語句隔開。語句“上日收盤價:REF(close,1)”就表示該語句REF(close,1)的名稱為“上日收盤價”。該語句后而的語句若需引用它,則寫公式名即可,如MA(上日收盤價,20)意思是對上日收盤價求20日平均。
設計中間語句:
一個語句將顯示一條指標線,一個復雜的公式往往有很多語句,而且有些語句沒必要顯示出來。這時我們可以把不需要顯示語句定義為中間語句,中間語句的寫法只需在一般語句的名稱與語句之間的等號,即“=”即可(亦可用通用的冒號加等于號“:=”)。例如,語句“上日收盤價=REF(close,1)”就表示該語句為中間語句。重復使用的語句也可以定義成中間語句。
設計其他公式語句:
其他類型的公式顯示的不是指標線,而是相應的操作,如條件選股公式顯示的是選股結(jié)果,交易系統(tǒng)公式顯示的是交易指示(用":>"表達),五彩K線公式顯示的是K線顏色。這些公式需要有一條或幾條邏輯表達式表示這些操作的語句,當語句返回0時表示不需要進行相應的操作,當返回非0時表示需要進行相應的操作。其他的語句都應設定為中間語句?! l件選股公式只有一條邏輯表達式語句,用來表示選股條件是否成立,例如CLOSE>REF(close,1)語句,表示選出當期收盤價高于上日收盤價的股票。其他的語句必須設定為中間語句,否則編輯器出現(xiàn)“只能有一個輸出結(jié)果”的警示?! 〗灰紫到y(tǒng)公式需要邏輯表達式語句,分別為買入(在語句后加buy)、賣出條件(在語句后加sell),當這些語句返回非0時,表示需要進行相應的操作。其他的語句必須設定為中間語句,否則編輯器出現(xiàn)“非交易信號變量只能用:=賦值”的警示。條件中必須至少設定一個條件。
函數(shù)可以用簡寫,如收盤價開盤價分別用C,O來表示,在編寫中往往可以自動變成大寫字母,可以以此判斷。函數(shù)名編寫正確時字母變?yōu)榇髮?。編寫中要用彩色編輯,這樣可以指示出軟件對于此函數(shù)是否認可--應變成彩色。
公式編寫完測試公式通過后,還需進行曲線屬性的設置,在“曲線屬性”:如顯示曲線的位置是主圖,副圖,成交量圖等,還可以設置是否顯示曲線參數(shù)或只顯示參數(shù)而不顯示曲線,選擇顯示的圖標,提供象箭頭,圓,凌形(buy紅色向上箭頭,buy1黃色箭頭,1空心三角形,2空心圓,4空心菱形,5星花...),曲線顏色等...最后再測試通過,確定退出編輯。
未來函數(shù)
公式系統(tǒng)對數(shù)據(jù)的運算是基于一系列函數(shù),函數(shù)必須滿足時間不變性,即時間靠后的數(shù)據(jù)不對時間靠前的結(jié)果產(chǎn)生影響(判斷是否未來函數(shù)的依據(jù))。這個很重要!對于未來函數(shù)可以理解為:某一量依賴另一量,如量 A和量B,B變化使A改變,那么A是B的函數(shù),如果B是稍后的量,A是稍早的量,A跟著B變,A是B的未來函數(shù)。未來函數(shù)是有時間周期的,在一個短的周期內(nèi)可能是未來函數(shù),但在稍長的周期內(nèi)就不是未來函數(shù),比如"HIGH"(最高價),在一天收市前都是不確定的.如在交易沒有結(jié)束時我們可以看到某一個指標,如“賣出”跟著股價的高低一會出現(xiàn),一會消失(這個現(xiàn)象很容易觀察到)。所以對于一個日周期的指標在分時周期具有“未來函數(shù)”特征。但一旦收盤該指標是定值,不應隨明日及以后的價而變,所以該指標在日周期中不是未來函數(shù)。
被人們普遍認為是未來函數(shù)的是比較長時間才被確認的ZIG函數(shù),比如把參數(shù)設置為ZIG(3,5),就要等下一個ZIG(3,5)成立時才能被確認,就是說你把周期設置得越長,被確認的時間就越長(比如ZIG(3,30)),如果把它設置的很短(比如ZIG(3,1)),那就跟"high"差不多了.
有未來函數(shù)的公式對歷史模擬的相當準確,對號稱100%的.99%準確的公式要小心。
未來函數(shù)有:
zig
PEAK
PEAKBARS
TROUGH
TROUGHBARS
所以任何函數(shù)都具有未來函數(shù)特性,也沒什么可怕。第一不要依據(jù)公式入市,第二還是不要依據(jù)公式入市!不要迷信公式。
公式只能給你一個信號,最終判斷取舍要靠人。
關于未來函數(shù)的典型例子
有這么多人對一個叫鬼谷神算公式推崇,甚至將它說成'極品‘。我感到吃驚。應該把此公式的本質(zhì)性的東西反映出來才是;該公式使用了未來函數(shù),因而有“很高” 的準確率,因為它是馬后炮所以100%準。這是需要大家十分注意的。
我不反對使用未來函數(shù),但要充分認識其特有的“欺騙性”--已經(jīng)出現(xiàn)的“結(jié)果"因后面的數(shù)據(jù)的改變而改變。
在此,我要說的是本來是一個及其簡單的公式,故意弄成很復雜,高深,寫了那么多行毫無相干的東西。是忽悠人的。我給“簡化”了一下,只剩下6行。希望大家知道這樣的公式人人可寫。
這樣的公式恐怕是別有用心之人忽悠賣錢的。
改成下面的公式,而且完全顯示買賣兩個信號。其核心是Z字轉(zhuǎn)向于其他沒關系。Z字轉(zhuǎn)向即為未來函數(shù)
而ZIG函數(shù)的定義為 ,當前收盤價超過上次ZIG轉(zhuǎn)向輸出值的N%,則輸出當前收盤價并ZIG轉(zhuǎn)向。對該公式為50/5=10,即當價格變化量超過10%時轉(zhuǎn)向。
對于下面的公式:
第一行,ZIG函數(shù),它輸出的是就是價格,為了欺騙乘以100;
第二行,是第一行的2日平均;
第三行,第四行是第一行,第二行的金叉,死叉;
而買賣信號的出現(xiàn)就是在于金叉,死叉。
請大家試試看。
簡化的公式:
B:zIG(3,50/5)*100,colorwhite;
G:MA(B,2),coloryellow;
D:=CROSS(B,G)*1000,colorred;
W:=CROSS(G,B)*1000,colorblue;
DRAWTEXT(W=1000,B*1.05,'賣' ),colorgreen;
DRAWTEXT(D=1000,B*1.05,'買'),colorred;
原公式
公式名稱:鬼谷神算
VAR1:=SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),25);
VAR2:=HIGH-REF(HIGH,1);
VAR3:=REF(LOW,1)-LOW;
VAR4:=SUM(IF(VAR2>0 AND VAR2>VAR3,VAR2,0),25);
VAR5:=SUM(IF(VAR3>0 AND VAR3>VAR2,VAR3,0),25);
VAR6:=VAR4*100/VAR1;
VAR7:=VAR5*100/VAR1;
VAR8:=MA(ABS(VAR7-VAR6)/(VAR7+VAR6)*100,15);
VAR9:=(VAR8+REF(VAR8,15))/2;
A:=(VAR7>VAR6 AND VAR7>25 AND VAR6<25);
B:ZIG(3,50/5)*100,COLORWHITE;
G:MA(B,2),COLORYELLOW;
D:=CROSS(B,G)*1000,COLORRED;
W:=CROSS(G,B)*1000,COLORBLUE;
E:=REF(INDEXC,1);
F:=SMA(MAX(INDEXC-E,0),3,1)/SMA(ABS(INDEXC-E),3,1);
VAR10:=F AND F<8;
VAR11:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
VAR12:=SMA(VAR11,3,1);
VAR13:=SMA(VAR12,3,1);
VAR14:=VAR13 AND VAR13<20;
MM:=A AND D AND VAR10 AND VAR14 ;
DRAWTEXT(W=1000,B*1.05,'賣' ),COLORGREEN;
DRAWTEXT(D=1000,B*1.05,'買'),COLORRED;
語言規(guī)范:
在自定義公式里面的各種符號(如,“;” )只能用半角不能用全角。
關鍵字 if else while break continue return (無大小寫之分)
常數(shù) 浮點數(shù)、整數(shù)、字符串
分隔符 “ ” ‘ ’ ( ) ; { } 注釋/* */
標識符 由字母和數(shù)字組成,由字母開頭,不分大小寫
運算符(優(yōu)先級從高到低排列,同級同行)
* /
+ -
!= > < >= <=
And
Or
語句 賦值 a = b
條件 IF (a==b) c=d;
循環(huán) while a==b c=d;
函數(shù)調(diào)用 func(a,b)
賦值語句:
其一般形式為:
a=b; 含義為將b的值付給a。
幾個運算符“=”賦值、 “:=” 賦值“:”賦值并輸出數(shù)值或字符串“:>”賦值并輸出圖形。
注意:“=”和“:=”兩個運算符的意義、用法完全相同。這樣做主要是為了更好地兼容市場上目前的各種帶有公式編輯功能的分析軟件。
同花順公式函數(shù)注釋(常用部分)
邏輯函數(shù):
1、條件函數(shù):根據(jù)條件求不同的值。
用法:IF(X,A,B)若X不為0則返回A,否則返回B。 例如:(CLOSE>OPEN,HIGH,LOW)表示該周期收陽則返回最高值,否則返回最低值。
引用函數(shù):
1、滿足條件的周期數(shù):統(tǒng)計滿足條件的周期數(shù)。
用法:COUNT(X,N),統(tǒng)計N周期中滿足X條件的周期數(shù),若N=0則從第一個有效值開始。例如:COUNT(CLOSE>OPEN,20)表示統(tǒng)計20周期內(nèi)收陽的周期數(shù)。
2、第一個條件成立到當前的周期數(shù):統(tǒng)計第一個條件成立到當前的周期數(shù)。
用法:BARSSINCE(X):第一次X不為0到現(xiàn)在的天數(shù)。例如:BARSSINCE(HIGH>10)表示股價超過10元時到當前的周期數(shù)。
3、上一次條件成立到當前的周期數(shù):上一次條件成立到當前的周期數(shù)。
用法:BARSLAST(X),上一次X不為0到現(xiàn)在的天數(shù)。例如:BARSLAST(CLOSE/REF(CLOSE,1)>=1,1)表示上一個漲停板到當前的周期數(shù)。
4、有效周期數(shù):求總的周期數(shù)。
用法:BARSCOUNT(X),第一個有效數(shù)據(jù)到當前的天數(shù)。
5、向前賦值:將當前位置到若干周期前的數(shù)據(jù)設為1。
用法:BACKSET(X,N),若X非0,則將當前位置到N周期前的數(shù)值設為1。例如:BACKSET(CLOSE>OPEN,2)若收陽則將該周期及前一周期數(shù)值設為1,否則為0。
6、求和:求總和。
用法:SUM(X,N),統(tǒng)計N周期中X的總和,N=0則從第一個有效值開始。例如:SUM(VOL,5)周期設為日線時,表示最近5個交易日的成交量之和。SUM(VOL,0)表示從傳數(shù)據(jù)過來第一天起的成交量總和,具體如在區(qū)間統(tǒng)計里統(tǒng)計“總手” SUM(VOL,0)即是指全區(qū)間的成交量之和。
7、移動平均:求移動平均。
用法:SMA(X,N,M),求X的N日移動平均,M為權(quán)重。算法: 若Y=SMA(X,N,M)則 Y=[M*X+(N-M)*Y']/N,其中Y'表示上一周期Y值,N必須大于M。例如:SMA(CLOSE,30,1)表示求30日移動平均價。
8、向前引用:引用若干周期前的數(shù)據(jù)。
用法:REF(X,A),引用A周期前的X值。例如:REF(CLOSE,1)表示上一周期的收盤價,在日線上就是昨收。
9、簡單移動平均:求簡單移動平均。
用法:MA(X,N),求X的N日移動平均值。算法:(X1+X2+X3+,,,+Xn)/N。例如:MA(CLOSE,10)表示求10日均價。
10、最低值:求最低值。
用法:LLV(X,N),求N周期內(nèi)X最低值,N=0則從第一個有效值開始。例如:LLV(LOW,0)表示求歷史最低價。
11、最高值:求最高值。
用法:HHV(X,N),求N周期內(nèi)X最高值,N=0則從第一個有效值開始。 例如:HHV(HIGH,30)表示求30日最高價。
12、指數(shù)平滑移動平均:求指數(shù)平滑移動平均。
用法:EMA(X,N),求X的N日指數(shù)平滑移動平均。算法:若Y=EMA(X,N)則Y=[2*X+(N-1)*Y']/(N+1),其中Y'表示上一周期Y值。例如:EMA(CLOSE,30)表示求30日指數(shù)平滑均價。
13、動態(tài)移動平均:求動態(tài)移動平均。
用法:DMA(X,A),求X的動態(tài)移動平均。算法: 若Y=DMA(X,A)則 Y=A*X+(1-A)*Y',其中Y'表示上一周期Y值,A必須小于1。例如:DMA(CLOSE,VOL/CAPITAL)表示求以換手率作平滑因子的平均價。
14、最高值周期數(shù):求上一高點到當前的周期數(shù)。
用法:HHVBARS(X,N):求N周期內(nèi)X最高值到當前周期數(shù),N=0表示從第一個有效值開始統(tǒng)計。例如:HHVBARS(HIGH,0)求得歷史新高到到當前的周期數(shù)。
15、最低值周期數(shù):求上一低點到當前的周期數(shù)。
用法:LLVBARS(X,N):求N周期內(nèi)X最低值到當前周期數(shù),N=0表示從第一個有效值開始統(tǒng)計。例如:LLVBARS(HIGH,10)求得10日最低點到當前的周期數(shù)。
16、加權(quán)移動平均:求加權(quán)移動平均。
用法:WMA(X,A),求X的加權(quán)移動平均。
算法:若Y=WMA(X,A) 則Y=(N*X0+(N-1)*X1+(N-2)*X2)+...+1*XN)/(N+(N-1)+(N-2)+...+1) X0表示本周期值,X1表示上一周期值...。
例如:WMA(CLOSE,20)表示求20日加權(quán)均價。
17、求和:向前累加到指定值到現(xiàn)在的周期數(shù)。
用法:SUMBARS(X,A):將X向前累加直到大于等于A,返回這個區(qū)間的周期數(shù)。例如:SUMBARS(VOL,CAPITAL)求完全換手到現(xiàn)在的周期數(shù)。
時間函數(shù):
1、總開盤分鐘:求當前代碼類型的開市交易時間。
用法:TRADETIME。返回交易時間,單位為分鐘。目前一般市場都返回242,與日期或具體的股票無關。
2、距開盤分鐘:求當前時刻距開盤有多長時間。
用法:FROMOPEN。返回當前時刻距開盤有多長時間,單位為分鐘。例如:當前時刻為早上十點,則返回31。
3、距午夜秒:求當前時刻距開盤有多長時間。
用法:FROMNIGHT。返回當前時刻距午夜有多長時間,單位為秒。例如:當前時刻為早上十點,則返回36000。
4、時間格式:轉(zhuǎn)換時間格式。
用法:FORMATTIME(N)。目前只支持 N=1 把當前時間轉(zhuǎn)換成距開盤分鐘數(shù)返回。例如:分時中的量比曲線公式:(VOL*(TRADETIME+1)*5)/(FORMATTIME(1)*FIVEDAYVOL)。
5、時間差:計算兩個時間之間的差。
用法:COUNTTIME(N,L,K)。N、L為時間,其格式為YYYYMMDD。K為1、2或者3。當K為1時返回第二個之間比第一個時間晚多少年。當K為2時返回第二個之間比第一個時間晚多少月。當K為3時返回第二個之間比第一個時間晚多少日。例如:COUNTTIME(20000808,19990606,2)其返回值為-2。注意:這里返回值有正負號。
算術(shù)函數(shù):
1、絕對值:求絕對值。
用法:ABS(X)返回X的絕對值。例如:ABS(-34)返回34。
2、介于:介于兩個數(shù)之間。
用法:BETWEEN(A,B,C)表示A處于B和C之間時返回1,否則返回0
例如:BETWEEN(CLOSE,MA(CLOSE,10),MA(CLOSE,5))表示收盤價介于5日均線和10日均線之間。
3、最大值:求最大值。
用法:MAX(A,B)返回A和B中的較大值。例如:MAX(CLOSE-OPEN,0)表示若收盤價大于開盤價返回它們的差值,否則返回0。
4、最小值:求最小值。
用法:MIN(A,B)返回A和B中的較小值。例如:MIN(CLOSE,OPEN)返回開盤價和收盤價中的較小值。
5、求模運算:求模運算。
用法:MOD(A,B)返回A對B求模。例如:MOD(26,10)返回6。
6、求邏輯非:求邏輯非。
用法:NOT(X)返回非X,即當X=0時返回1,否則返回0。例如:NOT(5>3)返回0。
7、范圍:介于某個范圍之間。
用法:RANGE(A,B,C)表示A大于B同時小于C時返回1,否則返回0。例如:RANGE(CLOSE,MA(CLOSE,5),MA(CLOSE,10))表示收盤價大于5日均線并且小于10日均線。
8、求相反數(shù):求相反數(shù)。
用法:REVERSE(X)返回-X。 例如REVERSE(CLOSE)返回-CLOSE。
9、余弦值:求余弦值。
用法:COS(X)返回X的余弦值。
10、正弦值:求正弦值。
用法:SIN(X)返回X的正弦值。
11、平方根:開平方。
用法:SQRT(X)為X的平方根。例如:SQRT(CLOSE)收盤價的平方根。
12、上穿:兩條線交叉。
用法:CROSS(A,B)表示當A從下方向上穿過B時返回1,否則返回0。例如:CROSS(MA(CLOSE,5),MA(CLOSE,10))表示5日均線與10日均線交金叉。
13、維持:兩條線維持一定周期后交叉。
用法:LONGCROSS(A,B,N)表示A在N周期內(nèi)都小于B,本周期從下方向上穿過B時返回1,否則返回0。例如:LONGCROSS(MA(CLOSE,5),MA(CLOSE,10),5)表示5日均線維持5周期后與10日均線交金叉。
14、空:判斷是否為空。
用法:ISNULL(A)表示如果A為空(即沒有數(shù)據(jù))則返回1,否則返回0。
15、冪:求冪。
用法:POW(X,Y)。求X的Y次冪。例如:POW(2,3)為8。
繪圖函數(shù)
位圖
含義:在圖形上繪制位圖。
用法:
DRAWBMP(COND,PRICE,BMPFILE),當COND條件滿足時,在PRICE位置畫BMPFILE文件名指定的BMP位圖(缺省路徑為軟件安裝目錄登錄用戶名)。
例如:DRAWBMP(CLOSE>OPEN,LOW,'SUN')表示當收陽時在最低價位置畫軟件安裝目錄登錄用戶名Sun.BMP位圖。
※BMPFILE參數(shù)指定的BMP文件默認路徑為當前用戶目錄,如果不帶后綴名即表示BMP文件,也可帶后綴名使用JPG和GIF文件。
也可不用用戶目錄而使用全路徑,路徑中的''要寫兩個以下字符串作為參數(shù)都是合法的,如果文件存在的話:
"SUN","SUN.BMP","SUN.JPG","SUN.GIF","C:\hexin\SUN.JPG"
填充背景
含義:根據(jù)條件填充背景區(qū)域。
用法:
DRAWGBK(COND,COLOR),填充滿足COND條件的背景區(qū)域。COLOR可以為漸變顏色STRIP,也可以為BMP圖形文件名(缺省路徑為"軟件安裝目錄登錄用戶名"),若省略COLOR則使用指標線顏色填充(可以使用COLORRED等描述符設定)。
例如:DRAWGBK(CLOSE>OPEN),COLORRED;表示收陽時用紅色填充背景。
DRAWGBK(CLOSE>OPEN,'MyBMP');表示收陽時用軟件安裝目錄登錄用戶名MyBMP.BMP填充背景。
畫圖標
含義:在圖形上繪制小圖標。
用法:
DRAWICON(COND,PRICE,TYPE),當COND條件滿足時,在PRICE位置畫TYPE圖標,TYPE是曲線標志的名稱。
例如:DRAWICON(CLOSE>OPEN,LOW,"buy")表示當收陽時在最低價位置畫買入圖標。
顯示文字
含義:在圖形上顯示文字。
用法:
DRAWTEXT(COND,PRICE,TEXT),當COND條件滿足時,在PRICE位置書寫文字TEXT。
例如:DRAWTEXT(CLOSE/OPEN>1.08,LOW,'大陽線')表示當日漲幅大于8%時在最低價位置顯示'大陽線'字樣。
RGB顏色
含義:指定顏色。
用法:
RGB(R,G,B),表示用三原色紅(R)綠(G)藍(B)混合組成指定顏色,每種顏色值可以設定為0-255。
例如RGB(255,0,0)表示紅色,RGB(0,0,255)表示藍色
畫柱線
用法:
STICKLINE(COND,PRICE1,PRICE2,WIDTH,EMPTY),當COND條件滿足時,在PRICE1和PRICE2位置之間畫柱狀線,寬度為WIDTH(10為標準間距),EMPTH不為0則畫空心柱。
例如:STICKLINE(CLOSE>OPEN,CLOSE,OPEN,0.8,1)表示畫K線中陽線的空心柱體部分。
提示文字
TIPTEXT(COND,PRICE,TEXT),當COND條件滿足時,在PRICE位置顯示圖標,若PRICE為0,則在圖形底部顯示圖標。
例如:TIPTEXT(CLOSE/OPEN>1.08,LOW,'大陽線,股價為:'+close)表示當日漲幅大于8%時在最低價位置顯示圖標,鼠標移近時顯示文字'大陽線,股價為:15.88'字樣。
※顯示為三角圖標
畫垂直線
含義:在圖形上繪制垂直線。
用法:
VERTLINE(COND,TYPE),當COND條件滿足時,沿垂直方向繪制TYPE類型的線段,TYPE=0表示實線,1表示虛線'---',2表示點線'...',3表示點劃線'-.-.-',4表示點點劃線'-..-..-'。
例如:VERLINE(HIGH>=HHV(HIGH,20),1)表示在創(chuàng)20天新高畫垂直虛線
畫水平線
含義:在圖形上繪制水平線。
用法:
HORLINE(COND,PRICE,TYPE,EXTEND),當COND條件滿足時,在PRICE位置沿水平方向繪制TYPE類型的線段,TYPE=0表示實線,1表示虛線'---',2表示點線'...',3表示點劃線'-.-.-',4表示點點劃線'-..-..-'。EXTEND=1 表示向左延長,=2表示向右延長,=3表示左右
由簡單的公式編寫開始
這里舉一些最簡單的例子,有些只有一條語句且函數(shù)簡單,較復雜的公式中函數(shù)復雜且語句較多。
收盤價線 CLOSE 均線的畫法 計算N日內(nèi)收盤價的算術(shù)平均值,公式為:MA(X,N)表示X的N日平均?! ±纾?nbsp;MA1: MA (CLOSE,5) , coloryellow ; 表示為: 參數(shù)名 畫一條5日收盤價的均線 設置該線為黃色
MA2:MA(C,20),color0000ff(20日收盤價均線,顏色為紅色)
MA3:MA(c,250),color00ff00(年線,綠色)
均線:MA(c,N);(周期N可設置最大,最小,缺?。?br>
換手率 換手率指當期的成交量占流通股本的比例?!?br> 公式: hs:VOL/CAPITAL; VOL為當期成交量,CAPITAL為流通股本。
乖離率 當前股價與均線的偏差的程度
gl:(c-ma(c,20))/ma(c,20)*100;
量比 當期成交量與5日均量的比
lb:vol/ma(vol,5);
漲幅 漲幅指今日收盤價相對于昨日收盤價的變動幅度,即(今日收盤價-昨日收盤價)/昨日收盤價*100%,
昨日收盤價的公式為:REF(CLOSE,1),
漲幅的公式: (CLOSE-REF(CLOSE,1))/REF(CLOSE,1)
創(chuàng)新高 創(chuàng)新高指當日最高價是最近一段時間的最高價: HIGH=HHV(HIGH,N) 其中的HIGH為當期最高價,HHV(X,N)是求N周期內(nèi)X最高值。因此該公式的含義是當日最高價創(chuàng)N日新高時返回值為1,否則為0。
橫盤整理 橫盤整理指最近一段時期價格在一定幅度之內(nèi)擺動: (HHV(CLOSE,10)-LLV(CLOSE,10))/CLOSE<0.05 其中的LLV(X,N)是求N周期內(nèi)X最低值。因此該公式表示10日收盤價振幅振幅在5%以內(nèi)。
放量、縮量(成交量函數(shù)為VOL)
A、放量
a.今天成交量較昨天增加了1倍,表示如下: VOL/REF(VOL,1)>2 b.今天成交量較10個交易日平均成交量放大了1倍,表示如下:
a:=ma(vol,10); Vol/a>2 或者直接用如下公式表示: vol/ma(vol,10)>2;
c.今日的5日均量較10個交易日平均成交量放大了1倍,表示如下: a:=ma(vol,10); b:=ma(vol,5); b/a>2;
d.今日的成交量超過了整個流通盤的5%,表示如下: vol/capital>0.05;其中capital代表流通盤。
B、縮量
a.今日成交量較昨日減少了一半,表示如下: vol/ref(vol,1)<0.5;
b.今日成交量較10個交易日平均成交量減少一倍,表示如下: a:=ma(vol,10); vol/a<2; 或者直接用如下公式表示: vol/ma(vol,10)<2;
c.今日的5日均量較10個交易日平均成交量減少1倍,表示如下: a:=ma(vol,10); b:=ref(a,5); a/b<2;
d.今日的成交量低于了整個流通盤的5%,表示如下: vol/capital<0.05;
上漲、下跌
上漲 今天的漲幅達到5%以上,表示如下: close>ref(close,1)>1.05;
5日均價連續(xù)上漲,表示如下: a:=ma(close,5); b:=ref(a,1);
下跌 今天的跌幅達到5%以上,表示如下: close/ref(close,1)<0.95;
5日均價連續(xù)下跌,表示如下: a:=ma(close,5); b:=ref(a,1); a< b;
描述K線 陽線 close>open; 陰線 close< open; 高開 open>ref(close,1); 低開 open< ref(close,1); 跳空高開(high為最高價) open>ref(high,1); 跳空低開(low為最低價) open< ref(low,1);
引用大盤數(shù)據(jù)
INDEXDATA(“N”,&X,K) INDEXDATA 求某商品相關的數(shù)據(jù)
例:INDEXDATA("1a0001",&HIGH),n)滬指N周期最高值
個股于大盤的比較
CLOSE/INDEXDATA("1A0001",&CLOSE)*1000 只于滬指比較
股價在N日線附近--這可是反映股價調(diào)整幅度的好公式(選股)
a:=MA(C,N); 選股時輸入20,30,60可選不同均線附近的股,
ABS(C-a)/C<=0.02; 在某均線的2/100附近的股票。也可根據(jù)需要改百分比。
只顯示數(shù)值不顯示曲線 在曲線屬性-輸出線形的勾去掉,在公式語句使用輸出符出“:”
趨勢【天】:BARSLAST(MA(C,250)<REF(MA(C,250),1)),colorwhite 年線由下跌拐頭向上的天數(shù),不顯示曲線。
二,多語句的公式編寫
均線多頭排列
a1:=ma(c,5);
a2:=ma(c,10);
a3:=ma(c,20);
a4:=ma(c,30);
count(a1>a2 and a2>a3 and a3>a4,3)=3 and close>open; (conut統(tǒng)計滿足條件的周期數(shù),5,10,20,30日均線呈多頭排列),
均線空頭排列
a1:=ma(c,5);
a2:=ma(c,10);
a3:=ma(c,20);
a4:=ma(c,30);
count(a1< a2 and a2< a3 and a3< a4,3)=3 and not(close< open); (5,10,20,30日均線呈空頭排列)。
均線金叉
a;=ma(c,5);
b:=ma(c,10);
cross(a,b); (前二句是5、10日均線,cross是交叉函數(shù),cross(a,b)表示5日均線上穿10日均線金叉)。
均線死叉
a;=ma(c,5);
b:=ma(c,10);
cross(b,a); (前二句是5、10日均線,cross是交叉函數(shù),cross(b,a)表示5日均線下穿10日均線死叉)。
均線粘合
ma1:=ma(c,5);
ma2:=ma(c,10);
ma3:=ma(c,20);
p1:=abs(ma1-ma2)+abs(ma2-ma3);
p1/c< 2/100 and ma1>ref(ma1,1) and ma2>ref(ma2,1); (前三句是三根均線,p1是第一根均線減第二根均線差的絕對值與第二根均線減第三根均線差的絕對值之和,最后一句是p1與收盤價的比值小于一定比率2%(一般該比率為2%以下,同時前二均線今日比昨日上翹)。
在個股主圖疊加(引用大盤數(shù)據(jù)的)線:
(HHV(H,n)-LLV(L,n))/(HHV(INDEXDATA("1a0001",&HIGH),n)-LLV(INDEXDATA("1a0001",&LOW),n))
*(INDEXDATA("1a0001",&CLOSE)-LLV(INDEXDATA("1a0001",&LOW),n)+LLV(L,n));
活躍度
CJBS:=MAX(0,SUBSAMEDAY(&VOLAMOUNT)); 成交筆數(shù)
活躍度:CJBS/CAPITAL*100,VOLSTICK;
MA13:MA(活躍度,13);
每筆均量
CJBS:=MAX(0,SUBSAMEDAY(&VOLAMOUNT));
每筆均量:VOL/CJBS*100,COLORYELLOW;
每筆均量,STICK,COLORRED;
MA5:MA(每筆均量,5),COLORWHITE;
MA13;MA(每筆均量,13),COLORMAGENTA;
MA60:MA(每筆均量,60),COLORGREEN;
每筆均額
CJBS:=MAX(0,SUBSAMEDAY(&VOLAMOUNT));
每筆均額:AMOUNT/CJBS,COLORYELLOW;
每筆均額,STICK,COLORRED;
MA5:MA(每筆均額,5),COLORWHITE;
MA:MA(每筆均額,13),COLORMAGENTA;
MA:MA(每筆均額,60),COLORGREEN;
交易強度
CJBS:=MAX(0,SUBSAMEDAY(&VOLAMOUNT));
交易強度:VOL*100/CJBS/CAPITAL*100,VOLSTICK;
三,公式函數(shù)的活用
剔除選定股票,選股時剔除ST股票
STRFIND(STRLEFT(STKNAME,2),\'ST\')=0; 字符串函數(shù),符合條件時返回為0。
獲得成交筆數(shù)
MAX(0,SUBSAMEDAY(&VOLAMOUNT))
變色柱線(在個股于指數(shù)之間畫不同顏色的柱線)
STICKLINE(個股>指數(shù),個股,指數(shù),4,0),color6666ff;
STICKLINE(個股<指數(shù),個股,指數(shù),4,1),color66bb66;
變色曲線(符合條件時改變顏色,下為用于KDJ公式)
k:PARTLINE(k,k>d,RGB(255,0,0),k[ 此文章的編輯者為: BCXYMMLL, 2007-03-17 15:26 ]
公式中引用其他公式
A2:=BARSLAST(REF(CROSS(KDJ.k,KDJ.d),1));引用KDJ公式的K,D并金叉
B2:=REF(C,A2+1)>C AND REF(KDJ.k,A2+1)DRAWTEXT(FILTER(B2>0,5),L+0.39,\'KDJ底背\'),coloryellow;
語言規(guī)范:
在自定義公式里面的各種符號(如,“;” )只能用半角不能用全角。
關鍵字 if else while break continue return (無大小寫之分)
常數(shù) 浮點數(shù)、整數(shù)、字符串
分隔符 “ ” ‘ ’ ( ) ; { } 注釋/* */
標識符 由字母和數(shù)字組成,由字母開頭,不分大小寫
運算符(優(yōu)先級從高到低排列,同級同行)
* /
+ -
!= > < >= <=
And
Or
語句 賦值 a = b
條件 IF (a==b) c=d;
循環(huán) while a==b c=d;
函數(shù)調(diào)用 func(a,b)
賦值語句:
其一般形式為:
a=b; 含義為將b的值付給a。
幾個運算符“=”賦值、 “:=” 賦值“:”賦值并輸出數(shù)值或字符串“:>”賦值并輸出圖形。
注意:“=”和“:=”兩個運算符的意義、用法完全相同。這樣做主要是為了更好地兼容市場上目前的各種帶有公式編輯功能的分析軟件。
同花順公式函數(shù)注釋(常用部分)
邏輯函數(shù):
1、條件函數(shù):根據(jù)條件求不同的值。
用法:IF(X,A,B)若X不為0則返回A,否則返回B。 例如:(CLOSE>OPEN,HIGH,LOW)表示該周期收陽則返回最高值,否則返回最低值。
引用函數(shù):
1、滿足條件的周期數(shù):統(tǒng)計滿足條件的周期數(shù)。
用法:COUNT(X,N),統(tǒng)計N周期中滿足X條件的周期數(shù),若N=0則從第一個有效值開始。例如:COUNT(CLOSE>OPEN,20)表示統(tǒng)計20周期內(nèi)收陽的周期數(shù)。
2、第一個條件成立到當前的周期數(shù):統(tǒng)計第一個條件成立到當前的周期數(shù)。
用法:BARSSINCE(X):第一次X不為0到現(xiàn)在的天數(shù)。例如:BARSSINCE(HIGH>10)表示股價超過10元時到當前的周期數(shù)。
3、上一次條件成立到當前的周期數(shù):上一次條件成立到當前的周期數(shù)。
用法:BARSLAST(X),上一次X不為0到現(xiàn)在的天數(shù)。例如:BARSLAST(CLOSE/REF(CLOSE,1)>=1,1)表示上一個漲停板到當前的周期數(shù)。
4、有效周期數(shù):求總的周期數(shù)。
用法:BARSCOUNT(X),第一個有效數(shù)據(jù)到當前的天數(shù)。
5、向前賦值:將當前位置到若干周期前的數(shù)據(jù)設為1。
用法:BACKSET(X,N),若X非0,則將當前位置到N周期前的數(shù)值設為1。例如:BACKSET(CLOSE>OPEN,2)若收陽則將該周期及前一周期數(shù)值設為1,否則為0。
6、求和:求總和。
用法:SUM(X,N),統(tǒng)計N周期中X的總和,N=0則從第一個有效值開始。例如:SUM(VOL,5)周期設為日線時,表示最近5個交易日的成交量之和。SUM(VOL,0)表示從傳數(shù)據(jù)過來第一天起的成交量總和,具體如在區(qū)間統(tǒng)計里統(tǒng)計“總手” SUM(VOL,0)即是指全區(qū)間的成交量之和。
7、移動平均:求移動平均。
用法:SMA(X,N,M),求X的N日移動平均,M為權(quán)重。算法: 若Y=SMA(X,N,M)則 Y=[M*X+(N-M)*Y']/N,其中Y'表示上一周期Y值,N必須大于M。例如:SMA(CLOSE,30,1)表示求30日移動平均價。
8、向前引用:引用若干周期前的數(shù)據(jù)。
用法:REF(X,A),引用A周期前的X值。例如:REF(CLOSE,1)表示上一周期的收盤價,在日線上就是昨收。
9、簡單移動平均:求簡單移動平均。
用法:MA(X,N),求X的N日移動平均值。算法:(X1+X2+X3+,,,+Xn)/N。例如:MA(CLOSE,10)表示求10日均價。
10、最低值:求最低值。
用法:LLV(X,N),求N周期內(nèi)X最低值,N=0則從第一個有效值開始。例如:LLV(LOW,0)表示求歷史最低價。
11、最高值:求最高值。
用法:HHV(X,N),求N周期內(nèi)X最高值,N=0則從第一個有效值開始。 例如:HHV(HIGH,30)表示求30日最高價。
12、指數(shù)平滑移動平均:求指數(shù)平滑移動平均。
用法:EMA(X,N),求X的N日指數(shù)平滑移動平均。算法:若Y=EMA(X,N)則Y=[2*X+(N-1)*Y']/(N+1),其中Y'表示上一周期Y值。例如:EMA(CLOSE,30)表示求30日指數(shù)平滑均價。
13、動態(tài)移動平均:求動態(tài)移動平均。
用法:DMA(X,A),求X的動態(tài)移動平均。算法: 若Y=DMA(X,A)則 Y=A*X+(1-A)*Y',其中Y'表示上一周期Y值,A必須小于1。例如:DMA(CLOSE,VOL/CAPITAL)表示求以換手率作平滑因子的平均價。
14、最高值周期數(shù):求上一高點到當前的周期數(shù)。
用法:HHVBARS(X,N):求N周期內(nèi)X最高值到當前周期數(shù),N=0表示從第一個有效值開始統(tǒng)計。例如:HHVBARS(HIGH,0)求得歷史新高到到當前的周期數(shù)。
15、最低值周期數(shù):求上一低點到當前的周期數(shù)。
用法:LLVBARS(X,N):求N周期內(nèi)X最低值到當前周期數(shù),N=0表示從第一個有效值開始統(tǒng)計。例如:LLVBARS(HIGH,10)求得10日最低點到當前的周期數(shù)。
16、加權(quán)移動平均:求加權(quán)移動平均。
用法:WMA(X,A),求X的加權(quán)移動平均。
算法:若Y=WMA(X,A) 則Y=(N*X0+(N-1)*X1+(N-2)*X2)+...+1*XN)/(N+(N-1)+(N-2)+...+1) X0表示本周期值,X1表示上一周期值...。
例如:WMA(CLOSE,20)表示求20日加權(quán)均價。
17、求和:向前累加到指定值到現(xiàn)在的周期數(shù)。
用法:SUMBARS(X,A):將X向前累加直到大于等于A,返回這個區(qū)間的周期數(shù)。例如:SUMBARS(VOL,CAPITAL)求完全換手到現(xiàn)在的周期數(shù)。
時間函數(shù):
1、總開盤分鐘:求當前代碼類型的開市交易時間。
用法:TRADETIME。返回交易時間,單位為分鐘。目前一般市場都返回242,與日期或具體的股票無關。
2、距開盤分鐘:求當前時刻距開盤有多長時間。
用法:FROMOPEN。返回當前時刻距開盤有多長時間,單位為分鐘。例如:當前時刻為早上十點,則返回31。
3、距午夜秒:求當前時刻距開盤有多長時間。
用法:FROMNIGHT。返回當前時刻距午夜有多長時間,單位為秒。例如:當前時刻為早上十點,則返回36000。
4、時間格式:轉(zhuǎn)換時間格式。
用法:FORMATTIME(N)。目前只支持 N=1 把當前時間轉(zhuǎn)換成距開盤分鐘數(shù)返回。例如:分時中的量比曲線公式:(VOL*(TRADETIME+1)*5)/(FORMATTIME(1)*FIVEDAYVOL)。
5、時間差:計算兩個時間之間的差。
用法:COUNTTIME(N,L,K)。N、L為時間,其格式為YYYYMMDD。K為1、2或者3。當K為1時返回第二個之間比第一個時間晚多少年。當K為2時返回第二個之間比第一個時間晚多少月。當K為3時返回第二個之間比第一個時間晚多少日。例如:COUNTTIME(20000808,19990606,2)其返回值為-2。注意:這里返回值有正負號。
算術(shù)函數(shù):
1、絕對值:求絕對值。
用法:ABS(X)返回X的絕對值。例如:ABS(-34)返回34。
2、介于:介于兩個數(shù)之間。
用法:BETWEEN(A,B,C)表示A處于B和C之間時返回1,否則返回0
例如:BETWEEN(CLOSE,MA(CLOSE,10),MA(CLOSE,5))表示收盤價介于5日均線和10日均線之間。
3、最大值:求最大值。
用法:MAX(A,B)返回A和B中的較大值。例如:MAX(CLOSE-OPEN,0)表示若收盤價大于開盤價返回它們的差值,否則返回0。
4、最小值:求最小值。
用法:MIN(A,B)返回A和B中的較小值。例如:MIN(CLOSE,OPEN)返回開盤價和收盤價中的較小值。
5、求模運算:求模運算。
用法:MOD(A,B)返回A對B求模。例如:MOD(26,10)返回6。
6、求邏輯非:求邏輯非。
用法:NOT(X)返回非X,即當X=0時返回1,否則返回0。例如:NOT(5>3)返回0。
7、范圍:介于某個范圍之間。
用法:RANGE(A,B,C)表示A大于B同時小于C時返回1,否則返回0。例如:RANGE(CLOSE,MA(CLOSE,5),MA(CLOSE,10))表示收盤價大于5日均線并且小于10日均線。
8、求相反數(shù):求相反數(shù)。
用法:REVERSE(X)返回-X。 例如REVERSE(CLOSE)返回-CLOSE。
9、余弦值:求余弦值。
用法:COS(X)返回X的余弦值。
10、正弦值:求正弦值。
用法:SIN(X)返回X的正弦值。
11、平方根:開平方。
用法:SQRT(X)為X的平方根。例如:SQRT(CLOSE)收盤價的平方根。
12、上穿:兩條線交叉。
用法:CROSS(A,B)表示當A從下方向上穿過B時返回1,否則返回0。例如:CROSS(MA(CLOSE,5),MA(CLOSE,10))表示5日均線與10日均線交金叉。
13、維持:兩條線維持一定周期后交叉。
用法:LONGCROSS(A,B,N)表示A在N周期內(nèi)都小于B,本周期從下方向上穿過B時返回1,否則返回0。例如:LONGCROSS(MA(CLOSE,5),MA(CLOSE,10),5)表示5日均線維持5周期后與10日均線交金叉。
14、空:判斷是否為空。
用法:ISNULL(A)表示如果A為空(即沒有數(shù)據(jù))則返回1,否則返回0。
15、冪:求冪。
用法:POW(X,Y)。求X的Y次冪。例如:POW(2,3)為8。
繪圖函數(shù)
位圖
含義:在圖形上繪制位圖。
用法:
DRAWBMP(COND,PRICE,BMPFILE),當COND條件滿足時,在PRICE位置畫BMPFILE文件名指定的BMP位圖(缺省路徑為軟件安裝目錄登錄用戶名)。
例如:DRAWBMP(CLOSE>OPEN,LOW,'SUN')表示當收陽時在最低價位置畫軟件安裝目錄登錄用戶名Sun.BMP位圖。
※BMPFILE參數(shù)指定的BMP文件默認路徑為當前用戶目錄,如果不帶后綴名即表示BMP文件,也可帶后綴名使用JPG和GIF文件。
也可不用用戶目錄而使用全路徑,路徑中的''要寫兩個以下字符串作為參數(shù)都是合法的,如果文件存在的話:
"SUN","SUN.BMP","SUN.JPG","SUN.GIF","C:\hexin\SUN.JPG"
填充背景
含義:根據(jù)條件填充背景區(qū)域。
用法:
DRAWGBK(COND,COLOR),填充滿足COND條件的背景區(qū)域。COLOR可以為漸變顏色STRIP,也可以為BMP圖形文件名(缺省路徑為"軟件安裝目錄登錄用戶名"),若省略COLOR則使用指標線顏色填充(可以使用COLORRED等描述符設定)。
例如:DRAWGBK(CLOSE>OPEN),COLORRED;表示收陽時用紅色填充背景。
DRAWGBK(CLOSE>OPEN,'MyBMP');表示收陽時用軟件安裝目錄登錄用戶名MyBMP.BMP填充背景。
畫圖標
含義:在圖形上繪制小圖標。
用法:
DRAWICON(COND,PRICE,TYPE),當COND條件滿足時,在PRICE位置畫TYPE圖標,TYPE是曲線標志的名稱。
例如:DRAWICON(CLOSE>OPEN,LOW,"buy")表示當收陽時在最低價位置畫買入圖標。
顯示文字
含義:在圖形上顯示文字。
用法:
DRAWTEXT(COND,PRICE,TEXT),當COND條件滿足時,在PRICE位置書寫文字TEXT。
例如:DRAWTEXT(CLOSE/OPEN>1.08,LOW,'大陽線')表示當日漲幅大于8%時在最低價位置顯示'大陽線'字樣。
RGB顏色
含義:指定顏色。
用法:
RGB(R,G,B),表示用三原色紅(R)綠(G)藍(B)混合組成指定顏色,每種顏色值可以設定為0-255。
例如RGB(255,0,0)表示紅色,RGB(0,0,255)表示藍色
畫柱線
用法:
STICKLINE(COND,PRICE1,PRICE2,WIDTH,EMPTY),當COND條件滿足時,在PRICE1和PRICE2位置之間畫柱狀線,寬度為WIDTH(10為標準間距),EMPTH不為0則畫空心柱。
例如:STICKLINE(CLOSE>OPEN,CLOSE,OPEN,0.8,1)表示畫K線中陽線的空心柱體部分。
提示文字
TIPTEXT(COND,PRICE,TEXT),當COND條件滿足時,在PRICE位置顯示圖標,若PRICE為0,則在圖形底部顯示圖標。
例如:TIPTEXT(CLOSE/OPEN>1.08,LOW,'大陽線,股價為:'+close)表示當日漲幅大于8%時在最低價位置顯示圖標,鼠標移近時顯示文字'大陽線,股價為:15.88'字樣。
※顯示為三角圖標
畫垂直線
含義:在圖形上繪制垂直線。
用法:
VERTLINE(COND,TYPE),當COND條件滿足時,沿垂直方向繪制TYPE類型的線段,TYPE=0表示實線,1表示虛線'---',2表示點線'...',3表示點劃線'-.-.-',4表示點點劃線'-..-..-'。
例如:VERLINE(HIGH>=HHV(HIGH,20),1)表示在創(chuàng)20天新高畫垂直虛線
畫水平線
含義:在圖形上繪制水平線。
用法:
HORLINE(COND,PRICE,TYPE,EXTEND),當COND條件滿足時,在PRICE位置沿水平方向繪制TYPE類型的線段,TYPE=0表示實線,1表示虛線'---',2表示點線'...',3表示點劃線'-.-.-',4表示點點劃線'-..-..-'。EXTEND=1 表示向左延長,=2表示向右延長,=3表示左右
網(wǎng)上搜集的公式
請問怎樣用公式表示年線擺脫下降趨勢出現(xiàn)向上拐頭?
COUNT(MA(C,250)>REF(MA(C,250),1),3)=3
如果想顯示年線向上的天數(shù)時(本人的指標):
趨勢:BARSLAST(MA(C,250)<=REF(MA(C,250),1))/10,colorwhite;(注:顯示天數(shù)和斜直線,由于天數(shù)太長時,如大牛股,可能長達400天,斜直線垂直高度太高,故用1/10。亦可不顯示斜直線,在“曲線屬性”內(nèi)設置,只顯示天數(shù))。
怎么定義一陽線緊跟兩陰線的函數(shù)?
ref(c,2)>ref(o,2) and ref(c,1)<ref(o,1) and c<o;
股價創(chuàng)出新高后,又調(diào)整到30日均線附近的選股公式如何編寫?
COUNT(C>=HHV(C,N),5)=1 AND C/MA(C,30)>=1 AND C/MA(C,30)<1.02
破5天線,3天后又重新站上5天線的個股
cross(ref(ma(c,5),3),ref(c,3)) and cross(c,ma(c,5))
3天內(nèi)5天線上穿10天線,10天線上穿20天線的個股
count(cross(ma(c,5),ma(c,10)),3)>=1 and count(cross(ma(c,10),ma(c,20)),3)>=1
日macd翻綠3天內(nèi)又翻紅的個股。
count(cross(0,"MACD.MACD" ),3)=1 and count(cross("MACD.MACD",0 ),3)=1
下面的公式也是應網(wǎng)上的朋友要求改的一個公式,公式中有一個飛狐的‘是否最后周期’(islastbar)的函數(shù)同花順不支持,改起來難道較大。
OK:=EMA(O,60);
BARSCOUNTOK:=EMA(O,60);
SUMBARSOK:=EMA(O,60);
CG:=EMA(C,60);
PDU:=IF(OK>REF(OK,1) AND CG>REF(CG,1),1,0);
Z1:=MA(C,13);
ZX:=REF(Z1,13/2+1);
LIFE:=(EMA(C,60)+EMA(C,90))/2;
VAR1:=(2*C+H+L)/4;
SNOOK:=EMA(VAR1,99)*0.91;
A1:=(C-REF(C,1))/REF(C,1)*100;
MA5:=BARSLAST(A1>3);
MA20:=IF(MA5>0,1,0);
STICKLINE(C>ZX AND C>=LIFE,O,C,3,0),COLOR0000FF;
STICKLINE(C>ZX AND C<=SNOOK,O,C,3,0),COLOR00FF00;
STICKLINE(C>ZX AND C>SNOOK AND C<LIFE,O,C,3,0),COLORFF0000;
STICKLINE(C>ZX AND MA20=0,O,C,3,0),COLOR00FFFF;
STICKLINE(C>ZX,O,C,1,0),COLORFFFFFF;
DRAWICON(CROSS(C,ZX),L*0.99,1);
DRAWICON(CROSS(ZX,C),H*1.01,5);
BY20:=MA(C,5);
招財貓:MA(C,20),LINETHICK2,COLOR00FFFF;
鼠變異:IF(BY20>招財貓,招財貓,BY20),LINETHICK2,COLOR808080;
CROSS(C,ZX) AND C>ZX AND MA20=0 ,LINETHICK0;
RB:=BARSCOUNT(C)=0;
RD:=BARSLAST(RB);
K2:=HHV(H,50);
K1:=LLV(L,50);
T1:=C>ZX AND C>=LIFE;
T2:=C>ZX AND C>SNOOK AND C<LIFE;
T3:=C>ZX AND C<=SNOOK;
T4:=C<=ZX;
T5:=鼠變異>REF(鼠變異,1) AND 鼠變異!=招財貓 ;
T6:=鼠變異>REF(鼠變異,1) AND 鼠變異=招財貓 AND PDU!=1;
T7:=鼠變異>REF(鼠變異,1) AND 鼠變異=招財貓 AND PDU=1;
T8:=C>ZX AND MA20=0 ;
EEE:=T1+T2+T3+T4+T5+T6+T7+T8 ;
E:=(K2-K1)/(EEE+8) ;
j:=FILTER(C>0 AND t1>0,COUNT(C>0 AND t1>0,0));
j2:=FILTER(C>0 AND t2>0,COUNT(C>0 AND t2>0,0));
j3:=FILTER(C>0 AND t3>0,COUNT(C>0 AND t3>0,0));
j4:=FILTER(C>0 AND t4>0,COUNT(C>0 AND t4>0,0));
j5:=FILTER(C>0 AND t5>0,COUNT(C>0 AND t5>0,0));
DRAWTEXT(j,K2-E,'出洞了逮住它'),COLOR0000FF;
DRAWTEXT(j2 ,K2-E+0.2,'鼠玩貓守著它'),COLORFF9900;
DRAWTEXT(j3 ,K2-E,'露尾巴動作快'),COLOR00FF00;
DRAWTEXT(j4 ,K2-E,'沒有了打個盹'),COLOR808080;
DRAWTEXT(j5,K2-E*2,'發(fā)現(xiàn)鼠跡'),COLOR00FF00;
2,3行可以去除不用,
39--48行為改動部分,用信號過慮+全部統(tǒng)計兩個函數(shù)來達到上述函數(shù)目的。下面是它的原公式部分,可以看出改動較大。
DRAWTEXT(C>0 AND T1>0 AND ISLASTBAR,K2-E,'出洞了逮住它!'),COLOR0000FF;
DRAWTEXT(C>0 AND T2>0 AND ISLASTBAR,K2-E,'鼠玩貓守著它!,'),COLORFF7700;
DRAWTEXT(C>0 AND T3>0 AND ISLASTBAR,K2-E,'露尾巴動作快!,'),COLOR00FF00;
DRAWTEXT(C>0 AND T4>0 AND ISLASTBAR,K2-E,'沒有了打個盹!,'),COLOR808080;
DRAWTEXT(C>0 AND T5>0 AND ISLASTBAR,K2-E*2,'發(fā)現(xiàn)鼠跡!'),COLOR00FF00;
DRAWTEXT(C>0 AND T6>0 AND ISLASTBAR,K2-E*2,'瞬間鼠影!'),COLORFF66FF;
DRAWTEXT(C>0 AND T7>0 AND ISLASTBAR,K2-E*2,'惡鼠難遁!'),COLOR0000FF;
據(jù)說是大智會新一代軟件的最新公式,也改了一下,給喜歡公式的朋友,感覺抓大趨勢較好,請朋友驗證。
Var3:=LLV(HIGH,240);
Var4:=100*(CLOSE-Var3)/Var3;
Var5:=REF(LLV(CLOSE,480),1);
Var6:=REF(HHV(CLOSE,480),1);
Var7:=100*(CLOSE-Var5)/(Var6-Var5);
Var8:=(CLOSE-LLV(CLOSE,981))/(HHV(CLOSE,981)-LLV(CLOSE,981))*100;
Var9:=(CLOSE-LLV(CLOSE,393))/(HHV(CLOSE,393)-LLV(CLOSE,393))*100;
VarA:=(CLOSE-LLV(LOW,981))/(HHV(HIGH,981)-LLV(LOW,981))*100;
VarB:=(CLOSE-LLV(LOW,393))/(HHV(HIGH,393)-LLV(LOW,393))*100;
VarC:=EMA(100*(CLOSE-LLV(LOW,100))/(HHV(HIGH,100)-LLV(LOW,100)),5)/4;
VarD:=IF(VarC>23.16,VarC,0);
VarE:=VarC<1;
VarF:=VarD;
Var10:=Var4<0 AND Var7<0;
Var11:=1;
Var12:=(HIGH+LOW+CLOSE*2)/4*Var11;
Var13:=EMA(Var12,21);
Var14:=STD(Var12,21);
Var15:=((Var12-Var13)/Var14*100+200)/4*Var11;
Var16:=(EMA(Var15,89)-25)*1.56*Var11;
Var17:=EMA(Var16,5)*1.22*Var11;
Var18:=EMA(Var17,3)*Var11;
Var19:=3*Var17-2*Var18*Var11;
Var1A:=IF(CROSS(Var19,Var17) AND CROSS(Var19,Var18) AND CROSS(Var17,Var18),1,0);
Var1B:=IF(CROSS(Var17,Var19) AND CROSS(Var18,Var19) AND CROSS(Var18,Var17),1,0);
買點:IF(FILTER(Var8=0 AND VarE AND Var10 AND Var1A,5)=1,10,0), colorred;
賣點:IF(FILTER(Var8=100 AND VarF AND Var1B,5)=1,10,0), colorgreen;
Var1C:=EMA(100*(CLOSE-LLV(LOW,100))/(HHV(HIGH,100)-LLV(LOW,100)),13)/4;
Var1D:=EMA(CLOSE,2)-EMA(CLOSE,89);
Var1E:=EMA(Var1D,30);
Var1F:=2*(Var1D-Var1E)*10;
Var20:=POW(Var1F,3)*0.1+POW(Var1F,2);
Var21:=SQRT(SQRT(LOW*HIGH*OPEN*CLOSE));
Var22:=EMA(Var21*0.97,3);
Var23:=(HIGH+LOW+CLOSE)/3;
Var24:=(Var23-MA(Var23,14))/(0.015*AVEDEV(Var23,14));
Var25:=IF(YEAR<2008 AND Var1F>0.015,Var20,0)/45;
莊拉線: Var25,coloryellow ;
Var26:=EMA(CLOSE,2)-EMA(CLOSE,150);
Var27:=EMA(Var26,100);
Var28:=2*(Var26-Var27);
Var29:=POW(Var28,3)*0.1+POW(Var28,1);
Var2A:=SQRT(SQRT(LOW*HIGH*OPEN*CLOSE));
Var2B:=EMA(Var2A*0.97,3);
Var2C:=(HIGH+LOW+CLOSE)/3;
Var2D:=(Var2C-MA(Var2C,14))/(0.015*AVEDEV(Var2C,14));
黑馬線:IF( Var28>0.1,Var29,0)*5, colorcyan;
量價線:(CLOSE-MA(CLOSE,21))/MA(CLOSE,21)*100, colorwhite;
Var2E:=IF(FILTER(量價線>0 AND 量價線<3,5)=1,12,0);
漲幅前兆: IF(FILTER(莊拉線>0 AND 莊拉線<0.5 AND Var2E AND Var1C<3,10)=1,10,0), colorred;
選股利器: IF(FILTER(Var2E>0 AND Var1C<2 AND 莊拉線>0 AND 莊拉線<1
AND 黑馬線>0 AND 黑馬線<1.5 AND Var2E>0,5)=1,10,0),colorff1166;
DRAWTEXT(買點>0,10,'買'),colorred;
DRAWTEXT(賣點>0,10,'賣'),colorgreen;
DRAWTEXT(漲幅前兆>0,10,'前兆'),colorred;
DRAWTEXT(選股利器>0,10,'選股利器'),Colorff1166;