麥語言模型編寫_第1頁
麥語言模型編寫_第2頁
麥語言模型編寫_第3頁
麥語言模型編寫_第4頁
麥語言模型編寫_第5頁
已閱讀5頁,還剩35頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、“麥語言麥語言”(My language)文華財經文華財經 谷學友谷學友課程內容課程內容一、模型的基本結構和跨指標模型的編寫一、模型的基本結構和跨指標模型的編寫二、跨周期模型的編寫二、跨周期模型的編寫三、資金管理和止損模型的編寫三、資金管理和止損模型的編寫贏智“麥語言” MY language MY 語言的編寫基于文華財經wh3平臺中。通過本節課的學習,了解文華公式編寫平臺的基本函數與語法,設計自己的指標和程序化交易策略模型,實現全自動的委托發單交易。指標指標 指能夠繪出圖線但不發交易指令的公式。指標是一個技術分析范疇的概念。交易模型:交易模型: 指能夠發出BK、SP等交易指令,模型還包含下單

2、方向,交易 手數,止盈止損等與交易、資金使用相關的參數設置。交易模型是一個交易范疇的概念。交易指令:交易指令: 指交易模型自動發出的下單委托指令,可以不經過投資者確認直接下單,也可以等待投資者回車確認再下單。交易指令在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;用指標監測行情:K線上穿D線將指標轉化為模型:RSV:=(CLOSE-LLV(LO

3、W,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,發出買開交易指令CROSS(J,100),SP;/J向上穿越100,發出賣平交易指令CROSS(D,K),SK;/K向下穿越D,發出賣開交易指令CROSS(0,J),BP;/J向下穿越0,發出買平交易指令AUTOFILTER;運作模型: 一、模型的基本結構和跨指標模型的編寫1、模型編寫的語法與操作符 MY language 編寫語法MY language 操作符1、命名部分:支持漢字、

4、字母、數字、劃線格式命名,長度控制在31字符內;命名不能和已存在的公式名稱重復。2、定義變量名稱變量名稱不能相互重復;不能與參數名重復;不能與函數名重復。3、半角輸入法的大寫狀態。4、每個語句應該以分號結束。MY language 編寫語法:5、參數部分: 可以設置六個參數; 首先是參數名稱,然后是參數的最小值,最大值,最后是參數的默認值; 在定義參數時要注意的是參數名稱不可以重復,12個字符內。6、注釋或者舍去 想要在編寫后,加入自己的語言注釋,在結尾處用“/”表示;或者想舍去某段,在某段在最前端加入“/”;MY language 編寫語法:命名命名參數參數模型源碼模型源碼MY langua

5、ge 操作符如何運用操作符:A:(O+C)/2;B:CO; /判斷是否收陽;滿足條件返回1,否則返回0D:TIME=0900&CO; /用于多條件邏輯關系在編寫前,需要將交易思想清晰量化后,通過語言函數編寫完成交易模型基本結構交易模型基本結構1.1.定義需要的每個變量定義需要的每個變量2.2.交易條件交易條件+ +交易指令交易指令2、模型的基本結構 模型中使用的交易指令MA5:=MA(C,5);MA10:=MA(C,10);CROSS(MA5,MA10),BK;CROSS(MA10,MA5),SP;CROSS(MA10,MA5),SK;CROSS(MA5,MA10),BP;定義思路中涉

6、及到的變量交易條件,寫入交易指令模型中跨指標,是將多個指標交易思想結合在一起進行看盤斷勢。關鍵詞:關鍵詞:多個交易條件多個交易條件1:以均線結合KD交叉指標為例:2:練習編寫:MACD、KDJ指標模型。3、跨指標模型的編寫 均線結合KD交叉指標模型:MA5:=MA(C,5);MA10:=MA(C,10);MA5MA10,BK;/5日均線大于10日均線買入。MA5MA10&CROSS(K,D),BK;/5日均線大于10日均線并且KD金叉買入MA5MA10&CROSS(D,K),SP;/10日均線大于5日均線并且KD死叉賣出AUTOFILTER;MACD、KDJ指標模型:DIFF

7、:= 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(D,K)&REF(J,1)70)|(CROSS(DEA,DIFF)&MACD70)|(CROSS(DEA,DIFF)&MACD-1),SK;(CROSS(K,D)&RE

8、F(J,1)1),BP; AUTOFILTER;總結:多條件下用“()”明確邏輯關系 二、跨周期模型的編寫二、跨周期模型的編寫跨周期函數介紹跨周期函數介紹引用某品種在某個周期上加載了某個指標的數據。用法:#IMPORT CODE, PERIOD, FORMULA AS VAR引用 CODE 所對應的合約 PERIOD 周期下指標 FORMULA 的數據。CODE 文華碼,PERIOD 周期,FORMULA 引用指標名,VAR 定義變量名跨周期跨合約模型的編寫規則跨周期跨合約模型的編寫規則1.只能引用如下周期:MIN1 MIN3 MIN5 MIN10 MIN15 MIN30 HOUR1 DAY

9、WEEK MONTH 2.只能短周期引用長周期3.被引用的指標中不能存在引用4.如果不寫文華碼,默認引用當前合約,也可以直接寫合約代碼如:rb12015.FORMULA 引用指標名,只能引用除數字、或者數字開頭的名稱之外的名稱。例例 同一合約不同周期的數據調用同一合約不同周期的數據調用要求要求n當日均線出現多頭排列時, 5分鐘KD線金叉,做多。n當日均線出現空頭排列時, 5分鐘KD線死叉,做空。 三、資金管理和止損模型的編寫三、資金管理和止損模型的編寫課程內容課程內容1 1、頭寸函數介紹、頭寸函數介紹2 2、資金管理,止盈止損模型的編寫思路及案例、資金管理,止盈止損模型的編寫思路及案例1 1、

10、常用頭寸函數介紹、常用頭寸函數介紹ISLASTBK判斷上一個交易信號是否是BK。用法:ISLASTBK 如果上一個交易信號是BK則返回1否則返回0ISLASTSK判斷上一個交易信號是否是SK。用法:ISLASTSK 如果上一個交易信號是SK則返回1,否則返回0BARSBK上一次買開信號位置用法:BARSBK返回上一次買開倉距離當前k線的k線數。BARSBK上一次買開信號位置用法:BARSBK返回上一次買開倉距離當前k線的k線數。BKPRICE買開信號位置的買開信號價位。用法:BKPRICE返回最近一次模型買開位置的買開信號價位。例如: BKPRICE-CLOSE60 , SP;/如果買開價位比

11、當前價位高出60,且買開價位存在,賣平倉請注意當模型存在連續多個開倉信號(加倉)的情況下,該函數返回的是最后一次開倉信號的價格,而不是開倉均價。注:BKPRICE 只在加載之后的K線上才返回信號價位。效果測試中該函數返回信號位置的收盤價SKPRICE賣開信號位置的賣開信號價位用法:SKPRICE返回最近一次模型賣開位置的賣開信號價位。例如:CLOSE-SKPRICE60 & SKPRICE0, BP;/如果當前價位高出賣開價位60, 且賣開價位存在, 買平倉請注意當模型存在連續多個開倉信號(加倉)的情況下,該函數返回的是最后一次開倉信號的價格,而不是開倉均價。注:SKPRICE 只在加

12、載之后的K線上才返回信號價位。效果測試中該函數返回信號位置的收盤價MONEY虛擬資金余額用法:MONEY返回虛擬資金余額。注意與未來函數同時使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能會導致誤差。MARGIN合約保證金用法:MARGIN返回當前合約的保證金比率(用戶啟動模組時設置的)。注意與未來函數同時使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能會導致誤差。PROFIT虛擬逐筆浮盈用法:PROFIT返

13、回當前的虛擬逐筆浮動盈虧。注意與未來函數同時使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能會導致誤差。SETDEALPERCENT設置下單的虛擬資金使用比例用法:SETDEALPERCENT(fPercent)表示每次按資金的fPercent(范圍1100)下單。例子:SETDEALPERCENT(20); /每次按資金比例的%20下單注:應該與AUTOFILTER函數同時使用BUYVOL模型虛擬多頭持倉用法:BUYVOL返回模型虛擬多頭持倉。注意與未來函數同時使用ISLASTBAR,EMA2,ZI

14、GZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能會導致誤差。SELLVOL模型虛擬空頭持倉用法:SELLVOL返回模型虛擬空頭持倉。注意與未來函數同時使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能會導致誤差。2、資金管理模型的編寫思路及案例、資金管理模型的編寫思路及案例利用頭寸函數實現對倉位的加減。利用頭寸函數實現對倉位的加減。例例1 加倉模型加倉模型A:=多頭開倉條件; A1:=多頭加倉條件;B:=空頭交易條件; B1:=空頭加倉條件;D:=

15、多頭平倉條件;E:=空頭平倉條件;A & NOT(ISLASTSK| ISLASTBK) , BK(2);B & NOT(ISLASTBK| ISLASTSK) , SK(2);BUYVOL2 & A1 & ISLASTBK , BK(1);SELLVOL2 & B 1& ISLASTSK , SK(1);D & ISLASTBK,SP(BUYVOL);E & ISLASTSK,BP(SELLVOL);注意,交易時要考慮前一信號方向防止鎖倉。注意,交易時要考慮前一信號方向防止鎖倉。例例2:對交易資金的管理:對交易資金的管理/過濾模

16、型過濾模型每次下單使用當時資金的每次下單使用當時資金的20%SETDEALPERCENT(20);DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);DEA:=EMA(DIFF,9);DIFF0&DEA0&CROSS(DEA,DIFF),SK;DIFF0&DEA0&DEA0&CROSS(DIFF,DEA),BK;DIFF0&DEA0&CROSS(DEA,DIFF),SP;AUTOFILTER;10日均線之上開多倉(開倉資金可用資金日均線之上開多倉(開倉資金可用資金20%),價格每上漲),價格每上漲10%止盈平止盈平倉倉50%倉位,上漲倉位,上漲20%止盈全部倉位。跌破止盈全部倉位。跌破5日線止損。日線止損。N為合約單位為合約單位 MA10:=MA(C,10);MA5:=MA(C,5);CROSS(C,MA10),BK(MONEY*0.2/(N*C*MARGIN);CROSS(C,BKPRICE*1.1),SP(BUYVOL*0.5);CROSS(C,BKPRICE*1.2),SP(BUYVOL);CROSS(MA5,C),S

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論