麥語言程序化模型的編寫課件_第1頁
麥語言程序化模型的編寫課件_第2頁
麥語言程序化模型的編寫課件_第3頁
麥語言程序化模型的編寫課件_第4頁
麥語言程序化模型的編寫課件_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、“麥語言”(My language)編寫文華財經(jīng) 研究部課程內(nèi)容一、模型的基本結(jié)構(gòu)和跨指標模型的編寫二、跨周期模型的編寫三、模型中資金管理的編寫贏智“麥語言” MY language MY 語言的編寫基于文華財經(jīng)wh3平臺中。通過本節(jié)課的學(xué)習(xí),了解文華公式編寫平臺的基本函數(shù)與語法,設(shè)計自己的指標和程序化交易策略模型,實現(xiàn)全自動的委托發(fā)單交易。理解并規(guī)范使用技術(shù)指標,交易模型等以下名詞: 泛指指標、模型。沒有具體指向性。指標 指能夠繪出圖線但不發(fā)交易指令的公式。指標是一個技術(shù)分析范疇的概念。交易信號 指指標上出現(xiàn)的提示投資者買賣的指示,可以是圖線交叉、文字、圖形。投資者需要按照信號指示去手動委托

2、下單。交易信號也是一個技術(shù)分析范疇的概念。公式:交易模型: 指能夠發(fā)出BK、SP等交易指令,模型還包含下單方向,交易手數(shù),止盈止損等與交易、資金使用相關(guān)的參數(shù)設(shè)置。交易模型是一個交易范疇的概念。交易指令: 指交易模型自動發(fā)出的下單委托指令,可以不經(jīng)過投資者確認直接下單,也可以等待投資者回車確認再下單。交易指令在K線圖上以不同顏色和形狀的箭頭來代表。交易指令是一個程序化交易范疇的概念。例如編寫KDJ指標: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;用指標監(jiān)測行

3、情:K線上穿D線將指標轉(zhuǎn)化為模型: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ā)出買平交易指令A(yù)UTOFILTER;運作模型: 一、模型的基本結(jié)構(gòu)和跨指標模型的編寫1、模型編寫的語法與操作符 MY langu

4、age 編寫語法MY language 操作符1、命名部分:支持漢字、字母、數(shù)字、劃線格式命名,長度控制在31字符內(nèi)。命名不能和已存在的公式名稱重復(fù);2、定義變量名稱變量名稱不能相互重復(fù);不能與參數(shù)名重復(fù);不能與函數(shù)名重復(fù);3、半角輸入法的大寫狀態(tài);4、每個語句應(yīng)該以分號結(jié)束;MY language 編寫語法:5、參數(shù)部分:可以設(shè)置六個參數(shù)首先是參數(shù)名稱,然后是參數(shù)的最小值,最大值,最后是參數(shù)的默認值。在定義參數(shù)時要注意的是參數(shù)名稱不可以重復(fù),12個字符內(nèi)6、運用函數(shù)語言,也就是表達你的語言函數(shù)具有自己的表達式,運行它就需要將我們的思路,按照函數(shù)的表達式套用表述。MY language 編寫語

5、法:命名參數(shù)模型源碼MY language 操作符如何運用操作符:A:(O+C)/2;B:CO; /判斷是否收陽;滿足條件返回1,否則返回0D:TIME=0900&CO; /用于多條件邏輯關(guān)系MA5:=MA(C,5);MA10:=MA(C,10);CROSS(MA5,MA10);其他:注釋或者舍去想要在編寫后,加入自己的語言注釋,在結(jié)尾處用“/”表示;或者想舍去某段,在某段在最前端加入“/”;IFELSE(C,A,B)如果條件C成立則返回A值,否則返回B值編寫練習(xí):SETTLE引用結(jié)算價REF(X,N)引用X在N個周期前的值MA(X,N) 求X在N周期內(nèi)的簡單移動平均。定義變量:當(dāng)根K線最高價

6、;結(jié)算價:15周期收盤價均線(顯示定義);REF(HH,1);REF(MA15,1);HH:=H;S:=SETTLE;MA15:MA(C,15);衍生:當(dāng)前K線的前一個周期最高價; 當(dāng)前K線的前一個周期15均線; 在編寫前,需要將交易思想清晰量化后,通過語言函數(shù)編寫完成交易模型基本結(jié)構(gòu)1.定義需要的每個變量2.交易條件+交易指令2、模型的基本結(jié)構(gòu) MA5:=MA(C,5);MA10:=MA(C,10);MA20:=MA(C,20);CROSS(MA5,MA10),BK;CROSS(MA10,MA5),SP;CROSS(MA10,MA5),SK;CROSS(MA5,MA10),BP;定義思路中涉

7、及到的變量交易條件,寫入交易指令模型中使用的交易指令編寫練習(xí):關(guān)鍵字:反手指令均線上穿平空做多,均線下穿平多做空;CROSS(MA5,MA10),BPK;CROSS(MA10,MA5),SPK;具體細化思路:5日均線上穿10日均線,平空做多;5日均線下穿10日均線,平多做空;模型中跨指標,是將多個指標交易思想結(jié)合在一起進行看盤斷勢。關(guān)鍵詞:多個交易條件1:以均線結(jié)合KD交叉指標為例:2:練習(xí)編寫:MACD、KDJ指標模型。3、跨指標模型的編寫 均線結(jié)合KD交叉指標模型:MA5:=MA(C,5);MA10:=MA(C,10);MA5MA10,BK;/5日均線大于10日均線買入。MA5MA10&C

8、ROSS(K,D),BK;/5日均線大于10日均線或者KD金叉買入MA5MA10&CROSS(D,K),SP;/10日均線大于5日均線或者KD死叉賣出AUTOFILTER;MACD、KDJ指標模型:DIFF := EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);DEA := EMA(DIFF,N);MACD:=2*(DIFF-DEA);RSV:=(CLOSE-LLV(LOW,N)/(HHV(HIGH,N)-LLV(LOW,N)*100;K:=SMA(RSV,M1,1);D:=SMA(K,M1,1);J:=3*K-2*D;(CROSS(K,D)&J1),BK;(CROSS(

9、D,K)&REF(J,1)70)|(CROSS(DEA,DIFF)&MACD70)|(CROSS(DEA,DIFF)&MACD-1),SK;(CROSS(K,D)&REF(J,1)1),BP; AUTOFILTER;總結(jié):多條件下用“()”明確邏輯關(guān)系 二、跨周期模型的編寫跨周期函數(shù)介紹引用某品種在某個周期上加載了某個指標的數(shù)據(jù)。用法:#IMPORT CODE, PERIOD, FORMULA AS VAR引用 CODE 所對應(yīng)的合約 PERIOD 周期下指標 FORMULA 的數(shù)據(jù)。CODE 文華碼,PERIOD 周期,F(xiàn)ORMULA 引用指標名,VAR 定義變量名跨周期跨合約模型的編寫規(guī)則

10、1.只能引用 .FML/.XFML文件 2.只能引用如下周期:MIN1 MIN3 MIN5 MIN15 MIN30 HOUR1 DAY WEEK MONTH 3.只能短周期引用長周期4.被引用的指標中不能存在引用5.如果不寫文華碼,默認引用當(dāng)前合約,也可以直接寫合約代碼如:rb12016.FORMULA 引用指標名,只能引用除數(shù)字、或者數(shù)字開頭的名稱之外的名稱。例 同一合約不同周期的數(shù)據(jù)調(diào)用要求當(dāng)日均線出現(xiàn)多頭排列時, 5分鐘KD線金叉,做多。當(dāng)日均線出現(xiàn)空頭排列時, 5分鐘KD線死叉,做空。先建立一個指標 名稱AAAMA5:=MA(C,5);MA10:=MA(C,10);MA30:=MA(C

11、,30);在建立你的模型#IMPORT , DAY,AAA AS VARDM5:=VAR.MA5;DM10:=VAR.MA10;DM30:=VAR.MA40;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;DM5DM10&DM10DM30&CROSS(K,D),BPK;DM5DM10&DM10RM10&CROSS(MA5,MA10)&TIME1450,BK;(RM5=1450,SP;RM5RM10&CROSS(MA10,MA5)&TIMERM10&CROSS(M

12、A5,MA10)|TIME=1450,BP;AUTOFILTER;思考:不同合約的數(shù)據(jù)如何調(diào)用 三、模型中資金管理的編寫1、頭寸函數(shù)函數(shù)介紹ISLASTBK判斷上一個交易信號是否是BK。用法:ISLASTBK 如果上一個交易信號是BK則返回1(Yes),否則返回0(No)ISLASTSK判斷上一個交易信號是否是SK。用法:ISLASTSK 如果上一個交易信號是SK則返回1(Yes),否則返回0(No)ISLASTBP判斷上一個交易信號是否是BP。用法:ISLASTBP 如果上一個交易信號是BP則返回1(Yes),否則返回0(No)ISLASTSP判斷上一個交易信號是否是SP。用法:ISLAST

13、SP 如果上一個交易信號是SP則返回1(Yes),否則返回0(No)ISLASTBPK判斷上一個交易信號是否是BPK。用法:ISLASTBPK 如果上一個交易信號是BPK則返回1(Yes),否則返回0(No)ISLASTSPK判斷上一個交易信號是否是SPK。用法:ISLASTSPK 如果上一個交易信號是SPK則返回1(Yes),否則返回0(No)BARSBK上一次買開信號位置用法:BARSBK返回上一次買開倉距離當(dāng)前k線的k線數(shù)。BARSSK上一次賣開信號位置用法:BARSSK返回上一次賣開倉距離當(dāng)前k線的k線數(shù)。BARSBP上一次買平信號位置用法:BARSBP返回上一次買平倉距離當(dāng)前k線的k

14、線數(shù)。BARSSP上一次賣平信號位置用法:BARSSP返回上一次賣平倉距離當(dāng)前k線的k線數(shù)。BKPRICE買開信號位置的買開信號價位。用法:BKPRICE返回最近一次模型買開位置的買開信號價位。例如: BKPRICE-CLOSE60 & BKPRICE0, SP;/如果買開價位比當(dāng)前價位高出60,且買開價位存在,賣平倉請注意當(dāng)模型存在連續(xù)多個開倉信號(加倉)的情況下,該函數(shù)返回的是最后一次開倉信號的價格,而不是開倉均價。注:BKPRICE 只在加載之后的K線上才返回信號價位,歷史K線信號由于無信號價位會返回0,使用時請注意判斷BKPRICE0。效果測試中該函數(shù)返回信號位置的收盤價SKPRICE

15、賣開信號位置的賣開信號價位用法:SKPRICE返回最近一次模型賣開位置的賣開信號價位。例如:CLOSE-SKPRICE60 & SKPRICE0, BP;/如果當(dāng)前價位高出賣開價位60, 且賣開價位存在, 買平倉請注意當(dāng)模型存在連續(xù)多個開倉信號(加倉)的情況下,該函數(shù)返回的是最后一次開倉信號的價格,而不是開倉均價。注:SKPRICE 只在加載之后的K線上才返回信號價位,歷史K線信號由于無信號價位會返回0,使用時請注意判斷SKPRICE0。效果測試中該函數(shù)返回信號位置的收盤價FEE合約手續(xù)費用法:FEE返回當(dāng)前合約的手續(xù)費(用戶啟動模組時設(shè)置的)。注意不能與未來函數(shù)同時使用如ISLASTBAR,

16、EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等本函數(shù)運算量很大,將占用很多的CPU資源,導(dǎo)致行情刷新速度變慢,請謹慎使用!MONEY虛擬資金余額用法:MONEY返回虛擬資金余額。注意與未來函數(shù)同時使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能會導(dǎo)致誤差。MARGIN合約保證金用法:MARGIN返回當(dāng)前合約的保證金比率(用戶啟動模組時設(shè)置的)。注意與未來函數(shù)同時使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,

17、PEAKBARS,TROUGH,TROUGHBARS,REFX等可能會導(dǎo)致誤差。VOLMARGIN持倉保證金用法:VOLMARGIN計算當(dāng)前的持倉保證金。注意與未來函數(shù)同時使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能會導(dǎo)致誤差。MONEYRATIO資金使用率用法:MONEYRATIO返回當(dāng)前的虛擬資金的使用率。注意與未來函數(shù)同時使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能會導(dǎo)致誤差。MONEYTOT虛

18、擬總資金用法:MONEYTOT返回當(dāng)前虛擬總資金(虛擬資金余額+持倉保證金)。注意與未來函數(shù)同時使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能會導(dǎo)致誤差。PROFIT虛擬逐筆浮盈用法:PROFIT返回當(dāng)前的虛擬逐筆浮動盈虧。注意與未來函數(shù)同時使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能會導(dǎo)致誤差。SETDEALPERCENT設(shè)置下單的虛擬資金使用比例用法:SETDEALPERCENT(fPercent)表示每次按資金的fPercent(范圍1100)下單。例子:SETDEALPERCENT(20); /每次按資金比例的%20下單注:應(yīng)該與AUTOFILTER函數(shù)同時使用BUYVOL模型虛擬多頭持倉用法:BUYVOL返回模型虛擬多頭持倉。注意與未來函數(shù)同時使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能會導(dǎo)致誤差。SELLVO

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論