ATR波動(dòng)突破策略(TB版)_第1頁(yè)
ATR波動(dòng)突破策略(TB版)_第2頁(yè)
ATR波動(dòng)突破策略(TB版)_第3頁(yè)
ATR波動(dòng)突破策略(TB版)_第4頁(yè)
ATR波動(dòng)突破策略(TB版)_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

ATR波動(dòng)突破策略(TB平臺(tái))主要交易思路該交易策略主要基于平均真實(shí)范圍(ATR)來(lái)設(shè)定買入和賣出的觸發(fā)價(jià)格。ATR是衡量市場(chǎng)波動(dòng)性的一個(gè)指標(biāo),通過(guò)計(jì)算過(guò)去一段時(shí)間內(nèi)價(jià)格波動(dòng)的平均值來(lái)得出。1.計(jì)算ATR:首先,策略通過(guò)函數(shù)計(jì)算了最近N個(gè)時(shí)間周期的平均真實(shí)范圍(ATR)。這個(gè)ATR值用于后續(xù)計(jì)算上下軌線。2.設(shè)定上下軌線:策略根據(jù)前一個(gè)周期的收盤價(jià)和ATR的兩倍值來(lái)計(jì)算上下軌線。上軌線是前一個(gè)周期的收盤價(jià)加上2倍的ATR,而下軌線則是前一個(gè)周期的收盤價(jià)減去2倍的ATR。3.交易觸發(fā)條件:-當(dāng)市場(chǎng)價(jià)格(特別是最高價(jià))達(dá)到或超過(guò)上軌線時(shí),如果當(dāng)前市場(chǎng)位置不是多頭(即沒(méi)有持倉(cāng)或持倉(cāng)為空頭),則執(zhí)行賣空操作,以`myprice`作為交易價(jià)格。-當(dāng)市場(chǎng)價(jià)格(特別是最高價(jià))達(dá)到或超過(guò)上軌線,并且當(dāng)前市場(chǎng)位置是空頭(即已賣空)時(shí),如果最高價(jià)達(dá)到或超過(guò)上軌線,則執(zhí)行買入平倉(cāng)操作,以`myprice`作為交易價(jià)格。4.繪制軌線:為了更直觀地觀察上下軌線,策略使用函數(shù)在圖表上繪制了這兩條軌線。該策略是一種基于ATR的波動(dòng)率突破策略,通過(guò)設(shè)定上下軌線來(lái)捕捉市場(chǎng)的超買超賣情況,并據(jù)此進(jìn)行交易操作。計(jì)算公式如下:ATR=∣最高價(jià)-最低價(jià)∣和∣最高價(jià)-昨收∣和∣昨收-最低價(jià)∣的最大值真實(shí)波幅(ATR)=TR的N日簡(jiǎn)單移動(dòng)平均參數(shù)N設(shè)置為14日函數(shù)1TrueHigh,求真實(shí)高點(diǎn):VarsNumericTHighValue;//聲明數(shù)值型變量THighValue。//BeginTHighValue=Close[1];//語(yǔ)句1,直接讓變量THighValue值=昨日收盤價(jià)。//If(High>=Close[1])//語(yǔ)句2,假如當(dāng)前最高價(jià)High>=昨日收盤價(jià)時(shí)。//THighValue=High;//變量THighValue值=當(dāng)前最高價(jià)。//ReturnTHighValue;//語(yǔ)句1和語(yǔ)句2是一個(gè)并列語(yǔ)句,哪個(gè)條件符合的,就用哪個(gè)語(yǔ)句的值,這可以先判斷出最高價(jià)和昨收價(jià)哪個(gè)是最大值。//End函數(shù)2TrueLow,求真實(shí)低點(diǎn):VarsNumericTLowValue;//聲明數(shù)值型變量TLowValue。//BeginTLowValue=Close[1];//語(yǔ)句1,變量TLowValue值=昨收價(jià)。//If(Low<=Close[1])//語(yǔ)句2,假如當(dāng)前最低價(jià)<=昨收價(jià)。//TLowValue=Low;//變量TLowValue值=當(dāng)前低價(jià)。//ReturnTLowValue;//求出當(dāng)前最低價(jià)與昨收價(jià)那個(gè)為最小值。//End函數(shù)3TrueRange,真實(shí)振幅范圍:BeginIf(CurrentBar==0)//假如為第一根k。//ReturnHigh-Low;//那振幅就是直接最高價(jià)減去最低價(jià)。//Else//第二根之后的振幅。//ReturnTrueHigh-TrueLow;//就是函數(shù)TrueHigh值減去函數(shù)TrueLow值。//End函數(shù)4AvgTrueRange,求平均真實(shí)振幅:ParamsNumericLength(10);//聲明數(shù)值型參數(shù)Length,就是周期了,賦值給它10周期。//BeginReturnAverage(TrueRange,Length);//求出10個(gè)周期真實(shí)振幅平均值。//End函數(shù)5ATR,表達(dá)的意思跟第四個(gè)函數(shù)完全一樣,這里給它寫出來(lái):ParamsNumericLength(14);//聲明數(shù)值型參數(shù)Length,初值為14周期。BeginPlotNumeric("ATR",AvgTrueRange(Length));//在k線圖上畫出ATR出來(lái),它的值是14根k線的平均振幅值。End以上是知道了ATR是如何求出來(lái)的。一般都只用它來(lái)觀察波幅集中區(qū)域,從周期日k逐步觀察統(tǒng)計(jì)到你所用的周期,會(huì)知道,這個(gè)品種它一天大概集中振幅多大。觀察ATR的值,看上面代碼可以知道,直接把參數(shù)14改成1就可以觀察它每根k線的波幅了。ATR策略信號(hào)出入場(chǎng)規(guī)則:當(dāng)價(jià)格比上一個(gè)交易日收盤價(jià)高2ATR時(shí)買入,當(dāng)價(jià)格比上一個(gè)交易日收盤價(jià)低2ATR時(shí)賣出。策略信號(hào)代碼如下:ParamsNumericLength(14);VarsNumericSeriesatr;Numericupline;Numericdownline;Numericmyprice;Beginatr=Average(TrueRange,Length);upline=Close[1]+2*atr;downline=Close[1]-2*atr;PlotNumeric("k",upline);PlotNumeric("h",downline);If(MarketPosition!=1&&High>=upline){myprice=Max(upline,Open);Buy(1,myprice);}If(MarketPosition==1AndLow<=downline){myprice=Min(downline,Open);Sell(1,myprice);}If(MarketPosition!=-1AndLow<=downline){myprice=Min(downline,Open);SellShort(1,myprice);}If(MarketPosition==-1&&High>=upline){myprice=Max(upline,Open);BuyToCover(1,myprice);}End;信號(hào)代碼注解:Params定義參數(shù)段,用于設(shè)置策略中使用的變量的初始值。NumericLength(14);定義一個(gè)名為

Length

的數(shù)值型變量,并初始化為14,用于計(jì)算ATR的周期。Vars定義變量段,用于聲明策略中使用的變量。NumericSeriesatr;聲明一個(gè)名為

atr

的數(shù)值型序列,用于存儲(chǔ)ATR值。Numericupline;聲明一個(gè)名為

upline

的數(shù)值型變量,用于存儲(chǔ)買入觸發(fā)價(jià)格。Numericdownline;聲明一個(gè)名為

downline

的數(shù)值型變量,用于存儲(chǔ)賣出觸發(fā)價(jià)格。Numericmyprice;聲明一個(gè)名為

myprice

的數(shù)值型變量,用于存儲(chǔ)實(shí)際交易的價(jià)格。Begin開始策略的主體部分。atr=Average(TrueRange,Length);計(jì)算ATR值,即真實(shí)波動(dòng)幅度的

Length

周期移動(dòng)平均。upline=Close[1]+2*atr;設(shè)置買入觸發(fā)價(jià)格,即上一個(gè)交易日的收盤價(jià)加上2倍ATR。downline=Close[1]-2*atr;設(shè)置賣出觸發(fā)價(jià)格,即上一個(gè)交易日的收盤價(jià)減去2倍ATR。PlotNumeric("k",upline);在圖表上繪制名為"k"的買入觸發(fā)線。PlotNumeric("h",downline);在圖表上繪制名為"h"的賣出觸發(fā)線。If(MarketPosition!=1&&High>=upline){...}如果當(dāng)前市場(chǎng)位置不是多頭且最高價(jià)達(dá)到或超過(guò)買入觸發(fā)價(jià)格,則執(zhí)行以下操作。myprice=Max(upline,Open);設(shè)置買入價(jià)格為開盤價(jià)和買入觸發(fā)價(jià)格中的較高者。Buy(1,myprice);執(zhí)行買入操作。If(MarketPosition==1AndLow<=downline){...}如果當(dāng)前市場(chǎng)位置是多頭且最低價(jià)達(dá)到或低于賣出觸發(fā)價(jià)格,則執(zhí)行以下操作。myprice=Min(downline,Open);設(shè)置賣出價(jià)格為開盤價(jià)和賣出觸發(fā)價(jià)格中的較低者。Sell(1,myprice);執(zhí)行賣出操作。If(MarketPosition!=-1AndLow<=downline){...}如果當(dāng)前市場(chǎng)位置不是空頭且最低價(jià)達(dá)到或低于賣出觸發(fā)價(jià)格,則執(zhí)行以下操作。myprice=Min(downline,Open);設(shè)置賣出開空的價(jià)格為開盤價(jià)和賣出觸發(fā)價(jià)格中的較低者。SellShort(1,myprice);執(zhí)行賣出開空操作。If(MarketPosition==-1&&High>=upline){...}如果當(dāng)前市場(chǎng)位置是空頭且最高價(jià)達(dá)到或超過(guò)買入觸發(fā)價(jià)格,則執(zhí)行以下操作。myprice=Max(upline,Open);設(shè)置買入平空的價(jià)格為開盤價(jià)和買入觸發(fā)價(jià)格中的較高者。BuyToCover(1,myprice);執(zhí)行買入平空操作。End看來(lái)不行得修改下:(代碼)ParamsNumericLength(14);NumericLength3(360);VarsNumericSeriesatr;Numericupline;Numericdownline;Numericmyprice;NumericSeriesAvgValue3;Beginatr=Average(TrueRange,Length);upline=Close[1]+2*atr;downline=Close[1]-2*atr;PlotNumeric("k",upline);PlotNumeric("h",downline);AvgValue3=AverageFC(Close,Length3);PlotNumeric("AvgValue3",AvgValue3);If(MarketPosition!=1&&High>=uplineandHigh>AvgValue3){myprice=Max(upline,Open);Buy(1,myprice);}If(MarketPosition==1AndLow<=downline){myprice=Min(downline,Open);Sell(1,myprice);}If(MarketPosition!=-1AndLow<=downlineAndLow<AvgValue3){myprice=Min(downline,Open);SellShort(1,myprice);}If(MarketPosition==-1&&High>=upline){myprice=Max(upline,Open);BuyToCover(1,myprice);}End修改后的代碼注解:Params(參數(shù))*`NumericLength(14);`定義了一個(gè)名為`Length`的數(shù)值型參數(shù),其默認(rèn)值為14。這個(gè)參數(shù)可能用于后續(xù)計(jì)算中的時(shí)間周期或數(shù)據(jù)點(diǎn)的數(shù)量。*`NumericLength3(360);`定義了另一個(gè)名為`Length3`的數(shù)值型參數(shù),其默認(rèn)值為360。這個(gè)參數(shù)可能用于另一個(gè)需要更長(zhǎng)時(shí)間周期或數(shù)據(jù)點(diǎn)數(shù)量的計(jì)算。Vars(變量)定義了一系列數(shù)值型變量和序列,用于在策略執(zhí)行過(guò)程中存儲(chǔ)和計(jì)算數(shù)據(jù)。 +`NumericSeriesatr;` 平均真實(shí)范圍(ATR)的序列。 +`Numericupline;` 上軌線的數(shù)值。 +`Numericdownline;` 下軌線的數(shù)值。 +`Numericmyprice;` 交易價(jià)格的數(shù)值。 +`NumericSeriesAvgValue3;` 基于`Length3`的收盤價(jià)的平均值序列。策略邏輯1.計(jì)算ATR`atr=Average(TrueRange,Length);`計(jì)算最近`Length`個(gè)時(shí)間周期的平均真實(shí)范圍(ATR)。2.計(jì)算上下軌線`upline=Close[1]+2*atr;``downline=Close[1]-2*atr;`基于前一個(gè)周期的收盤價(jià)和ATR的兩倍值來(lái)計(jì)算上下軌線。3.繪制軌線使用`PlotNumeric`函數(shù)來(lái)繪制上下軌線。4.計(jì)算長(zhǎng)期平均值`AvgValue3=AverageFC(Close,Length3);`計(jì)算最近`Length3`個(gè)時(shí)間周期的收盤價(jià)的平均值5.交易邏輯*當(dāng)不在多頭倉(cāng)位(`MarketPosition!=1`)且當(dāng)前最高價(jià)高于上軌線并高于

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論