加權(quán)(OBV)指標(biāo)策略(TB版)_第1頁
加權(quán)(OBV)指標(biāo)策略(TB版)_第2頁
加權(quán)(OBV)指標(biāo)策略(TB版)_第3頁
加權(quán)(OBV)指標(biāo)策略(TB版)_第4頁
加權(quán)(OBV)指標(biāo)策略(TB版)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

加權(quán)(OBV)指標(biāo)策略(TB版)一個(gè)基于波動(dòng)加權(quán)后的OBV(On-BalanceVolume)指標(biāo)的交易策略。該策略通過分析市場中的成交量和價(jià)格變化來生成買賣信號(hào)。其核心思想是利用OBV指標(biāo)的變化來判斷市場的趨勢和動(dòng)能,從而確定買入或賣出的時(shí)機(jī)。首先,策略通過計(jì)算波動(dòng)加權(quán)的OBV值來反映市場的活躍程度。波動(dòng)加權(quán)的OBV計(jì)算考慮了價(jià)格的波動(dòng)范圍,使得OBV能夠更準(zhǔn)確地反映市場的真實(shí)情況。具體來說,OBV值的計(jì)算基于收盤價(jià)與開盤價(jià)的差值除以最高價(jià)與最低價(jià)的差值,再乘以成交量。這種計(jì)算方法能夠更好地捕捉到市場的波動(dòng)性。其次,策略使用簡單移動(dòng)平均線(SMA)對波動(dòng)加權(quán)的OBV進(jìn)行平滑處理。通過計(jì)算OBV的SMA,策略能夠識(shí)別出OBV的趨勢變化。當(dāng)OBV上穿其SMA時(shí),表明市場動(dòng)能增強(qiáng),可能形成上升趨勢;反之,當(dāng)OBV下穿其SMA時(shí),表明市場動(dòng)能減弱,可能形成下降趨勢。在買入方面,策略在OBV上穿其SMA時(shí),會(huì)檢查是否滿足特定的條件來觸發(fā)買入信號(hào)。這些條件通常包括當(dāng)前的最高價(jià)是否超過某個(gè)預(yù)設(shè)的觸發(fā)價(jià),并且確保當(dāng)前沒有持倉。如果條件滿足,策略會(huì)在當(dāng)前最高價(jià)或更高位置建立多頭頭寸。在賣出方面,策略在OBV下穿其SMA時(shí),會(huì)檢查是否滿足特定的條件來觸發(fā)賣出信號(hào)。這些條件通常包括當(dāng)前的最低價(jià)是否低于某個(gè)預(yù)設(shè)的觸發(fā)價(jià),并且確保當(dāng)前沒有持倉。如果條件滿足,策略會(huì)在當(dāng)前最低價(jià)或更低位置建立空頭頭寸。此外,策略還包含出場條件:當(dāng)市場持有多頭頭寸時(shí),如果OBV再次下穿其SMA,策略會(huì)在下一個(gè)開盤價(jià)平掉多頭頭寸。同樣地,當(dāng)市場持有空頭頭寸時(shí),如果OBV上穿其SMA,策略會(huì)在下一個(gè)開盤價(jià)平掉空頭頭寸??傮w而言,這個(gè)策略通過結(jié)合OBV指標(biāo)和SMA,利用市場波動(dòng)性和動(dòng)能的變化來生成買賣信號(hào)。它能夠在市場趨勢明顯時(shí)提供有效的入場和出場機(jī)會(huì),適用于那些希望通過技術(shù)分析來指導(dǎo)交易的投資者。做多信號(hào)代碼:ParamsNumericAvgLength(25);VarsNumericSeriesWOBV(0);NumericSeriesSSMA(0);boolSeriesBuySetup(False);NumericSeriesLEPrice(0);boolcon;boolcon2;boolSeriescon3;Numericminpoint;BeginIf(!CallAuctionFilter())Return;minpoint=Minmove*PriceScale;If(High-Low<>0)WOBV=WOBV+(((Close-Open)/(High-Low))*Vol);SSMA=Average(WOBV,AvgLength);con=CrossOver(WOBV,SSMA);If(con){BuySetup=True;LEPrice=High;}con2=CrossUnder(WOBV,SSMA);If(con2)BuySetup=False;If(MarketPosition==1)BuySetup=False;If(MarketPosition==0){If(BuySetup[1]andHigh>=LEPrice[1]+minpoint)Buy(0,max(Open,LEPrice[1]+minpoint));}con3=CrossUnder(WOBV,SSMA);If(MarketPosition==1andBarsSinceEntry>0){If(con3[1])Sell(0,Open);}End策略說明:本策略基于用波動(dòng)加權(quán)后的OBV進(jìn)行判斷入場條件,結(jié)合高低點(diǎn)突破入場系統(tǒng)要素:1.計(jì)算波動(dòng)加權(quán)WOBV,根據(jù)WOBV預(yù)期均值關(guān)系,設(shè)定觸發(fā)條件單入場條件:1.當(dāng)WOBV上穿它的MA時(shí),在當(dāng)根K線高點(diǎn)建立做多觸發(fā)單2.當(dāng)WOBV下穿它的MA時(shí),在當(dāng)根K線低點(diǎn)建立做空觸發(fā)單出場條件:1.當(dāng)WOBV上穿它的MA時(shí),次根K線開盤平空倉2.當(dāng)WOBV下穿它的MA時(shí),次根K線開盤平多倉做多代碼解讀:ParamsNumericAvgLength(25);//聲明數(shù)值參數(shù)AvgLength,初值25,為計(jì)算WOBV的ma周期值。VarsNumericSeriesWOBV(0);//聲明數(shù)值序列變量WOBV,初值0,即指標(biāo)變量。NumericSeriesSSMA(0);//聲明數(shù)值序列變量SSMA,初值0,即WOBV指標(biāo)均值變量。boolSeriesBuySetup(False);//聲明布爾型序列變量BuySetup,初值為假,開多標(biāo)識(shí)。NumericSeriesLEPrice(0);//聲明數(shù)值序列變量LEPrice,初值0,多頭觸發(fā)線。boolcon;//聲明布爾型變量con。boolcon2;//聲明布爾型變量con2.boolSeriescon3;//聲明布爾型序列變量con3.Numericminpoint;//聲明數(shù)值變量minpoint,即最小變動(dòng)價(jià)位。BeginIf(!CallAuctionFilter())Return;//集合競價(jià)和小節(jié)休息過濾。minpoint=Minmove*PriceScale;//計(jì)算最小變動(dòng)價(jià)位。//WOBV指標(biāo)計(jì)算。If(High-Low<>0)//假如最高價(jià)High-最低價(jià)Low不等于0{WOBV=WOBV+(((Close-Open)/(High-Low))*Vol);//代入相應(yīng)初始數(shù)值,計(jì)算波動(dòng)加權(quán)后的OBV,即得WOBV值。}SSMA=Average(WOBV,AvgLength);//計(jì)算25周期的WOBV的MA均線。//多空觸發(fā)條件計(jì)算con=CrossOver(WOBV,SSMA);//變量WOBV上穿SSMA均線。If(con)//假如條件con為真。{BuySetup=True;//開多標(biāo)識(shí)BuySetup賦值為真。LEPrice=High;//變量LEPrice=當(dāng)前最高價(jià)High。}con2=CrossUnder(WOBV,SSMA);//變量WOBV跌穿SSMA均線。If(con2)//假如條件con2為真。{BuySetup=False;//開多標(biāo)識(shí)BuySetup賦值為假。}//做多標(biāo)識(shí)初始化If(MarketPosition==1)//假如當(dāng)前持有多單。BuySetup=False;//則開多標(biāo)識(shí)賦值為假,即初始化。//系統(tǒng)入場If(MarketPosition==0)//當(dāng)前沒有持倉。{If(BuySetup[1]andHigh>=LEPrice[1]+minpoint)//假如前一個(gè)開多標(biāo)識(shí)為真,且當(dāng)前最高價(jià)大于等于前一變量LEPrice值加上一跳價(jià)格。{Buy(0,max(Open,LEPrice[1]+minpoint));//開多,兩價(jià)格比較取較大值。}}//系統(tǒng)出場con3=CrossUnder(WOBV,SSMA);//變量WOBV跌穿SSMA均線。If(MarketPosition==1andBarsSinceEntry>0)//當(dāng)前持有多單,且建倉數(shù)位大于0.{If(con3[1])//假如條件con3[1]成立。{Sell(0,Open);//以開盤價(jià)平倉。}}End做空信號(hào)代碼:ParamsNumericAvgLength(25);VarsNumericSeriesWOBV(0);NumericSeriesSSMA(0);boolSeriesSellSetup(False);NumericSeriesSEPrice(0);boolcon;boolcon2;boolSeriescon3;Numericminpoint;BeginIf(!CallAuctionFilter())Return;minpoint=Minmove*PriceScale;If(High-Low<>0){WOBV=WOBV+(((Close-Open)/(High-Low))*Vol);}SSMA=Average(WOBV,AvgLength);con=CrossOver(WOBV,SSMA);If(con){SellSetup=False;}con2=CrossUnder(WOBV,SSMA);If(con2){SellSetup=True;SEPrice=Low;}If(MarketPosition==-1)SellSetup=False;If(MarketPosition==0){If(SellSetup[1]andLow<=SEPrice[1]-minpoint){SellShort(0,min(Open,SEPrice[1]-minpoint));}}con3=CrossOver(WOBV,SSMA);If(MarketPosition==-1andBarsSinceEntry>0){If(con3[1]){Buytocover(0,Open);}}End做空代碼注解:Params//定義策略參數(shù)的開始NumericAvgLength(25);//定義一個(gè)名為AvgLength的數(shù)值參數(shù),用于設(shè)置WOBV移動(dòng)平均線的周期,初始值為25。Vars//聲明變量的開始NumericSeriesWOBV(0);//聲明一個(gè)數(shù)值序列變量WOBV,初始化為0,用于存儲(chǔ)加權(quán)OBV值。NumericSeriesSSMA(0);//聲明一個(gè)數(shù)值序列變量SSMA,初始化為0,用于存儲(chǔ)WOBV的簡單移動(dòng)平均值。boolSeriesSellSetup(False);//聲明一個(gè)布爾序列變量SellSetup,初始化為False,用于標(biāo)識(shí)是否設(shè)置做空觸發(fā)條件。NumericSeriesSEPrice(0);//聲明一個(gè)數(shù)值序列變量SEPrice,初始化為0,用于記錄做空觸發(fā)價(jià)。boolcon;//聲明一個(gè)布爾變量con,用于存儲(chǔ)WOBV上穿SSMA的條件。boolcon2;//聲明一個(gè)布爾變量con2,用于存儲(chǔ)WOBV下穿SSMA的條件。boolSeriescon3;//聲明一個(gè)布爾序列變量con3,用于記錄WOBV上穿SSMA的條件。Numericminpoint;//聲明一個(gè)數(shù)值變量minpoint,用于存儲(chǔ)最小變動(dòng)價(jià)位。Begin//策略邏輯的開始If(!CallAuctionFilter())Return;//如果當(dāng)前不是交易時(shí)間,則退出策略。minpoint=Minmove*PriceScale;//根據(jù)最小變動(dòng)價(jià)位和價(jià)格刻度計(jì)算minpoint。If(High-Low<>0)//如果當(dāng)前K線的高低價(jià)差不為0。{WOBV=WOBV+(((Close-Open)/(High-Low))*Vol);//計(jì)算加權(quán)OBV值。}SSMA=Average(WOBV,AvgLength);//計(jì)算WOBV的AvgLength周期簡單移動(dòng)平均值。con=CrossOver(WOBV,SSMA);//判斷WOBV是否上穿SSMA。If(con)//如果WOBV上穿SSMA。{SellSetup=False;//設(shè)置SellSetup為False,表示不做空。}con2=CrossUnder(WOBV,SSMA);//判斷WOBV是否下穿SSMA。If(con2)//如果WOBV下穿SSMA。{SellSetup=True;//設(shè)置SellSetup為True,表示可以做空。SEPrice=Low;//記錄當(dāng)前最低價(jià)為做空觸發(fā)價(jià)。}If(MarketPosition==-1)//如果當(dāng)前持有空頭頭寸。SellSetup=False;//重置SellSetup為False,表示不繼續(xù)做空。If(MarketPosition==0)//如果當(dāng)前沒有持倉。{If(SellSetup[1]andLow<=SEPrice[1]-minpoint)//如果前一根K線的SellSetup為True,并且當(dāng)前最低價(jià)小于前一根K線的SEPrice減去最小變動(dòng)價(jià)位。{SellShort(0,min(Open,SEPrice[1]

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論