編輯平臺支持的函數
1.
引用數據
AVPRICE
|
引用均價(在盤後對於國內三個期貨交易所指結算價)
|
CLOSE
|
引用收盤價(在盤中指最新價)
|
HIGH
|
引用最高價
|
LOW
|
引用最低價
|
OPEN
|
引用開盤價
|
OPI
|
引用持倉量
|
REF(X,N)
|
引用X在N個週期前的值
例:REF(CLOSE,5);表示引用當前週期前第5個週期的收盤價
|
REFX(X,N)
|
引用N個週期後的數據。(N爲大於等於1的整數)(將來函數)
例:REFX(CLOSE,5);表示引用自當前週期後第5個週期的收盤價
|
SETTLE
|
引用結算價(只有盤後才能引用當日的結算價)
|
VOL
|
引用成交量
|
2.
金融統計
BACKSET(X,N)
|
若X非0,則將當前位置到N週期前的數值設爲1。
例:BACKSET(CLOSE>OPEN,3);表示當K線收陽時,自當前位置到3週期前的數值設爲1
|
BARSLAST(X)
|
求上一次條件成立到當前的週期數。
|
COUNT(X,N)
|
表示統計在N週期內知足X條件的週期數。若是N爲0則表示從第一天開始算起。
例:WR:=-100*(HHV(HIGH,N)-CLOSE)/(HHV(HIGH,N)-LLV(LOW,N)); COUNT(WR>80,5);表示統計在5個週期內知足WR>80的次數
|
DMA(X,A)
|
返回X的動態移動平均,其中A必須介於0及1之間。
計算方法:DMA(N)=DMA(N-1)*(1-A)+X(N)*A 其中DMA(N-1)爲第(N-1)天的DMA值
|
EMA(X,N)
|
表示求X在N週期內的平滑移動平均。(指數加權)
計算方法:EMA(X,N)=[2*X+(N-1)*EMA(N-1)]/(N+1) 其中EMA(N-1)爲第(N-1)天的EMA值
|
EMA2(X,N)
|
表示求X在N週期內的加權平均。(線性加權)
計算方法:EMA2(N)=(N*X0+(N-1)*X1+(N-2)*X2+...+1*XN)/(N+(N-1)+(N-2)+...+1),X0表示本週期值,X1表示上一週期值...
|
HHV(X,N)
|
獲得X在N週期內的最高值,若是N=0,則從第一個有效週期開始算起。
例:HHV(HIGH,13);求13個週期內的最高價的最大值。
|
HHVBARS(X,N)
|
獲得X在N週期內的最高值位置到當前的週期數。若是N=0,則從第一個有效週期開始算起。
例:HHVBARS(VOL,0); 求歷史成交量最大的週期到當前的週期數
|
LLV(X,N)
|
獲得X在N週期內的最小值,若是N=0,則從第一個有效週期開始算起。
例:LLV(LOW,25);表示求25個週期內最低價的最小值
|
LLVBARS(X,N)
|
獲得X在N週期內的最小值的位置到當前的週期數。若是N=0則從第一個有效週期開始算起。
例:LLVBARS(VOL,0); 求歷史成交量最小的週期到當前的週期數
|
MA(X,N)
|
求X在N週期內的簡單移動平均。
計算方法:MA=(A1+A2+A3+A4+A5)/5 求A在5個週期內的簡單移動平均
|
ZIGZAG(X,P,C)
|
之字轉向(將來函數),當C取1,P爲百分比數;當C取0,P爲價位差值。
例:ZIGZAG(HIGH,10,1);表示最高價的10%的之字轉向
ZIGZAG(MA(HIGH,34),100,0);表示34個週期內最高價均線的100個價位的之字轉向
|
PEAK(X,P,M,C)
|
取得ZIGZAG前M個波峯的值。其中X爲數據,P爲轉折值(若是C爲1的話,這個值爲百分比,不然爲絕對值),M爲大於等於1的整數。(將來函數)
例:PEAK(HIGH,10,1,1);表示最高價的10%的之字轉向的上一個波峯的數值 PEAK(MA(HIGH,34),100,1,0);表示34個週期內最高價均線的100個價位的之字轉向的上一個波峯的數值
|
PEAKBARS(X,P,M,C)
|
取得ZIGZAG前M個波峯到當前週期的週期數。(將來函數)
例:PEAKBARS(HIGH,10,1,1);表示最高價的10%的之字轉向的上一個波峯到當前的週期數
PEAKBARS(MA(HIGH,34),100,1,0);表示34個週期內最高價均線的100個價位的之字轉向的上一個波峯到當前的週期數
|
TROUGH(X,P,M,C)
|
取得ZIGZAG前M個波谷的值。(將來函數)
例:TROUGH(LOW,10,1,1);表示最低價的10%的之字轉向的上一個波谷的數值
TROUGH (MA(LOW,34),100,1,0);表示34個週期內最低價均線的100個價位的之字轉向的上一個波谷的數值
|
TROUGHBARS(X,P,M,C)
|
取得ZIGZAG前M個波谷到當前週期的週期數 (將來函數)
TROUGHBARS(LOW,10,1,1);表示最低價的10%的之字轉向的上一個波谷到當前的週期數
TROUGHBARS(MA(LOW,34),100,1,0);表示34個週期內最低價均線的100個價位的之字轉向的上一個波谷到當前的週期數
|
SAR(N, Step, Max)
|
獲得拋物轉向值。N爲計算週期,Step爲步長,Max爲極值。
例:SAR(17,3,30);表示計算17個週期拋物轉向,步長爲3%,極限值爲30%
|
SMA(X,N,M)
|
獲得X在N個週期內的移動平均,M爲權重。
計算方法:SMA(N)=SMA(N-1)*(N-M)/N+X(N)*M/N
|
SUM(X,N)
|
獲得X在N週期內的總和,若是N=0,則從第一個有效週期開始算起。
例: SUM(VOL,10);表示統計10週期內的成交量總和
|
SUMBARS(X,A)
|
獲得X向前累加直到大於A時的週期數。
|
TRMA(X,N)
|
求X在N週期內的三角移動平均。
|
TSMA(X,N)
|
求X在N週期內的時間序列移動平均。
計算方法:TSMA(X,N)= FOCAST(X,N)+SLOPE(X,N)
|
3.
數理統計
AVEDEV(X,N)
|
求X在N週期內的平均絕對誤差。
|
DEVSQ(X,N)
|
數據誤差平方和。
|
FORCAST(X,N)
|
獲得X的N週期線性迴歸預測值。
例:FORCAST(CLOSE,5);表示求5週期線性迴歸預測
|
SLOPE(X,N)
|
獲得X在N週期內的線性迴歸的斜率。
例:SLOPE(CLOSE,5);表示求5週期線性迴歸線的斜率
|
STD(X,N)
|
獲得X在N週期內的標準差。
|
STDP(X,N)
|
獲得X在N週期內的整體標準差。
|
VAR(X,N)
|
獲得X在N週期內的樣本方差。
|
VARP(X,N)
|
獲得X在N週期內的整體樣本方差。
|
數理統計舉例說明:
|
設一個數列,數列中數據的總個數爲N,以今天(2005-10-14)五天內的A0605收盤價爲例,N就爲5。數列的內容爲:{2766,2805,2814,2886,2885}。
一、算術平均值MA(CLOSE,5):數據總和除以總個數N。 (2766+2805+2814+2886+2885)/5=2831.20。能夠用公式MA(CLOSE,5),從今天的值上看出。
二、誤差:每一個數據,減去算術平均值的結果。 2766-2831.20=-65.2, 2805-2831.20=-26.2, 2814-2831.20=-17.2, 2886-2831.20=54.8, 2885-2831.20=53.8, 各誤差相加,應該是等於0的。
三、平均絕對誤差AVEDEV(X,N):將誤差的絕對值相加,除以總個數N。 (65.2+26.2+17.2+54.8+53.8)/5=43.44
四、數據誤差平方和DEVSQ(X,N):將誤差的平方相加。 (-65.2)²+ (-26.2)²+ (-17.2)²+ (54.8)²+ (53.8)²=11130.80
五、整體樣本方差VARP(X,N):將誤差的平方相加,總和除以總個數N。用公式能夠這樣算: (-65.2)²+ (-26.2)²+ (-17.2)²+ (54.8)²+ (53.8)²/5=2226.16
六、樣本方差VAR(X,N):是整體方差的N/(N-1)倍。 2226.16*5/(5-1)=2782.70 估算樣本方差,總比整體樣本方差大一點,當N夠大時,二者趨於相等。
七、整體標準差STDP(X,N):方差的開方。 [(-65.2)²+ (-26.2)²+ (-17.2)²+ (54.8)²+ (53.8)²/5]½=47.18
八、標準差STD(X,N):估算樣本方差的開方。 [2226.16*5/(5-1)]½=52.75 一樣,估算標準差也比整體標準差大一點,當N夠大時,二者趨於相等。
|
4.
邏輯判斷
BETWEEN(A,B,C)
|
判斷A是否位於B及C之間,若是A介於B,C之間則返回1,不然返回0。
例:BETWEEN(CLOSE,MA5,MA40); 表示收盤價介於5日均線與40日均線之間
|
CROSS(X,Y)
|
若是X上穿Y則返回1(yes),不然返回0(no)。
例:CROSS(CLOSE,MA(CLOSE,5));表示收盤線從下方向上穿過5日均線
|
EXIST(COND,N)
|
判斷過去N個週期內是否有知足條件COND。
例:EXIST(CLOSE>REF(HIGH,1),10);表示10個週期中是否存在收盤價大於前一個週期的最高價
|
EVERY(COND,N)
|
判斷過去N個週期內是否一直知足條件COND。
例:EVERY(CLOSE>OPEN,5);表示5個週期內一直是陽線
|
LAST(COND,N1,N2)
|
判斷過去N1到N2週期內是否一直知足條件COND。
例:LAST(CLOSE>OPEN,10,5);表示從過去第10個週期到第5個週期內一直是陽線
|
LONGCROSS(A,B,N)
|
若是A在前N個週期內都小於B,本週期上穿B,則返回1。不然返回0。
例:LONGCROSS(CLOSE,MA(CLOSE,10),20);表示收盤線在10日均線之下持續20週期後從下向上穿過10日均線
|
NOFILTER
|
信號過濾函數。
公式後加「NOFILTER;」是指不須要過濾,出現任何交易指令都會執行。公式後不加「NOFILTER;」是指當連續出現同方向的交易指令時,系統只顯示出第一個交易指令,其餘交易指令自動被過濾。
|
IF(C,A,B)
|
若是C成立返回A,不然返回B。
例:IF(CLOSE>REF(CLOSE,1),1,0);表示若今日收盤價高於前一日收盤價,則返回1,不然返回0
|
ISDOWN
|
若是該週期收陰則返回1,不然返回0。
|
ISEQUAL
|
若是該週期平盤則返回1,不然返回0。
|
ISUP
|
若是該週期收陽則返回1,不然返回0。
|
ISLASTBAR
|
取得當前週期是否爲最後一根K線。最後一個週期返回值爲1,其他爲0。
|
VALUEWHEN(COND,DATA)
|
當條件COND知足時,取當時的DATA的值,不然取得VALUEWHEN的前一個值。
例:VALUEWHEN(HIGH>REF(HIGH,5),HIGH);表示當前最高價大於前五個週期最高價的最大值時返回當前最高價
|
5.
數學運算
ABS(X)
|
求X的絕對值。
例:ABS(CLOSE-10) 返回收盤價和10的價差的絕對值
|
ACOS(X)
|
求X的反餘弦值。
|
ASIN(X)
|
求X的反正弦值。
|
ATAN(X)
|
求X的反正切值。
|
CEILING(X)
|
向上舍入。返回沿X數值增大方向最接近的整數。
|
COS(X)
|
返回X的餘弦值。
|
EXP(X)
|
表示求e的X次冪。
|
FLOOR(X)
|
向下舍入。返回沿X數值減少方向最接近的整數。
|
INTPART(X)
|
取X的整數部分。INTPART(X)返回沿X絕對值減少方向最接近的整數。
|
LN(X)
|
獲得X的天然對數。以e爲底的對數。
例:LN(OPEN);求開盤價的天然對數。
|
LOG(X)
|
獲得X的經常使用對數。取得X的以10爲底的對數。
例:LOG(OPEN);求開盤價的以10爲底的對數。
|
MAX(A,B)
|
求A,B中的較大者。
例:MAX(CLOSE-OPEN,0);表示若收盤價大於開盤價返回它們的差值,不然返回0
|
MIN(A,B)
|
求A,B中的較小者。
例:MIN(OPEN,CLOSE);返回開盤價和收盤價中的較小值
|
MOD(A,B)
|
返回A對B獲得模。
例:MOD(CLOSE,OPEN);收盤價除以開盤價所得餘數
|
NOT(X)
|
當X爲0時返回1,不然返回0。
例:NOT(TIME=0905);表示該週期對應的時間不是9:05AM
|
POW(A,B)
|
獲得A的B次冪。
例:POW(CLOSE,2);求得收盤價的2次方
|
REVERSE(X)
|
取反。
例:REVERSE(LOW);返回-LOW
|
SGN(X)
|
獲得X的符號,若是X>0則返回1,若是X<0則返回-1,不然返回0。
|
SIN(X)
|
獲得X的正弦值。
|
SQRT(X)
|
獲得X的平方根。
例:SQRT(CLOSE);收盤價的平方根
|
SQUARE(X)
|
獲得X的平方。
例:SQUARE(CLOSE);收盤價的平方
|
TAN(X)
|
獲得X的正切值。
|
6.
時間函數
BARPOS
|
取得當前K線的位置。
|
DATE
|
取得當前週期的日期數(700101-341231)。
|
DAY
|
取得當前週期的日數(1-31)。
|
HOUR
|
取得當前週期的小時數(0-23)。
|
MINUTE
|
取得當前週期的分鐘數(0-59)。
|
MONTH
|
取得當前週期的月數(1-12)。
|
TIME
|
取得當前週期的時間數(0-2359)。
|
WEEKDAY
|
取得當前週期的星期數(0-6)。
|
YEAR
|
取得當前週期的年數(1970-2034)。
|
7.
繪圖
DRAWLINE
(C1,P1,C2,P2, COLOR)
|
當條件C1及C2均知足時,從P1畫直線到P2,顏色爲COLOR。
例:DRAWLINE(MA18< CLOSE,OPEN,MA5 >CLOSE,CLOSE,COLORCYAN); 表示當收盤價大於18日均線而且小於5日均線時,從開盤價畫青色直線到收盤價。
|
DRAWTEXT(C,P,TEXT)
|
表示當條件C知足時在P上寫TEXT文字。
例:DRAWTEXT(CLOSE< OPEN&&REF(CLOSE,1)< REF(OPEN,1) &&REF(VOL,1)*1.1< VOL,LOW,'注'); 表示連續兩日收陰而且成交量比前一日至少多10%時,在最低價上寫「注」字。
|
DRAWSL(COND,DATA,
SLOPE,LEN,EXPAND,
COLOR)
|
畫斜線,當條件COND知足時,從DATA開始以每一個週期相差SLOPE個點的斜率畫斜線,劃線長度爲LEN個週期,EXPAND爲線段的延長方式(0:不延伸;1:向左延伸;2:向右延伸;3:雙向延伸)。
例:DRAWSL(LOW=LLV(LOW,50),LOW,5,3,2,COLORRED); 表示當前最低價等於50週期內的最小值時,從當前最小值開始以每隔5個點的斜率畫長度爲3個週期向右延伸的斜線,顏色爲紅色
|
DRAWNUMBER
(COND,DATA,NUMBER,PRECISION,COLOR)
|
畫數字。當條件COND知足時,在DATA位置寫數字NUMBER(爲數組),精度爲PRECISION(小數點後有幾位數字)。
例:DRAWNUMBER(CLOSE/OPEN>1.08,HIGH,(CLOSE-OPEN)/OPEN*100,2,COLORRED); 表示當日漲幅大於8%時在最高價位置顯示漲幅(相對開盤價的百分比)。
|
FILLRGN
(COND,DATA1,DATA2,COLOR)
|
填充區域,當條件COND知足時,填充DATA1及DATA2包圍的區域。
例:FILLRGN(MA5>MA10,MA5,MA10,COLORRED); 表示MA5>MA10時以紅色填充MA5和MA10之間的區域。
|
POLYLINE
(COND,DATA,COLOR)
|
畫折線,當條件COND知足時,鏈接各個DATA點。
例:POLYLINE(CLOSE>=HHV(CLOSE,100),CLOSE,COLORRED); 表示在收盤價創100天新高點之間畫折線。
|
PARTLINE
(COND,DATA,COLOR)
|
同POLYLINE。
例:PARTLINE(HIGH>REF(HIGH,1),HIGH,COLORRED); 表示當期最高價大於前期最高價用紅色繪製最高價連線。
|
STICKLINE
(C,P1,P2,Color,Empty)
|
若是條件C知足時,從P1到P2畫柱線,顏色爲Color,若是Empty不爲0,則爲空心柱,不然爲實心柱。
例:STICKLINE(OPEN-CLOSE>0,OPEN,CLOSE,COLORCYAN,0); 表示當開盤價大於收盤價時,從開盤價到收盤價畫青色的實心柱,即K線陰線的實體部分。
|
VERTLINE
(COND,COLOR)
|
畫垂直線,當條件COND知足時,畫垂直線。
例:VERTLINE(HIGH>=HHV(HIGH,30),COLORRED); 表示在價格創30天新高時畫垂直線。
|
|