公式編寫基礎3[同花順公式]
相關標簽: 同花順公式編寫 、 同花順指標公式 、 同花順公式 、 同花順選股公式大全 、 同花順公式大全 、 同花順指標公式源碼 、 同花順指標公式大全 、 同花順必漲選股公式 、 同花順公式密碼破解 、
三,公式函數的活用
剔除選定股票,選股時剔除ST股票
STRFIND(STRLEFT(STKNAME,2),'ST')=0; 字符串函數,符合條件時返回為0。 //本文來至CXH99.COM//
獲得成交筆數
MAX(0,SUBSAMEDAY(&VOLAMOUNT))
獲得“是否最后周期”ISLATBAR
FILTER(條件1 AND 條件2,COUNT(條件1 AND 條件2,0))
變色柱線(在個股于指數之間畫不同顏色的柱線)
STICKLINE(個股>指數,個股,指數,4,0),color6666ff;
STICKLINE(個股<指數,個股,指數,4,1),color66bb66;
變色曲線(符合條件時改變顏色,下為用于KDJ公式)
k:PARTLINE(k,k>d,RGB(255,0,0),k<d,RGB(00,255,0));
[ 此文章的編輯者為: 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)<KDJ.k AND CROSS(KDJ.k,KDJ.d);
DRAWTEXT(FILTER(B2>0,5),L+0.39,'KDJ底背'),coloryelLOW;
語言規范://本文 來源:程序化交易網 //
在自定義公式里面的各種符號(如,“;” )只能用半角不能用全角。 //本文來至程序化交易網 cxh99.com//
關鍵字 if else while break continue return (無大小寫之分)
常數 浮點數、整數、字符串 //本文來至程序化交易網 cxh99.com//
分隔符 “ ” ‘ ’ ( ) ; // // 注釋
標識符 由字母和數字組成,由字母開頭,不分大小寫 //內容來至程序化交易網 CXH99.COM//
運算符(優先級從高到低排列,同級同行)
* /
+ -
!= > < >= <=
And
Or //文章來至程序化交易網 cxh99.com//
語句賦值 a = b
條件 IF (a==b) c=d; //內容來至程序化交易網 CXH99.COM//
循環 while a==b c=d;
函數調用 func(a,b)
賦值語句:
其一般形式為: //本文來至CXH99.COM//
a=b; 含義為將b的值付給a。
幾個運算符“=”賦值、 “:=” 賦值“:”賦值并輸出數值或字符串“:>”賦值并輸出圖形。
注意:“=”和“:=”兩個運算符的意義、用法完全相同。這樣做主要是為了更好地兼容市場上目前的各種帶有公式編輯功能的分析軟件。
同花順公式函數注釋(常用部分)
邏輯函數:
1、條件函數:根據條件求不同的值。
用法:IF(X,A,B)若X不為0則返回A,否則返回B。例如:(CLOSE>OPEN,HIGH,LOW)表示該周期收陽則返回最高值,否則返回最低值。 //文章來至程序化交易網 cxh99.com//
引用函數:
1、滿足條件的周期數:統計滿足條件的周期數。 //本文來至CXH99.COM//
用法:COUNT(X,N),統計N周期中滿足X條件的周期數,若N=0則從第一個有效值開始。例如:COUNT(CLOSE>OPEN,20)表示統計20周期內收陽的周期數。
2、第一個條件成立到當前的周期數:統計第一個條件成立到當前的周期數。
用法:BARSSINCE(X):第一次X不為0到現在的天數。例如:BARSSINCE(HIGH>10)表示股價超過10元時到當前的周期數。
3、上一次條件成立到當前的周期數:上一次條件成立到當前的周期數。 //本文來至CXH99.COM//
用法:BARSLAST(X),上一次X不為0到現在的天數。例如:BARSLAST(CLOSE/ref(CLOSE,1)>=1,1)表示上一個漲停板到當前的周期數。 //文章來至程序化交易網 cxh99.com//
4、有效周期數:求總的周期數。//本文 來源:程序化交易網 //
用法:BARSCOUNT(X),第一個有效數據到當前的天數。
5、向前賦值:將當前位置到若干周期前的數據設為1。
用法:BACKSET(X,N),若X非0,則將當前位置到N周期前的數值設為1。例如:BACKSET(CLOSE>OPEN,2)若收陽則將該周期及前一周期數值設為1,否則為0。
6、求和:求總和。
用法:SUM(X,N),統計N周期中X的總和,N=0則從第一個有效值開始。例如:SUM(VOL,5)周期設為日線時,表示最近5個交易日的成交量之和。SUM(VOL,0)表示從傳數據過來第一天起的成交量總和,具體如在區間統計里統計“總手” SUM(VOL,0)即是指全區間的成交量之和。
7、移動平均:求移動平均。
用法:SMA(X,N,M),求X的N日移動平均,M為權重。算法: 若Y=SMA(X,N,M)則 Y=[M*X+(N-M)*Y']/N,其中Y'表示上一周期Y值,N必須大于M。例如:SMA(CLOSE,30,1)表示求30日移動平均價。
8、向前引用:引用若干周期前的數據。 //文章來至程序化交易網 cxh99.com//
用法:ref(X,A),引用A周期前的X值。例如:ref(CLOSE,1)表示上一周期的收盤價,在日線上就是昨收。 //本文來至CXH99.COM//
9、簡單移動平均:求簡單移動平均。 //文章來至程序化交易網 cxh99.com//
用法:MA(X,N),求X的N日移動平均值。算法:(X1+X2+X3+,,,+Xn)/N。例如:MA(CLOSE,10)表示求10日均價。
10、最低值:求最低值。
用法:LLV(X,N),求N周期內X最低值,N=0則從第一個有效值開始。例如:LLV(LOW,0)表示求歷史最低價。 //內容來至程序化交易網 CXH99.COM//
11、最高值:求最高值。 //本文來至程序化交易網 cxh99.com//
用法:HHV(X,N),求N周期內X最高值,N=0則從第一個有效值開始。例如:HHV(HIGH,30)表示求30日最高價。
12、指數平滑移動平均:求指數平滑移動平均。
用法:EMA(X,N),求X的N日指數平滑移動平均。算法:若Y=EMA(X,N)則Y=[2*X+(N-1)*Y']/(N+1),其中Y'表示上一周期Y值。例如:EMA(CLOSE,30)表示求30日指數平滑均價。
13、動態移動平均:求動態移動平均。//本文 來源:程序化交易網 //
用法:DMA(X,A),求X的動態移動平均。算法: 若Y=DMA(X,A)則 Y=A*X+(1-A)*Y',其中Y'表示上一周期Y值,A必須小于1。例如:DMA(CLOSE,VOL/CAPITAL)表示求以換手率作平滑因子的平均價。 //本文來至CXH99.COM//
14、最高值周期數:求上一高點到當前的周期數。
用法:HHVBARS(X,N):求N周期內X最高值到當前周期數,N=0表示從第一個有效值開始統計。例如:HHVBARS(HIGH,0)求得歷史新高到到當前的周期數。
15、最低值周期數:求上一低點到當前的周期數。
用法:LLVBARS(X,N):求N周期內X最低值到當前周期數,N=0表示從第一個有效值開始統計。例如:LLVBARS(HIGH,10)求得10日最低點到當前的周期數。
16、加權移動平均:求加權移動平均。 //內容來至程序化交易網 CXH99.COM//
用法:WMA(X,A),求X的加權移動平均。
算法:若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日加權均價。
17、求和:向前累加到指定值到現在的周期數。
用法:SUMBARS(X,A):將X向前累加直到大于等于A,返回這個區間的周期數。例如:SUMBARS(VOL,CAPITAL)求完全換手到現在的周期數。
時間函數:
1、總開盤分鐘:求當前代碼類型的開市交易時間。 //本文來至程序化交易網 cxh99.com//
用法:TRADETIME。返回交易時間,單位為分鐘。目前一般市場都返回242,與日期或具體的股票無關。 //文章來至程序化交易網 cxh99.com//
2、距開盤分鐘:求當前時刻距開盤有多長時間。 //本文來至程序化交易網 cxh99.com//
用法:FROMOPEN。返回當前時刻距開盤有多長時間,單位為分鐘。例如:當前時刻為早上十點,則返回31。
3、距午夜秒:求當前時刻距開盤有多長時間。 //文章來至程序化交易網 cxh99.com//
用法:FROMNIGHT。返回當前時刻距午夜有多長時間,單位為秒。例如:當前時刻為早上十點,則返回36000。
4、時間格式:轉換時間格式。//本文 來源:程序化交易網 //
用法:FORMATTIME(N)。目前只支持 N=1 把當前時間轉換成距開盤分鐘數返回。例如:分時中的量比曲線公式:(VOL*(TRADETIME+1)*5)/(FORMATTIME(1)*FIVEDAYVOL)。
5、時間差:計算兩個時間之間的差。 //本文來至程序化交易網 cxh99.com//
用法:COUNTTIME(N,L,K)。N、L為時間,其格式為YYYYMMDD。K為1、2或者3。當K為1時返回第二個之間比第一個時間晚多少年。當K為2時返回第二個之間比第一個時間晚多少月。當K為3時返回第二個之間比第一個時間晚多少日。例如:COUNTTIME(20000808,19990606,2)其返回值為-2。注意:這里返回值有正負號。
算術函數:
1、絕對值:求絕對值。
用法:ABS(X)返回X的絕對值。例如:ABS(-34)返回34。
2、介于:介于兩個數之間。 //內容來至程序化交易網 CXH99.COM//
用法: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、最小值:求最小值。 //本文來至程序化交易網 cxh99.com//
用法:MIN(A,B)返回A和B中的較小值。例如:MIN(CLOSE,OPEN)返回開盤價和收盤價中的較小值。
5、求模運算:求模運算。 //內容來至程序化交易網 CXH99.COM//
用法:MOD(A,B)返回A對B求模。例如:MOD(26,10)返回6。
6、求邏輯非:求邏輯非。//本文 來源:程序化交易網 //
用法:NOT(X)返回非X,即當X=0時返回1,否則返回0。例如:NOT(5>3)返回0。 //本文來至程序化交易網 cxh99.com//
7、范圍:介于某個范圍之間。
用法:RANGE(A,B,C)表示A大于B同時小于C時返回1,否則返回0。例如:RANGE(CLOSE,MA(CLOSE,5),MA(CLOSE,10))表示收盤價大于5日均線并且小于10日均線。
8、求相反數:求相反數。
用法:REVERSE(X)返回-X。 例如REVERSE(CLOSE)返回-CLOSE。
9、余弦值:求余弦值。
用法:COS(X)返回X的余弦值。
10、正弦值:求正弦值。 //本文來至程序化交易網 cxh99.com//
用法:SIN(X)返回X的正弦值。
11、平方根:開平方。
用法:SQRT(X)為X的平方根。例如:SQRT(CLOSE)收盤價的平方根。
12、上穿:兩條線交叉。 //本文來至程序化交易網 cxh99.com//
用法:CROSS(A,B)表示當A從下方向上穿過B時返回1,否則返回0。例如:CROSS(MA(CLOSE,5),MA(CLOSE,10))表示5日均線與10日均線交金叉。
13、維持:兩條線維持一定周期后交叉。
用法:LONGCROSS(A,B,N)表示A在N周期內都小于B,本周期從下方向上穿過B時返回1,否則返回0。例如:LONGCROSS(MA(CLOSE,5),MA(CLOSE,10),5)表示5日均線維持5周期后與10日均線交金叉。
14、空:判斷是否為空。
用法:ISNULL(A)表示如果A為空(即沒有數據)則返回1,否則返回0。
15、冪:求冪。
用法:POW(X,Y)。求X的Y次冪。例如:POW(2,3)為8。
//本文來至CXH99.COM//
(責任編輯:程序化交易網整理)
如果以上指標公式不適用于您常用的行情軟件
或者您想改編成選股公式,以便快速選出某種形態個股的話,
- 上一篇:決策密碼 公式 指標 源碼 主圖疊加
- 下一篇:沒有了!
相關文章
-
沒有相關內容