DF登峰經(jīng)典策略模型編寫介紹_第1頁
DF登峰經(jīng)典策略模型編寫介紹_第2頁
DF登峰經(jīng)典策略模型編寫介紹_第3頁
DF登峰經(jīng)典策略模型編寫介紹_第4頁
DF登峰經(jīng)典策略模型編寫介紹_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

DF登峰程序化交易平臺

經(jīng)典策略模型

----------------深圳登峰科技有限公司我有想法和理論,怎么變成DF策略呢?交易策略形象化交易策略 一個設計良好的交易系統(tǒng),必須對投資決策的各個相關環(huán)節(jié)做出相應明確的規(guī)定,同時還必須符合使用者的心理特征、投資對象的統(tǒng)計特征以及投資資金的風險特征。

------------《系統(tǒng)交易方法》R-BreakerR-Breaker

R-breaker是一個專門使用在股票指數(shù)上的交易系統(tǒng),該系統(tǒng)為日內交易策略,不持倉過夜。R-Breaker特點結合了趨勢和反轉兩種交易方法,既進行趨勢交易也進行反轉交易。觀察區(qū)R-Breaker交易原理R-Breaker交易系統(tǒng)的基本原理:當日內最高價超過觀察賣出價(Ssetup)后,盤中價格出現(xiàn)回落,且進一步跌破反轉賣出價(Senter)構成的支撐線時,采取反轉策略,即在該點位(反手、開倉)做空;當日內最低價低于觀察買入價(Bsetup)后,盤中價格出現(xiàn)反彈,且進一當日內最低價低于觀察買入價(Benter)后,盤中價格出現(xiàn)反彈,且進一步超過反轉買入價構成的阻力線時,采取反轉策略,即在該點位(反手、開倉)做多;在空倉的情況下,如果盤中價格超過突破買入價(Bbreak),則采取趨勢策略,即在該點位開倉做多;在空倉的情況下,如果盤中價格跌破突破賣出價(Sbreak),則采取趨勢策略,即在該點位開倉做空。設定止損條件。當虧損達到設定值后,平倉。設定過濾條件。當前一個交易日波幅過小,該交易日不進行交易。

在每日收盤前,對所持合約進行平倉。DF策略編寫---R-BreakerParams Numbernotbef(90000),notaft(145500),f1(0.35),f2(0.07),f3(0.25); Number

reverse0(1.00),rangemin(0.2),xdiv(3),lots(10),ATRLength(20),

TrailStop(3);

Vars ArraySeriesssetup(0),bsetup(0),senter(0),benter(0),bbreak(0),sbreak(0),ltoday(0),hitoday(9999); ArraySeries

startnow(0),div(0),rfilter(0),ATRValue(0),HiAfterEntry,LoAfterEntry; ArraySeries

ATRValue(0),HiAfterEntry,LoAfterEntry; Arrayi_reverse,i_rangemin,StopLine; BoolB0,B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,B13,B14,B15,B16,B17,B18,B19,B20;Begin ssetup=HIGHD(1)+f1*(CLOSED(1)-LOWD(1));

//昨日最高+0.35*(昨天收盤-昨天最低) senter=((1+f2)/2)*(HIGHD(1)+CLOSED(1))-(f2)*LOWD(1);

//((1+0.07)/2*(昨最高+昨最低)-0.07*昨天最低 benter=((1+f2)/2)*(LOWD(1)+CLOSED(1))-(f2)*HIGHD(1);

//((1+0.07)/2*(昨最高+昨最低)-0.07*昨天最高 bsetup=LOWD(1)-f1*(HIGHD(1)-LOWD(1));

//昨最低-0.35*(昨最高-昨收盤) bbreak=ssetup+f3*(ssetup-bsetup);

//(ssetup+0.25*(ssetup-bsetup); sbreak=bsetup-f3*(ssetup-bsetup);

//bsetup-0.25*(ssetup-bsetup)

DF策略編寫---R-Breaker//當日內最高價超過觀察賣出價后,盤中價格出現(xiàn)回落,且進一步跌破反轉賣出價構成的支撐線時,采取反轉策略,即在該點位(反手、開倉)做空;

hitoday=HIGHD(0); ltoday=LOWD(0);

B2=hitoday>ssetup; IF(B2) { B3=CROSS(senter,CLOSE)ANDB0ANDrfilterANDMARKETPOSITION==1; IF(B3) { SELLSHORT(lots,CLOSE); } }//當日內最低價低于觀察買入價后,盤中價格出現(xiàn)反彈,且進一步超過反轉買入價構成的阻力線時,采取反轉策略,即在該點位(反手、開倉)做多;

B4=ltoday<bsetup; IF(B4) { B5=CROSS(CLOSE,benter)ANDB0ANDrfilterANDMARKETPOSITION==-1; IF(B5) { BUY(lots,CLOSE); } }DF策略編寫---R-Breaker//在空倉的情況下,如果盤中價格超過突破買入價,則采取趨勢策略,即在該點位開倉做多;

B6=MARKETPOSITION==0ANDCROSS(CLOSE,bbreak)ANDB0ANDrfilter; IF(B6) { BUY(lots,CLOSE); }//在空倉的情況下,如果盤中價格跌破突破賣出價,則采取趨勢策略,即在該點位開倉做空。 B7=MARKETPOSITION==0ANDCROSS(sbreak,CLOSE)ANDB0ANDrfilter; IF(B7) { SELLSHORT(lots,CLOSE); }DF策略編寫---R-Breaker//設定止損條件。當虧損達到設定值后,平倉。B15=MarketPosition==1andBarsSinceEntry==0;IF(B15){ HiAfterEntry=High;}B16=MarketPosition==1andBarsSinceEntry>=1;If(B16){ HiAfterEntry=Max(HiAfterEntry,High);}B17=MarketPosition==-1andBarsSinceEntry==0;If(B17){ LoAfterEntry=Low;}B18=MarketPosition==-1andBarsSinceEntry>=1;If(B18){ LoAfterEntry=Min(LoAfterEntry,Low);}ATRValue=ma(MAX(ref(close,1),h)-min(ref(close,1),l),ATRLength);B11=BarssinceEntry>0andMarketPosition==1;B12=BarsSinceEntry>0andMarketPosition==-1;IF(B11){ StopLine=REF(HiAfterEntry,1)-TrailStop*REF(ATRValue,1); B13=Low<=StopLine;

IF(B13) { Sell(0,Min(Open,Stopline)); } }ELSEIF(B12){ StopLine=REF(LoAfterEntry,1)+TrailStop*REF(ATRValue,1); B14=High>=StopLine; If(B14) { BuyToCover(0,Max(Open,Stopline)); }}DF策略編寫---R-Breaker//指定日內交易 B8=TIME>145500ANDTIME<150000; IF(B8) { B9=MARKETPOSITION==1; IF(B9) { SELL(0,CLOSE); } B10=MARKETPOSITION==-1; IF(B10) { BUYTOCOVER(0,CLOSE); } }End完指定日內交易的部分Dual-ThrustDual-Thrust Dual-Thrust是較為常見的日內交易策略之一,以今日開盤價加減一定比例的昨日振幅,確定上下軌。日內突破上軌時平空做多,突破下軌時平多做空。

Dual-Thrust特點

DualThrust在Range的設置上,引入前N日的四個價位,使得一定時期內的Range相對穩(wěn)定,可以適用于日間的趨勢跟蹤;

Dual-Thrust交易原理Dual-Thrus交易系統(tǒng)的基本原理:當日內最高價高于價格上軌后,在該點位開倉做多;當日內最低價低于價格下軌后,在該點位開倉做空;在持倉的情況下,如果盤中價格突破價格上下軌,則在該點位反手開倉。DF策略編寫---Dual-ThrustPARAMS NUMBERk1(0.5); NUMBERk2(0.5); NUMBERMday(1); NUMBERNday(1); NUMBERlots(1);VARS ARRAYbuyrange(0),sellrange(0),buytrig(0),selltrig(0),HH,LL,HC,LC,buypoint,sellpoint; BOOLB1,B2,B3,B4,B5,B6,B7; BEGIN HH=HHV(HIGHD(1),Mday);

//M日high的最高價 HC=HHV(CLOSED(1),Mday);

//M日close的最高價 LL=LLV(LOWD(1),Mday);

//M日low的最低價 LC=LLV(CLOSED(1),Mday);

//M日close的最低價 sellrange=max(HH-LC,HC-LL);

//計算空頭觸發(fā)區(qū)間DF策略編寫---Dual-Thrust HH=HHV(HIGHD(1),Nday);

//N日high的最高價 HC=HHV(CLOSED(1),Nday);

//N日close的最高價 LL=LLV(LOWD(1),Nday);

//N日low的最低價 LC=LLV(CLOSED(1),Nday); //N日close的最低價 buyrange=max(HH-LC,HC-LL);

//計算多頭觸發(fā)區(qū)間 buytrig=k1*buyrange; selltrig=k2*sellrange; //計算買入賣出觸發(fā)條件 buypoint=OPEND(0)+buytrig; sellpoint=OPEND(0)-selltrig; //計算買入賣出價格 OUTPUT("buypoint",buypoint); OUTPUT("sellpoint",sellpoint);

//輸出買入賣出價格線當K1<K2時,多頭相對容易被觸發(fā),當K1>K2時,空頭相對容易被觸發(fā)。因此,投資者在使用該策略時,一方面可以參考歷史數(shù)據(jù)測試的最優(yōu)參數(shù)。另一方面,則可以根據(jù)自己對后勢的判斷,或從其他大周期的技術指標入手,階段性地動態(tài)調整K1和K2的值。DF策略編寫---Dual-Thrust

B1=HIGH>=buypoint; B2=LOW<=sellpoint; //空倉狀態(tài)下,日內價格突破價格區(qū)間,開倉 B3=MARKETPOSITION==0ANDB1; IF(B3) { BUY(lots,MAX(open,buypoint)); } B4=MARKETPOSITION==0ANDB2; IF(B4) { SELLSHORT(lots,Min(open,sellpoint)); } //持倉狀態(tài)下,日

溫馨提示

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

評論

0/150

提交評論