版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
本文格式為Word版,下載可任意編輯——文華財經(jīng)程序化指標(biāo)(一)簡介(二)函數(shù)分類1、引用數(shù)據(jù)
AVPRICE引用均價(在盤后對于國內(nèi)三個期貨交易所指結(jié)算價)
SETTLE引用結(jié)算價(假使用在周期小于'日'的K線上如5分鐘K線,一小時k線,每根k線返回的值表示這根k線當(dāng)日開盤時到這根k線的為止的結(jié)算價(均價)
假使用在周期大于等于'日'的K線上,返回當(dāng)根K線終止時間所在日的結(jié)算價.)CLOSE引用收盤價(在盤中指最新價),也可簡寫為C。HIGH引用最高價,也可簡寫為H。LOW引用最低價,也可簡寫為L。OPEN引用開盤價,也可簡寫為O。OPI引用持倉量REF(X,N)引用X在N個周期前的值例:REF(CLOSE,5);
表示引用當(dāng)前周期前第5個周期的收盤價REFX(X,N)引用N個周期后的數(shù)據(jù)。(N為大于等于1的整數(shù))『未來函數(shù)』
例:REFX(CLOSE,5);
表示引用自當(dāng)前周期后第5個周期的收盤價VOL引用成交量,也可簡寫為V。GETPRICE(N)根據(jù)文華碼取出某一品種的最新價。例子:
GETPRICE(1209);返回文華碼為1209的合約品種的最新價。
2、金融統(tǒng)計
BACKSET(X,N)若X條件成立,則將當(dāng)前位置到N周期前的數(shù)值設(shè)為1?!何磥砗瘮?shù)』例:BACKSET(CLOSE>OPEN,3);表示當(dāng)K線收陽時,自當(dāng)前位置到3周期前的數(shù)值設(shè)為1該函數(shù)參數(shù)支持變量計算如BACKSET(CLOSE>OPEN,VAR1);//VAR1是變量
BARSLAST(X)求上一次條件成立到當(dāng)前的周期數(shù)。例:
BARSLAST(X):上一次滿足X條件到現(xiàn)在的K線根數(shù)。假使本根K線滿足X條件,則BARSLAST(X)返回0.
COUNT(X,N)表示統(tǒng)計在N周期內(nèi)滿足X條件的周期數(shù)。若N=0則從本地數(shù)據(jù)的第一個有效值開始。
例:WR:=-100*(HHV(HIGH,N)-CLOSE)/(HHV(HIGH,N)-LLV(LOW,N));COUNT(WR>80,5);表示統(tǒng)計在5個周期內(nèi)滿足WR>80的次數(shù)。
DMA(X,N)返回X的動態(tài)移動平均,其中N必需介于0及1之間。計算方法:DMA(N)=DMA(N-1)*(1-A)+X(N)*A其中DMA(N-1)為第(N-1)天的DMA值。
EMA(X,N)表示求X在N周期內(nèi)的平滑移動平均。(指數(shù)加權(quán))計算方法:EMA(X,N)=[2*X+(N-1)*EMA(X,(N-1))]/(N+1)其中EMA(X,(N-1))為第(N-1)天的EMA值。
EMA2(X,N)表示求X在N周期內(nèi)的加權(quán)平均。(線性加權(quán))
計算方法:EMA2(X,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èi)的最高值,假使N=0,則從本地數(shù)據(jù)的第一個有效周期開始算起。
例:HHV(HIGH,13);求13個周期內(nèi)的最高價的最大值。
HHVBARS(X,N)得到X在N周期內(nèi)的最高值位置到當(dāng)前的周期數(shù)。假使N=0,則從本地數(shù)據(jù)的第一個有效周期開始算起。
例:HHVBARS(VOL,0);求歷史成交量最大的周期到當(dāng)前的周期數(shù)。
LLV(X,N)得到X在N周期內(nèi)的最小值,假使N=0,則從本地數(shù)據(jù)的第一個有效周期開始算起。
例:LLV(LOW,25);表示求25個周期內(nèi)最低價的最小值。
LLVBARS(X,N)得到X在N周期內(nèi)的最小值的位置到當(dāng)前的周期數(shù)。假使N=0則從本地數(shù)據(jù)的第一個有效周期開始算起。
例:LLVBARS(VOL,0);求歷史成交量最小的周期到當(dāng)前的周期數(shù)。
MA(X,N)求X在N周期內(nèi)的簡單移動平均。
計算方法:MA=(A1+A2+A3+A4+A5)/5,求A在5個周期內(nèi)的簡單移動平均
ZIGZAG(X,P,N)之字轉(zhuǎn)向,當(dāng)X變化量超過P時轉(zhuǎn)向,當(dāng)N取1,P為百分比數(shù);當(dāng)N取0,P為價位差值絕對值?!何磥砗瘮?shù)』
例:ZIGZAG(HIGH,10,1);表示最高價的10%的之字轉(zhuǎn)向
ZIGZAG(MA(HIGH,34),100,0);
表示34個周期內(nèi)最高價均線的100個價位的之字轉(zhuǎn)向
PEAK(X,P,M,N)取得ZIGZAG前M個波峰的值。其中X為數(shù)據(jù),P為轉(zhuǎn)折值(假使N為1,這個值為百分比數(shù),否則為價位差值絕對值),M為大于等于1的整數(shù)。『未來函數(shù)』例:PEAK(HIGH,10,1,1);表示最高價的10%的之字轉(zhuǎn)向的上一個波峰的數(shù)值;
PEAK(MA(HIGH,34),100,1,0);
表示34個周期內(nèi)最高價均線的100個價位的之字轉(zhuǎn)向的上一個波峰的數(shù)值。
PEAKBARS(X,P,M,N)取得ZIGZAG前M個波峰到當(dāng)前周期的周期數(shù)。其中X為數(shù)據(jù),P為轉(zhuǎn)折值(假使N為1,這個值為百分比數(shù),否則為價位差值絕對值),M為大于等于1的
整數(shù)?!何磥砗瘮?shù)』例:PEAKBARS(HIGH,10,1,1);表示最高價的10%的之字轉(zhuǎn)向的上一個波峰到當(dāng)前的周期數(shù)。
PEAKBARS(MA(HIGH,34),100,1,0);表示34個周期內(nèi)最高價均線的100個價位的之字轉(zhuǎn)向的上一個波峰到當(dāng)前的周期數(shù)。
TROUGH(X,P,M,N)取得ZIGZAG前M個波谷的值。其中X為數(shù)據(jù),P為轉(zhuǎn)折值(假使N為1,這個值為百分比數(shù),否則為價位差值絕對值),M為大于等于1的整數(shù)?!何磥砗瘮?shù)』例:TROUGH(LOW,10,1,1);
表示最低價的10%的之字轉(zhuǎn)向的上一個波谷的數(shù)值。
TROUGH(MA(LOW,34),100,1,0);
表示34個周期內(nèi)最低價均線的100個價位的之字轉(zhuǎn)向的上一個波谷的數(shù)值。
TROUGHBARS(X,P,M,N)取得ZIGZAG前M個波谷到當(dāng)前周期的周期數(shù)。其中X為數(shù)據(jù),P為轉(zhuǎn)折值(假使N為1,這個值為百分比數(shù),否則為價位差值絕對值),M為大于等于1的整數(shù)?!何磥砗瘮?shù)』
TROUGH(LOW,10,1,1);
表示最低價的10%的之字轉(zhuǎn)向的上一個波谷到當(dāng)前的周期數(shù)。
TROUGH(MA(LOW,34),100,1,0);
表示34個周期內(nèi)最低價均線的100個價位的之字轉(zhuǎn)向的上一個波谷到當(dāng)前的周期數(shù)。
SAR(N,Step,Max)得到拋物轉(zhuǎn)向值。N為計算周期,Step為步長,Max為極值。(系統(tǒng)函數(shù),計算步驟后臺自動完成)
例:SAR(17,0.03,0.3);表示計算17個周期拋物轉(zhuǎn)向,步長為3%,極限值為30%。
SMA(X,N,M)得到X在N個周期內(nèi)的移動平均,M為權(quán)重(M為常數(shù))。計算方法:SMA(N)=SMA(N-1)*(N-M)/N+X(N)*M/N。
SUM(X,N)得到X在N周期內(nèi)的總和,假使N=0,則從第一個有效周期開始算起。例:SUM(VOL,10);表示統(tǒng)計10周期內(nèi)的成交量總和。
SUMBARS(X,A)得到X向前累加直到大于A時的周期數(shù)。
TRMA(X,N)求X在N周期內(nèi)的三角移動平均。
TSMA(X,N)求X在N周期內(nèi)的時間序列移動平均。計算方法:TSMA(X,N)=FOCAST(X,N)+SLOPE(X,N)。
3、數(shù)理統(tǒng)計
AVEDEV(X,N)求X在N周期內(nèi)的平均絕對偏差。
DEVSQ(X,N)數(shù)據(jù)偏差平方和。
FORCAST(X,N)得到X的N周期線性回歸預(yù)計值。例:FORCAST(CLOSE,5);表示求5周期線性回歸預(yù)計
SLOPE(X,N)得到X在N周期內(nèi)的線性回歸的斜率例:SLOPE(CLOSE,5);表示求5周期線性回歸線的斜率
STD(X,N)得到X在N周期內(nèi)的標(biāo)準(zhǔn)差STDP(X,N)得到X在N周期內(nèi)的總體標(biāo)準(zhǔn)差VAR(X,N)得到X在N周期內(nèi)的樣本方差VARP(X,N)得到X在N周期內(nèi)的總體樣本方差
數(shù)理統(tǒng)計舉例說明:設(shè)一個數(shù)列,數(shù)列中數(shù)據(jù)的總個數(shù)為N,以今天(2023-10-14)五天內(nèi)的A0605收盤價為例,N就為5。數(shù)列的內(nèi)容為:{2766,2805,2814,2886,2885}。1、算術(shù)平均值MA(CLOSE,5):數(shù)據(jù)總和除以總個數(shù)N。(2766+2805+2814+2886+2885)/5=2831.20??梢杂霉組A(CLOSE,5),從今天的值上看出。2、偏差:每個數(shù)據(jù),減去算術(shù)平均值的結(jié)果。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,各偏差相加,應(yīng)當(dāng)是等于0的。3、平均絕對偏差A(yù)VEDEV(X,N):將偏差的絕對值相加,除以總個數(shù)N。(65.2+26.2+17.2+54.8+53.8)/5=43.44。4、數(shù)據(jù)偏差平方和DEVSQ(X,N):將偏差的平方相加。(-65.2)2+(-26.2)2+(-17.2)2+(54.8)2+(53.8)2=11130.80。
5、總體樣本方差VARP(X,N):將偏差的平方相加,總和除以總個數(shù)N。用公式可以這樣算:(-65.2)2+(-26.2)2+(-17.2)2+(54.8)2+(53.8)2/5=2226.16。6、樣本方差VAR(X,N):是總體方差的N/(N-1)倍。2226.16*5/(5-1)=2782.70估算樣本方差,總比總體樣本方差大一點(diǎn),當(dāng)N夠大時,兩者趨于相等。
7、總體標(biāo)準(zhǔn)差STDP(X,N):方差的開方。[(-65.2)2+(-26.2)2+(-17.2)2+(54.8)2+(53.8)2/5]?=47.18。
8、標(biāo)準(zhǔn)差STD(X,N):估算樣本方差的開方。[2226.16*5/(5-1)]?=52.75同樣,估算標(biāo)準(zhǔn)差也比總體標(biāo)準(zhǔn)差大一點(diǎn),當(dāng)N夠大時,兩者趨于相等。
4、規(guī)律判斷
BETWEEN(A,B,C)判斷條件“A位于B及C之間〞是否成立,假使條件成立則返回1(yes),否則返回0(no)。
例:BETWEEN(CLOSE,MA5,MA40);
表示收盤價介于5日均線與40日均線之間。
CROSS(X,Y)表示X上穿Y。
例:CROSS(CLOSE,MA(CLOSE,5));表示收盤線從下方向上穿過5日均線
EXIST(COND,N)判斷N個周期內(nèi)是否有滿足條件COND的狀況發(fā)生。例:EXIST(CLOSE>REF(HIGH,1),10);
表示10個周期中是否存在收盤價大于前一個周期的最高價
EVERY(COND,N)判斷過去N個周期內(nèi)是否一直滿足條件COND。例:EVERY(CLOSE>OPEN,5);表示5個周期內(nèi)一直是陽線
LAST(COND,N1,N2)判斷過去N1到N2周期內(nèi)是否一直滿足條件COND。例:LAST(CLOSE>OPEN,10,5);
表示從過去第10個周期到第5個周期內(nèi)一直是陽線
LONGCROSS(A,B,N)假使A在前N個周期內(nèi)都小于B,本周期上穿B,則返回1。否則返回0。
例:LONGCROSS(CLOSE,MA(CLOSE,10),20);
表示收盤線在10日均線之下持續(xù)20周期后從下向上穿過10日均線。
NOFILTER交易模型買賣指令信號過濾函數(shù)。(僅適用于交易模型的過濾)
設(shè)置模型對產(chǎn)生的交易指令不過濾,則出現(xiàn)的任何交易指令都會執(zhí)行,假使沒有設(shè)置“不過濾〞,則產(chǎn)生的指令將依照如下規(guī)則過濾:
1.連續(xù)的同方向指令只有第一個有效,其他的將被過濾;
2.交易指令必需配對出現(xiàn)(例如:前面已經(jīng)有了買開指令,則后面只允許出現(xiàn)賣平指令,其他的指令都被濾掉。這也就意味著,第一個指令只能是買開或者賣開指令,其他的都被過濾);3.但是在進(jìn)行模型效果測試及優(yōu)化時,無論設(shè)置過濾與否,都依照前面的規(guī)則對指令進(jìn)行了過濾。
IFELSE(C,A,B)(08版等以前版本里用IF函數(shù)表示)。假使條件C成立則返回A值,否則返回B值.例:IFELSE(CLOSE>REF(CLOSE,1),1,0);
表示若今日收盤價高于前一日收盤價,則返回1,否則返回0
ISDOWN判斷該周期是否收陰。ISEQUAL判斷該周期是否平盤。ISUP判斷該周期是否收陽。
ISLASTBAR判斷當(dāng)前周期是否為最終一根K線。例:ISLASTBAR;假使是最終一個K線返回1(Yes),否則返回0(No)。
VALUEWHEN(COND,DATA)當(dāng)條件COND滿足時,取當(dāng)時的DATA的值,否則取得前面一個滿足條件COND的值。
例:VALUEWHEN(HIGH>REF(HIGH,5),HIGH);
表示當(dāng)前最高價大于前五個周期最高價的最大值時返回當(dāng)前最高價。
5、數(shù)學(xué)運(yùn)算
ABS(X)求X的絕對值
例:ABS(SAR(17,0.03,0.3));返回拋物轉(zhuǎn)向SAR(17,0.03,0.3)的絕對值。
ACOS(X)求X的反余弦值A(chǔ)SIN(X)求X的反正弦值A(chǔ)TAN(X)求X的反正切值COS(X)返回X的余弦值EXP(X)返回e的X次冪
CEILING(X)向上舍入,返回沿X數(shù)值增大方向最接近的整數(shù)。FLOOR(X)向下舍入,返回沿X數(shù)值減小方向最接近的整數(shù)。
INTPART(X)取X的整數(shù)部分,返回沿X絕對值減小方向最接近的整數(shù)。
LN(X)得到X的自然對數(shù),以e為底的對數(shù)。例:LN(OPEN);求開盤價的自然對數(shù)。
LOG(X)得到X的常用對數(shù),取得X的以10為底的對數(shù)。例:LOG(OPEN);求開盤價的以10為底的對數(shù)。
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);收盤價除以開盤價所得余數(shù)
NOT(X)當(dāng)X為0時返回1,否則返回0。
例:NOT(TIME=090530);表示該周期對應(yīng)的時間不是9:05:30AM。
POW(A,B)得到A的B次冪。
例:POW(CLOSE,2);求得收盤價的2次方。
REVERSE(X)取反,返回符號相反的數(shù)值。例:REVERSE(LOW);返回-LOW。
SGN(X)得到X的符號,假使X>0則返回1,假使XCLOSE,CLOSE,COLORCYAN);
表示當(dāng)收盤價大于18日均線并且小于5日均線時,從開盤價畫青色直線到收盤價。
DRAWTEXT(C,P,TEXT)表示當(dāng)條件C滿足時在P上寫TEXT文字。
例:DRAWTEXT(CLOSE1.08,HIGH,(CLOSE-OPEN)/OPEN*100,2,COLORRED);
表示當(dāng)日漲幅大于8%時在最高價位置顯示漲幅(相對開盤價的百分比)。
FILLRGN
(COND,DATA1,DATA2,COLOR)填充區(qū)域,當(dāng)條件COND滿足時,填充DATA1及DATA2包圍的區(qū)域。
例:FILLRGN(MA5>MA10,MA5,MA10,COLORRED);
表示MA5>MA10時以紅色填充MA5和MA10之間的區(qū)域。
POLYLINE
(COND,DATA,COLOR)畫折線,當(dāng)條件COND滿足時,連接各個DATA點(diǎn)。例:POLYLINE(CLOSE>=HHV(CLOSE,100),CLOSE,COLORRED);表示在收盤價創(chuàng)100天新高點(diǎn)之間畫折線。
PARTLINE
(COND,DATA,COLOR)畫線段,條件COND滿足時,以COLOR顏色的直線連接DATA各點(diǎn)。
例:PARTLINE(HIGH>REF(HIGH,1),HIGH,COLORRED);表示當(dāng)期最高價大于前期最高價用紅色繪制最高價線段。
STICKLINE
(C,P1,P2,COLOR,EMPTY)假使條件C滿足時,從P1到P2畫柱線,顏色為Color,假使Empty取1,則為空心柱;假使Empty取0,則為實(shí)心柱。
例:STICKLINE(OPEN-CLOSE>0,OPEN,CLOSE,COLORCYAN,0);
表示當(dāng)開盤價大于收盤價時,從開盤價到收盤價畫青色的實(shí)心柱,即K線陰線的實(shí)體部分。
VERTLINE
(COND,COLOR)畫垂直線,當(dāng)條件COND滿足時,畫垂直線。例:VERTLINE(HIGH>=HHV(HIGH,30),COLORRED);表示在價格創(chuàng)30天新高時畫垂直線。
8、08版本與09版本函數(shù)區(qū)別08版本函數(shù)09版本函數(shù)
SETTLE日線周期只有盤后才能引用當(dāng)日的結(jié)算價。其他周期計算結(jié)果等同于AVPRICE引用結(jié)算價(假使用在周期小于'日'的K線上如5分鐘K線,一小時k線,每根k線返回的值表示這根k線當(dāng)日開盤時到這根k線的為止的結(jié)算價(均價)
假使用在周期大于等于'日'的K線上,返回當(dāng)根K線終止時間所在日的結(jié)算價.)
BACKSET(X,N)『未來函數(shù)』函數(shù)參數(shù)不支持變量計算函數(shù)參數(shù)支持變量計算如:BACKSET(CLOSE>OPEN,VAR1);//VAR1是變量
DMA函數(shù)參數(shù)不支持變量計算DMA(X,N)返回X的動態(tài)移動平均,其中N必需介于0及1之間。N支持變量。
計算方法:DMA(N)=DMA(N-1)*(1-A)+X(N)*A其中DMA(N-1)為第(N-1)天的DMA值。HHV(X,N)函數(shù)參數(shù)N不支持變量計算函數(shù)參數(shù)N支持變量計算LLV(X,N)函數(shù)參數(shù)N不支持變量計算函數(shù)參數(shù)N支持變量計算
COUNT(X,N)函數(shù)參數(shù)N不支持變量計算函數(shù)參數(shù)N支持變量計算
09版本新增函數(shù):
GETPRICE(N)根據(jù)文華碼取出某一品種的最新價。例:
GETPRICE(1209);返回文華碼為1209的合約品種的最新價。
RGB(R,G,B)自定義顏色函數(shù)。
R,G,B的數(shù)值范圍都在0~255之間,例:RGB(225,225,225)表示白色
PARAM[參數(shù)名稱,最小值,最大值,缺省值]在源碼中定義參數(shù)。例:PARAM[N,1,100,12]
MAN:MA(CLOSE,N);
表示參數(shù)為N,最小值為1,最大值為100,缺省值為12.IF(COND)A,COLOR;ELSE
B,COLOR;條件循環(huán)函數(shù)。多層次循環(huán)時使用“{}〞套用。例:取得MA5、MA10、MA30三者中最大的數(shù)值MA5:=MA(CLOSE,5);MA10:=MA(CLOSE,10);MA30:=MA(CLOSE,30);IF(MA5>MA10)MA5,COLORRED;ELSE{
IF(MA10>MA30)
MA10,COLORMAGENTA;ELSE
MA30,COLORGREEN;}
注意:區(qū)別于IFELSE函數(shù),為了使多層次套用看的明白,以上例如中將“{}〞單獨(dú)空行,實(shí)際使用中可以不必這樣使用。
#IMPORT[CODE,PERIOD,FORMULA]ASVAR跨周期、跨合約取數(shù)據(jù)函數(shù)。語句格式:
#IMPORT[CODE,PERIOD,FORMULA]ASVARCODE文華碼
(文華碼見http://./guide/guide.htm其他—>期貨品種代碼表)PERIOD被引用的周期FORMULA被引用指標(biāo)名稱
例:引用[豆粕1005]合約日K線圖周期的指標(biāo)[KDJ.FML]中K值、D值:#IMPORT[1205,DAY,KDJ]ASVARKDJK1:KDJ.K;D1:KDJ.D;
注意點(diǎn):
1.只能引用一個當(dāng)前存在的‘.FML文件’(指標(biāo)文件)中的變量,不支持同時引用多個指標(biāo)和多個周期。
2.只能引用如下周期MIN1MIN3MIN5MIN10MIN15MIN30HOUR1HOUR3HOUR8DAYWEEKMONTH;
3.只能短周期引用長周期指標(biāo)數(shù)據(jù),分鐘周期上可引用小時、日周期數(shù)據(jù),不能日線周期上加載引用分鐘數(shù)據(jù)的指標(biāo);
4.被引用的指標(biāo)中不能存在引用。
5.假使不寫文華碼,默認(rèn)引用當(dāng)前合約。
模型解釋符號在2023版本中修改為“//〞。2023版本中模型解釋語句使用在2023版本中時在{}前面增加//即可。
(三)編輯平臺可以使用的常數(shù)常數(shù)意義COLORRED紅色COLORGREEN綠色COLORBLUE藍(lán)色COLORMAGENTA紫色COLORYELLOW黃色
COLORLIGHTGREY淺灰色COLORLIGHTRED淺紅色COLORLIGHTGREEN淺綠色COLORLIGHTBLUE淺藍(lán)色COLORBLACK黑色COLORWHITE白色COLORCYAN青色
COLORSTICK畫彩色柱線VOLUMESTICK畫成交量線BAMBOOLINE畫竹線CIRCLEDOT畫圓
OPISTICK畫持倉量柱線RGB(R,G,B)自定義顏色函數(shù)。R,G,B的數(shù)值范圍都在0~255之間。例:RGB(225,225,225)表示白色
PARAM[參數(shù)名稱,最小值,最大值,缺省值]在源碼中定義參數(shù)。
例:PARAM[N,1,100,12]MAN:MA(CLOSE,N);
表示參數(shù)為N,最小值為1,最大值為100,缺省值為12.
注意:在公式內(nèi)即使你定義了某種顏色,在顯示的時候也未必是此種顏色,取決于背景顏色當(dāng)前頁面里是否保了該指標(biāo)的顏色及您是否在顯示的時候改變了該指標(biāo)的顏色設(shè)置。
歡迎交流::419549257Q群:138709040
(四)編輯平臺的語法
1、關(guān)于公式名稱:
公式的名稱不可以和已經(jīng)存在的公式重復(fù)。
2、關(guān)于參數(shù):
每個自編公式最多可以定義四個參數(shù),參數(shù)的定義如下,首先是參數(shù)名稱,然后是參數(shù)的最小值,最大值,最終是參數(shù)的默認(rèn)值。在定義參數(shù)時要注意的是參數(shù)名稱不可以重復(fù)。
3、關(guān)于變量名稱:
變量名稱不可以相互重復(fù),不可以和參數(shù)名重復(fù),不可以和函數(shù)名稱重復(fù)。
4、關(guān)于公式內(nèi)容:
公式的每個語句應(yīng)當(dāng)以分號終止,包括最終一條語句。在數(shù)據(jù)公式的時候請您注意一定要使用半角輸入。在編寫公式的過程中,假使您不記得某個函數(shù)的確鑿寫法,可以選擇插入函數(shù)來插入函數(shù)。
5、假使您在編寫公式之后,想給這個公式加上解釋,說明之類的東西,可以使用公式說明來輸入。
(五)編輯平臺使用的交易指令交易模型中的交易指令如下:圖示指令意義
BK買開指令
BP買平指令
SK賣開指令
SP賣平指令
BPK買平同時等價等量買開指令
SPK賣平同時等價等量賣開指令
套利模型中的交易指令如下:圖示指令意義
BKSK甲合約買開;乙合約賣開信號
BPSP甲合約買平;乙合約賣平信號
SKBK甲合約賣開;乙合約買開信號
SPBP甲合約賣平;乙合約買平信號
請注意,在效果測試使用如下機(jī)制:
連續(xù)的開倉指令只使用第一個指令進(jìn)行開倉,開倉時使用當(dāng)時的全部資金,連續(xù)的平倉指令,只有第一個有效,平掉當(dāng)時的全部持倉,其他的平倉指令算做錯誤指令!
(六)快速入門
1、如何把熟悉的技術(shù)指標(biāo)轉(zhuǎn)換成交易模型?
第一步:把KDJ指標(biāo)公式COPY過來。
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;//{算出(收盤價-N周期內(nèi)的最低價)/(N周期的最高價—N周期內(nèi)的最低價)*100的值,用RSV來表示。}BACKGROUNDSTYLE(1);{確定背景的樣式,(鈍化)}
K:SMA(RSV,M1,1),COLORWHITE;//{RSV的移動加權(quán)平均的值用K表示,并且畫白色的線。}
D:SMA(K,M2,1),COLORYELLOW;//{K的移動加權(quán)平均的值用D表示,并且畫黃色的線。}J:3*K-2*D,COLORMAGENTA;//{3倍的K減去2倍的D的值用J表示,并且畫紫色的線。}
其次步:原有公式主要是畫線,所以稍作修改。如下:
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;//{第一行不需要修改}//{其次行刪除,在交易模型中不用鈍化}
K:=SMA(RSV,M1,1);//{在“:〞后加上“=〞變?yōu)橹欢x不用畫線,所以把后面的顏色函數(shù)(COLORWHITE)也去掉}D:=SMA(K,M2,1);//{同上}J:=3*K-2*D;//{同上}
第三步:把自己總結(jié)的交易條件寫上,就可完成交易模型。如下:RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;K:=SMA(RSV,M1,1);D:=SMA(K,M2,1);J:=3*K-2*D;
CROSS(K,D),BK;//{K向上穿越D,發(fā)出買開交易指令}CROSS(J,100),SP;//{J向上穿越100,發(fā)出賣平交易指令}CROSS(D,K),SK;//{K向下穿越D,發(fā)出賣開交易指令}CROSS(0,J),BP;//{J向下穿越0,發(fā)出買平交易指令}//后為文字說明,編寫模型時不用寫出
2、如何編制交織(金叉/死叉)類型的交易模型?
MA5:=MA(CLOSE,5);//{5個周期收盤價的簡單移動平均}MA10:=MA(CLOSE,10);//{10個周期收盤價的簡單移動平均}MA20:=MA(CLOSE,20);//{20個周期收盤價的簡單移動平均}
CROSS(MA10,MA20),BK;//{當(dāng)MA10上穿MA20時,發(fā)出買入開倉交易指令}CROSS(MA10,MA5),SP;//{當(dāng)MA10上穿MA5時,發(fā)出賣出平倉交易指令}CROSS(MA20,MA10),SK;//{當(dāng)MA20上穿MA10時,發(fā)出賣出開倉交易指令}CROSS(MA5,MA10),BP;//{當(dāng)MA5上穿MA10時,發(fā)出買入平倉交易指令}//后為文字說明,編寫模型時不用寫出}
3、如何編制多條件類型的交易模型?
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;K:=SMA(RSV,3,1);D:=SMA(K,3,1);
J:=3*K-2*D;//{以上為KDJ公式}MA5:=MA(CLOSE,5);
MA10:=MA(CLOSE,10);//{以上為定義5個周期收盤價的簡單移動平均和10個周期收盤價的簡單移動平均}
(CROSS(MA5,MA10)//{5周期均線上穿10周期均線并且前一個周期的J值(KDJ)少于70或者KD金叉時并且J值小于30時發(fā)出買入開倉交易指令}
CROSS(D,K)//{KD出現(xiàn)死叉并且前一個周期J值大于70時發(fā)出賣出平倉交易指令}
(CROSS(MA10,MA5)//{5周期均線下叉10周期均線并且前一個周期的J值(KDJ)大于30或者KD死叉時并且J值大于70時發(fā)出賣出開倉交易指令}
CROSS(K,D)//{KD出現(xiàn)金叉并且前一個周期J值小于30時發(fā)出買入平倉交易指令}{{}內(nèi)為文字說明,編寫模型時不用寫出}
4、如何編制REF(X,N)類型的交易模型?
A:=OPEN-(((REF(HIGH,1)-REF(LOW,1))+(REF(HIGH,2)-REF(LOW,2))+(REF(HIGH,3)-REF
(LOW,3))+(REF(HIGH,4)-REF(LOW,4)))/4)*1.8;//{A=當(dāng)前周期的開盤價-[(一個周期前的最高價減最低價的差+兩個周期前的最高價減最低價的差+三個周期前的最高價減最低價的差+四個周期前的最高價減最低價的差)/4]*1.8}
REF(CLOSE,1)REF(CLOSE,2)//{連續(xù)四個周期的收盤價大于前一周期的收盤價并且當(dāng)前周期的收盤價小于等于A時,發(fā)出賣平并且賣開(反手)交易指令}{{}內(nèi)為文字說明,編寫模型時不用寫出}
5、如何編制價差類型的交易模型?
MA5:=MA(CLOSE,5);//{5個周期收盤價的簡單移動平均}MA10:=MA(CLOSE,10);//{10個周期收盤價的簡單移動平均}
CROSS(MA10,MA5)||(CLOSE-MA5)>8,SK;//{10周期均線上穿5周期均線或者收盤價與5周期均線的差值大于8時,發(fā)出賣出開倉交易指令}
(MA5-CLOSE)>6,BP;//{5周期均線與收盤價的差值大于6時,發(fā)出買入平倉交易指令}CROSS(MA5,MA10)||(MA5-CLOSE)>8,BK;//{5周期均線上穿10周期均線或者收盤價與5周期均線的差值大于8時,發(fā)出買入開倉交易指令}
(CLOSE-MA5)>6,SP;//{收盤價與5周期均線的差值大于6時,發(fā)出賣出平倉交易指令}{{}內(nèi)為
文字說明,編寫模型時不用寫出}
6、如何編制簡單價差類型的套利模型?
CROSS(300,CLOSE),BKSK;//{CLOSE為兩個品種的價差。當(dāng)價差小于300時,買入開倉前一品種,賣出開倉后一品種}
CROSS(CLOSE,500),SPBP;//{當(dāng)價差大于500時,賣出平倉前一品種,買入平倉后一品種}CROSS(CLOSE,600),SKBK;//{當(dāng)價差大于600時,賣出開倉前一品種,買入開倉后一品種}CROSS(400,CLOSE),BPSP;//{當(dāng)價差小于400時,買入平倉前一品種,賣出平倉后一品種}
7、如何編制組合類型的套利模型?
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;K:=SMA(RSV,M1,1);D:=SMA(K,M2,1);
J:=3*K-2*D;//{以上為KDJ公式}
CLOSE600//{當(dāng)價差大于600并且D上穿K時,賣出開倉前一品種,買入開倉后一品種}
CROSS(400,CLOSE)||CROSS(K,D),BPSP;//{當(dāng)價差下穿400或者K上穿D時,買入平倉前一品種,賣出平倉后一品種}
(七)技術(shù)指標(biāo)模型大全
1ADTM模型
DTM:=IFELSE(OPEN=REF(OPEN,1),0,MAX((OPEN-LOW),(OPEN-REF(OPEN,1))));STM:=SUM(DTM,N);SBM:=SUM(DBM,N);
ADTM:=IFELSE(STM>SBM,(STM-SBM)/STM,IFELSE(STM=SBM,0,(STM-SBM)/SBM));ADTMMA:=MA(ADTM,M);ADTMMAQ,SPK;
2ARBR模型
AR:=SUM(HIGH-OPEN,N)/SUM(OPEN-LOW,N)*100;
BR:=SUM(MAX(0,HIGH-REF(CLOSE,1)),N)/SUM(MAX(0,REF(CLOSE,1)-LOW),N)*100;(BRP//M周期內(nèi)BR急速上升,AR盤整小回時,應(yīng)逢高賣出,及時了結(jié)。
3ASI模型
LC:=REF(CLOSE,1);AA:=ABS(HIGH-LC);BB:=ABS(LOW-LC);
CC:=ABS(HIGH-REF(LOW,1));DD:=ABS(LC-REF(OPEN,1));
R:=IFELSE(AA>BB
X:=(CLOSE-LC+(CLOSE-OPEN)/2+LC-REF(OPEN,1));SI:=16*X/R*MAX(AA,BB);ASI:=SUM(SI,0);
ASI>REF(ASI,1),BPK;//當(dāng)前周期ASI指標(biāo)數(shù)值大于前一周期開多;ASIMA(C,10)//在上升通道中,ATR真實(shí)波幅向上時,且白線上穿黃線,此時K線收陰者買入開倉;
CROSS(MA(C,10),C),SP;//當(dāng)價格下穿10周期均線平多倉。
5B3612模型
B36:=MA(CLOSE,3)-MA(CLOSE,6);B612:=MA(CLOSE,6)-MA(CLOSE,12);
B36REF(B36,1)//本周期B36與B612分別小于前一周期B36與B612時平多開空。
6BBI模型
BBI1:=(MA(CLOSE,N1)+MA(CLOSE,N2)+MA(CLOSE,N3)+MA(CLOSE,N4))/4;MA54:=MA(C,54);//以MA54來判斷當(dāng)前價格處于高價區(qū)還是低價區(qū)。CMA54
7BIAS模型
BIAS1:=(CLOSE-MA(CLOSE,L1))/MA(CLOSE,L1)*100;
BIAS1>M1BIAS1P
8BOLL模型
MID:=MA(CLOSE,N);TMP2:=STD(CLOSE,M);TOP:=MID+P*TMP2;
BOTTOM:=MID-P*TMP2;A:=TOP-C;
B:=C-BOTTOM;
CROSS(C,BOTTOM),BPK;CROSS(TOP,C),SPK;
9CCI模型
TYP:=(CLOSE+HIGH+LOW)/3;
CCI:=(TYP-MA(TYP,N))/(0.015*AVEDEV(TYP,N));
CROSS(CCI,100),BK;//CCI從+100~-100的常態(tài)區(qū),由下往上突破+100天線時,為買入開倉。
CROSS(100,CCI),SP;//CCI從+100天線之上,由上往下跌破天線時,為賣出平倉。
CROSS(100,CCI),SK;//CCI從+100~-100的常態(tài)區(qū),由上往下跌破-100地線時,為賣出開倉。
CROSS(CCI,100),BP;//CCI從-100下方,由下往上突破-100地線時,為買入平倉。
10CDPV日內(nèi)模型
PT:=REF(HIGH,1)-REF(LOW,1);
CDP:=(REF(HIGH,1)+REF(LOW,1)+REF(CLOSE,1))/3;AH:=MA(CDP+PT,N);AL:=MA(CDP-PT,N);NH:=MA(2*CDP-LOW,N);NL:=MA(2*CDP-HIGH,N);
NQ:=(AH+AL+NH+NL)/4;//計算出CDP中四條指標(biāo)線的均值NQ
NQ>LLV(NQ,M)*(1+M1*0.001)//當(dāng)NQ上漲超過前M周期最低值的千分之M1,買開;
NQ=1455,SP;//當(dāng)NQ下跌超過前M周期最高值的千分之M1,賣開;
NQLLV(NQ,M)*(1+M1*0.001)||TIME>=1455,BP;//當(dāng)NQ上漲超過前M周期最低值的千分之M1,買開。
11CDP日內(nèi)模型
PT:=REF(HIGH,1)-REF(LOW,1);
CDP:=(REF(HIGH,1)+REF(LOW,1)+REF(CLOSE,1))/3;AH:=MA(CDP+PT,N);AL:=MA(CDP-PT,N);NH:=MA(2*CDP-LOW,N);NL:=MA(2*CDP-HIGH,N);
NQ:=(AH+AL+NH+NL)/4;//計算出CDP中四條指標(biāo)線的均值NQ
NQ>LLV(NQ,M)*(1+M1*0.001),BPK;//當(dāng)NQ上漲超過前M周期最低值的千分之P,買平開;NQLLV(NQ,M)*(1+M1*0.001),BPK;//當(dāng)NQ上漲超過前M周期最低值的千分之M1,買平開;
NQN2,SPK;//CR下跌超過N2時,賣平開。
14說明文中“//〞后面的文字是講解,實(shí)際編寫與測試過程中,不用編寫。15DBCD模型
BIAS:=(CLOSE-MA(CLOSE,N))/MA(CLOSE,N);DIF:=(BIAS-REF(BIAS,M));DBCD:=SMA(DIF,T,1);
MM:=100000*MA(DBCD,5);MM>REF(MM,1),BPK;MM=(REF(HIGH,1)+REF(LOW,1)),0,MAX(ABS(HIGH-REF(HIGH,1)),ABS(LOW-REF(LOW,1))));
DIZ:=SUM(DMZ,N)/(SUM(DMZ,N)+SUM(DMF,N));DIF:=SUM(DMF,N)/(SUM(DMF,N)+SUM(DMZ,N));DDI:=DIZ-DIF;
DDI>0,BPK;//DDI大于零平空開多;DDI0DMM:=SMA(IFELSE(LD>0PDI:=DMP*100/TR;MDI:=DMM*100/TR;
ADX:=SMA(ABS(MDI-PDI)/(MDI+PDI)*100,N,1);
ADXR:=(ADX+REF(ADX,M))/2;
CROSS(PDI,MDI),BK;//PDI上穿MDI開多倉。CROSS(MDI,PDI),SK;//PDI下穿MDI開空倉。
ADX0DMM:=SMA(IFELSE(LD>0PDI:=DMP*100/TR;MDI:=DMM*100/TR;
ADX:=SMA(ABS(MDI-PDI)/(MDI+PDI)*100,N,1);ADXR:=(ADX+REF(ADX,M))/2;
CROSS(PDI,MDI)//PDI上穿MDI開多倉。CROSS(MDI,PDI)//PDI下穿MDI開空倉。
ADX=1450,BP;//當(dāng)ADX回落超過前N0周期內(nèi)的M0%時平多倉?;蚴毡P前平倉。
ADX=1450,SP;//當(dāng)ADX回落超過前N0周期內(nèi)的M0%時平空倉?;蚴毡P前平倉
20DPO模型
DPO:=CLOSE-REF(MA(CLOSE,20),11);
CROSS(DPO,O),BK;//當(dāng)DPO指標(biāo)數(shù)值上穿0線,開多倉。
DPOLLV(DPO,N)*(1-0.01*M),BP;//當(dāng)DPO指標(biāo)上漲超過N日最低點(diǎn)的M%時平空倉。
21EMA2模型
EMA210:=EMA2(CLOSE,10);//定義10周期收盤價的加權(quán)平均值。EMA220:=EMA2(CLOSE,20);//定義20周期收盤價的加權(quán)平均值。
CROSS(EMA210,EMA220),BK;//10周期均線上穿20周期均線,發(fā)出買入開倉指令。CROSS(EMA220,EMA210),SK;//10周期均線下穿20周期均線,發(fā)出賣出開倉指令。
EMA210REF(EMA210,1)//10周期均線和20周期均線都下降時,發(fā)出平空倉指令。
22EMA模型
EMA10:=EMA(CLOSE,10);//定義10周期收盤價的指數(shù)平滑移動平均值。EMA20:=EMA(CLOSE,20);//定義20周期收盤價的指數(shù)平滑移動平均值。
CROSS(EMA10,EMA20),BK;//10周期均線上穿20周期均線,發(fā)出買入開倉指令。CROSS(EMA20,EMA10),SK;//10周期均線下穿20周期均線,發(fā)出賣出開倉指令。
EMA10REF(EMA10,1)//10周期均線和20周期均線都上升時,發(fā)出平空倉指令。
23ENV模型
UPPER:=MA(CLOSE,N1)*(1+N2/100);LOWER:=MA(CLOSE,N1)*(1-N2/100);//以上為ENV公式
CROSS(CLOSE,UPPER),BPK;//收盤價上穿UPPER,買平并買開。CROSS(LOWER,CLOSE),SPK;//收盤價下穿LOWER,賣平并賣開。
24EXPMA模型
MA1:=EMA(CLOSE,P1);MA2:=EMA(CLOSE,P2);MA3:=EMA(CLOSE,P3);MA4:=EMA(CLOSE,P4);//以上為EXPMA指標(biāo)
CROSS(MA2,MA3)//當(dāng)MA2上穿MA3,并且收盤價大于MA4,發(fā)出買入開倉交易指令。
CROSS(MA2,MA1),SP;
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年食品原料采購合同規(guī)范范本2篇
- 2025年度物流園區(qū)綠色物流推廣承包合同3篇
- 2025年度環(huán)保型批灰技術(shù)合作合同協(xié)議
- 二零二五年度旅行社與旅游保險合作框架協(xié)議3篇
- 二零二五年度不動產(chǎn)抵押貸款債權(quán)讓與合同模板3篇
- 二零二五版綠城物業(yè)智能安防系統(tǒng)升級合同4篇
- 2025版全新注塑機(jī)購銷合同(含設(shè)備安裝與調(diào)試)
- 2025年食品添加劑與添加劑原料供貨協(xié)議書3篇
- 2025版小額貸款公司合作協(xié)議范本2篇
- 二零二五年度企業(yè)員工溝通技巧培訓(xùn)合同8篇
- 室上性心動過速-醫(yī)學(xué)課件
- 建設(shè)工程法規(guī)及相關(guān)知識試題附答案
- 中小學(xué)心理健康教育課程標(biāo)準(zhǔn)
- 四年級上冊脫式計算400題及答案
- 新課標(biāo)人教版小學(xué)數(shù)學(xué)六年級下冊集體備課教學(xué)案全冊表格式
- 人教精通版三年級英語上冊各單元知識點(diǎn)匯總
- 人口分布 高一地理下學(xué)期人教版 必修第二冊
- 教案:第三章 公共管理職能(《公共管理學(xué)》課程)
- 諾和關(guān)懷俱樂部對外介紹
- 玩轉(zhuǎn)數(shù)和形課件
- 保定市縣級地圖PPT可編輯矢量行政區(qū)劃(河北省)
評論
0/150
提交評論