文華財經(jīng) 程序化指標(biāo)_第1頁
文華財經(jīng) 程序化指標(biāo)_第2頁
文華財經(jīng) 程序化指標(biāo)_第3頁
文華財經(jīng) 程序化指標(biāo)_第4頁
文華財經(jīng) 程序化指標(biāo)_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論