波段突破策略 ATR波段突破策略[MC公式]
區(qū)間突破最常使用在日內(nèi)程序里,不過波段的程序使用起來也不差,基本邏輯就是由開盤向上漲多少要突破作多,向下跌多少要突破做空,很單純,最主要的因素只有這個(gè)突破的臨界點(diǎn)是如何決定?
基本突破策略是以開盤點(diǎn)為準(zhǔn),漲XX點(diǎn)作多,跌XX點(diǎn)作空,如果沒翻就擺到收盤,這樣的邏輯在近年是很難獲利,但波段突破策略就不一樣了
Average True Range(ATR) 平均真實(shí)范圍,利用這個(gè)好用的指標(biāo),當(dāng)行情波動(dòng)大時(shí),這個(gè)區(qū)間確認(rèn)也應(yīng)該放大,波動(dòng)小時(shí),則區(qū)間也小,因此加上波動(dòng)性的指標(biāo)有用處,ATR比其它波動(dòng)性指標(biāo)直接方便的是它本身就是價(jià)格的表示,而不是比例或無法對(duì)應(yīng)的數(shù)字。例如ATR 100點(diǎn),就是近期日高低點(diǎn)差平均在100點(diǎn),而開盤后往上50點(diǎn)或往下50點(diǎn)的區(qū)間內(nèi)都很正常,那我們?cè)O(shè)定的突破邏輯就是市價(jià)漲超過50點(diǎn)作多,跌超過50點(diǎn)作空。
代碼范例:此策略是波段突破策略。根據(jù)ATR要調(diào)用多少個(gè)周期,來求出開倉的委托價(jià)格,此策略適用于多商品多周期,可以自己調(diào)整參數(shù)跟周期測試即可,底下是測試的IF 20 min 的績效結(jié)果,手續(xù)費(fèi)單邊100元,僅供參考。
input:atrlen(2),endtime(1500),m(2100),n(9300);var:j(0),atr(0),trx(0);array:tr[10](0);//定義變量、參數(shù)、以及一維數(shù)組 www.tumamayizhan.com
if date<>date[1] then begintrx=0;//當(dāng)隔日時(shí)給trx賦值為0for j=0 to atrlen-1 beginvalue1=(highD(j+1)-lowD(j+1));value2=absvalue(highD(j+1)-closeD(j+2));value3=absvalue(lowd(j+1)-closed(j+2));//在一個(gè)循環(huán)中給value1、value2、value3變量賦值
tr[j]=maxlist(value1,value2,value3);//把三者的最大值依次儲(chǔ)存在數(shù)組中if j=atrlen-1 then begin for j=0 to (atrlen-1) begin trx=trx+tr[j]; end;//給trx賦值在一個(gè)循環(huán)運(yùn)算后 atr=trx/atrlen;end;end;end;//對(duì)atr求平均
if time<endtime then beginbuy next bar at (openD(0)+atr/2 ) stop;sellshort next bar at (opend(0)-atr/2) stop;end;//在收盤前以當(dāng)天的開盤價(jià)加減atr/2去委托限價(jià)單,滿足條件開倉
setstopcontract;setstoploss(m);setprofittarget(n);//設(shè)置止盈止損。
在策略設(shè)計(jì)的部份只有一個(gè)參數(shù),是要決定ATR用多少期間,其中變數(shù)TRX是每日的TR值,ATR用來紀(jì)錄…ATR,TR的陣列和其中注記//replace AverageArray的部份是因?yàn)镸ulticharts內(nèi)建的AverageArray用起來不對(duì)勁,就自己再寫進(jìn)策略里,內(nèi)容就是把TRX一個(gè)個(gè)放進(jìn)TR陣列里,放到最后一個(gè)時(shí)順便算一下里面那些TR的平均值紀(jì)錄到ATR。
再詳細(xì)一點(diǎn)的說明程序,因?yàn)锳TR在這個(gè)例子中使用的是日線層級(jí),但實(shí)際運(yùn)用的K線可能是10min、5min、8min之類的,會(huì)要再搭配其它的指標(biāo),所以才使用這種Array的方式將TR記錄下來,在新的一天開始時(shí)計(jì)算一次( date <> date[1] ),然后看是要多少個(gè)TR的平均,一個(gè)一個(gè)放進(jìn)去,另外特別注意Array第一個(gè)位置是0起始,所以for回圈里目標(biāo)值減一,這樣個(gè)數(shù)才對(duì)。
這個(gè) Array+For 回圈的方法在使用不同k線層級(jí)的指標(biāo)時(shí)蠻好用的,可以多加利用,如果是常coding的朋友可能會(huì)覺得一個(gè)地方怪怪的,平常都是for i=0 to X ,這邊因?yàn)閕是Multicharts 的關(guān)鍵字所以不能用,常常都要再改成j….,是特別的習(xí)慣
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 1145508240 進(jìn)行 有償 編寫!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容