箱體理論策略(TB版)_第1頁
箱體理論策略(TB版)_第2頁
箱體理論策略(TB版)_第3頁
箱體理論策略(TB版)_第4頁
箱體理論策略(TB版)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

箱體理論策略(TB版)策略說明:本策略基于k線形成的區(qū)域設(shè)置進(jìn)出場(chǎng)價(jià)格,通過價(jià)格的上下突破來進(jìn)行交易或取消做單系統(tǒng)要素:k線區(qū)域按時(shí)間順序從左向右共由4根k線組成,最左邊的k線標(biāo)號(hào)為31.如果1號(hào)k線收盤價(jià)高于3號(hào)k線最高點(diǎn),開始設(shè)置做多交易區(qū)域,上軌為3號(hào)K線高點(diǎn),下軌為標(biāo)號(hào)為1起CancelFlagN根K線的低點(diǎn)如果標(biāo)號(hào)為0的K線收盤價(jià)在上下軌之間,則做多區(qū)域設(shè)置成功,如果收盤價(jià)低于下軌則區(qū)域設(shè)置取消2.如果1號(hào)k線收盤價(jià)低于3號(hào)k線最低點(diǎn),開始設(shè)置做空交易區(qū)域,下軌為3號(hào)K線低點(diǎn),上軌為標(biāo)號(hào)為1起CancelFlagN根K線的高點(diǎn)如果標(biāo)號(hào)為0的K線收盤價(jià)在上下軌之間,則做空區(qū)域設(shè)置成功,如果收盤價(jià)高于上軌則區(qū)域設(shè)置取消入場(chǎng)條件:1.做多區(qū)域設(shè)置成功時(shí),當(dāng)前k線高于標(biāo)號(hào)為0的K線高點(diǎn)時(shí)入場(chǎng)做多2.做空區(qū)域設(shè)置成功時(shí),當(dāng)前k線低于標(biāo)號(hào)為0的K線低點(diǎn)時(shí)入場(chǎng)做空出場(chǎng)條件:1.基于ATR的保護(hù)性止損2.基于ATR的盈虧平衡止損3.基于ATR的盈利止盈做多信號(hào)代碼:ParamsNumericATRLength(10);NumericCancelFlagN(5);NumericProtectStopATRMulti(0.5);NumericBreakEvenStopATRMulti(3);NumericProfitTargetATRMulti(5);VarsNumericSeriesATR(0);NumericSeriesUpLine(0);NumericSeriesDownLine(0);NumericSeriesDownLineTemp;NumericSeriesHighAfterEntry;NumericSeriesEntryPriceL(0);BoolSeriesEntryFlag(False);NumericSeriesProtectStopL;NumericSeriesProfitTargetStopL;NumericBreakEvenStopL;NumericExitLineL;NumericSeriesMP;BeginIf(!CallAuctionFilter())Return;ATR=AvgTrueRange(ATRLength);DownLineTemp=LowestFC(Low,CancelFlagN);If(MarketPosition<>1){If(EntryFlag[1]==False){If(Close[1]>=High[3]){UpLine=High[3];DownLine=DownLineTemp[1];If(C[0]<=UpLineandC[0]>=DownLine){EntryFlag=True;EntryPriceL=High[0];}}}ElseIf(EntryFlag[1]==True){If(C[0]<DownLine)EntryFlag=False;}}PlotNumeric("UpLine",UpLine);PlotNumeric("DownLine",DownLine);PlotNumeric("EntryPriceL",EntryPriceL);If(MarketPosition<>1andCurrentBar>=ATRLength){If(EntryFlag[1]==TrueandHigh>=EntryPriceL[1]AndVol>0){Buy(0,Max(Open,EntryPriceL[1]));EntryFlag=False;ProtectStopL=Low[1]-ProtectStopATRMulti*ATR[1];ProfitTargetStopL=High[1]+ProfitTargetATRMulti*ATR[1];}}If(BarsSinceEntry==0)HighAfterEntry=High;ElseHighAfterEntry=Max(HighAfterEntry[1],High);BreakEvenStopL=LastEntryPrice;If(MarketPosition==1andMP[1]==1AndVol>0){If(HighAfterEntry[1]>=BreakEvenStopL+BreakEvenStopATRMulti*ATR[1]){ExitLineL=BreakEvenStopL;}Else{ExitLineL=ProtectStopL[1];}If(Open>=ProfitTargetStopL[1]){Sell(0,Open);}Elseif(L<=ExitLineL){Sell(0,Min(Open,ExitLineL));}}MP=MarketPosition;End做多的代碼解讀:ParamsNumericATRLength(10);//聲明數(shù)值參數(shù)ATRLength,初值10,即ATR的周期參數(shù)值。NumericCancelFlagN(5);//聲明數(shù)值參數(shù)CancelFlagN,初值5,用于計(jì)算取消區(qū)域成功設(shè)置標(biāo)志的上下軌的N值。NumericProtectStopATRMulti(0.5);//聲明數(shù)值參數(shù)PritectStopATRMulti,初值0.5,用于保護(hù)性止損的ATR系數(shù)。NumericBreakEvenStopATRMulti(3);//聲明數(shù)值參數(shù)BreakEvenStopATRMulti,初值3,用于盈虧平衡止損的ATR系數(shù)。NumericProfitTargetATRMulti(5);//聲明數(shù)值參數(shù)ProfitTargetATRMulti,初值5,用于盈利止盈的ATR系數(shù)。VarsNumericSeriesATR(0);//聲明數(shù)值序列變量ATR,初值0NumericSeriesUpLine(0);//聲明數(shù)值序列變量UpLine,初值0,即區(qū)域設(shè)置上軌。NumericSeriesDownLine(0);//聲明數(shù)值序列變量DownLine,初值0,區(qū)域設(shè)置下軌。NumericSeriesDownLineTemp;//聲明數(shù)值序列變量DownLineTemp。NumericSeriesHighAfterEntry;//聲明數(shù)值序列變量HighAfterEntry,即持倉后的高點(diǎn)記錄。NumericSeriesEntryPriceL(0);//聲明數(shù)值序列變量EntryPriceL,初值0,即開倉價(jià)格線。BoolSeriesEntryFlag(False);//聲明布爾型序列變量EntryFlag,初值假,即入場(chǎng)標(biāo)志。NumericSeriesProtectStopL;//聲明數(shù)值序列變量ProtectStopL,即基于ATR的保護(hù)性止損。NumericSeriesProfitTargetStopL;//聲明數(shù)值序列變量ProfitTargetStopL,即基于ATR的盈利止盈。NumericBreakEvenStopL;//聲明數(shù)值變量BreakEvenStopL,即基于ATR的盈虧平衡止損。NumericExitLineL;//聲明數(shù)值變量ExitLineL,即平倉價(jià)格線。NumericSeriesMP;//聲明數(shù)值序列變量MP,即MarketPosition的狀態(tài)記錄。BeginIf(!CallAuctionFilter())Return;//集合競(jìng)價(jià)和小節(jié)休息過濾。//系統(tǒng)設(shè)置。ATR=AvgTrueRange(ATRLength);//拋物線的公式求法。DownLineTemp=LowestFC(Low,CancelFlagN);//利用快速求最低函數(shù)LowestFC,把收盤價(jià)與周期5返回求值,即可算得變量DownLineTemp值。//接下來的就是算法的具體體現(xiàn),1、k線區(qū)域按時(shí)間順序從左向右共由4根k線組成,最左邊的k線標(biāo)號(hào)為3,當(dāng)前K線標(biāo)號(hào)為0;2、如果1號(hào)k線收盤價(jià)高于3號(hào)k線最高點(diǎn),開始設(shè)置做多交易區(qū)域,上軌為3號(hào)K線高點(diǎn),下軌為從標(biāo)號(hào)為1起CancelFlagN根K線的低點(diǎn);3、如果標(biāo)號(hào)為0的K線收盤價(jià)在上下軌之間,則做多區(qū)域設(shè)置成功,做多觸發(fā)價(jià)為標(biāo)號(hào)為0的K線高點(diǎn),如果之后k線收盤價(jià)低于下軌則區(qū)域設(shè)置取消。if(MarketPosition<>1)//假如當(dāng)前沒有持多倉。{If(EntryFlag[1]==False)//假如前一進(jìn)場(chǎng)標(biāo)志EntryFlag[1]為假的時(shí)候。{If(Close[1]>=High[3])//假如前一k線收盤價(jià)Close[1]>=前三k線的高價(jià)High[3]。{UpLine=High[3];//則變量UpLine=前三k線的高價(jià)High[3]。DownLine=DownLineTemp[1];//變量DownLine=前一個(gè)變量DownLineTemp[1]值。if(C[0]<=UpLineandC[0]>=DownLine)//再假如當(dāng)前收盤價(jià)C[0]<=上軌UpLine,并且當(dāng)前C[0]>=下軌DownLine。{EntryFlag=True;//則布爾型變量EntryFlag為真。EntryPriceL=High[0];//進(jìn)場(chǎng)線EntryPriceL=當(dāng)前k線的高價(jià)。}}}ElseIf(EntryFlag[1]==True)//假如前一個(gè)進(jìn)場(chǎng)標(biāo)志EntryFlag[1]為真。{if(C[0]<DownLine)EntryFlag=False;//假如當(dāng)前k線收盤低于DownLine,則做多區(qū)域設(shè)置取消。}}PlotNumeric("UpLine",UpLine);//畫線上軌。PlotNumeric("DownLine",DownLine);//畫線下軌。PlotNumeric("EntryPriceL",EntryPriceL);//畫線進(jìn)場(chǎng)價(jià)。//系統(tǒng)入場(chǎng),做多區(qū)域設(shè)置成功時(shí),當(dāng)前k線高于標(biāo)號(hào)為0的K線高點(diǎn)時(shí)入場(chǎng)做多If(MarketPosition<>1andCurrentBar>=ATRLength)//假如當(dāng)前沒有持多單,并且當(dāng)前公式應(yīng)用商品在當(dāng)前Bar的索引值>=10.{If(EntryFlag[1]==TrueandHigh>=EntryPriceL[1]AndVol>0)//假如前一進(jìn)場(chǎng)標(biāo)志為真,并且當(dāng)前高價(jià)High>=前一進(jìn)場(chǎng)價(jià)EntryPriceL[1],并且成交量大于0.{Buy(0,Max(Open,EntryPriceL[1]));//開倉買入。EntryFlag=False;//買入后,進(jìn)場(chǎng)標(biāo)志賦值為假。ProtectStopL=Low[1]-ProtectStopATRMulti*ATR[1];//基于ATR的保護(hù)性止損具體算法ProfitTargetStopL=High[1]+ProfitTargetATRMulti*ATR[1];//基于ATR的盈利止盈,同理的,代入相應(yīng)數(shù)值。}}//系統(tǒng)出場(chǎng)If(BarsSinceEntry==0)//建倉位置為0HighAfterEntry=High;//最高價(jià)記錄為建倉位置k線的高價(jià)。ElseHighAfterEntry=Max(HighAfterEntry[1],High);//就是建倉位置不是0的時(shí)候。BreakEvenStopL=LastEntryPrice;//基于ATR的盈虧平衡止損,即BreakEvenStopL=當(dāng)前持倉的最后一個(gè)建倉價(jià)格LastEntryPrice值。If(MarketPosition==1andmp[1]==1AndVol>0)//假如當(dāng)前持有多單,并且前一個(gè)變量mp[1]==1,并且成交量大于0{If(HighAfterEntry[1]>=BreakEvenStopL+BreakEvenStopATRMulti*ATR[1])//出場(chǎng)線選擇條件,都是代入相應(yīng)數(shù)值計(jì)算后比較。{ExitLineL=BreakEvenStopL;//平倉價(jià)格ExitLineL=平衡止損BreakEvenStopL。}Else//出場(chǎng)線選擇條件不成立的。{ExitLineL=ProtectStopL[1];//平倉價(jià)格ExitLineL=前一個(gè)保護(hù)性止損ProtectStopL[1]。}//出場(chǎng)規(guī)則if(Open>=ProfitTargetStopL[1])//假如當(dāng)前開盤價(jià)Open>=前一個(gè)盈利止盈ProfitTargetStopL[1]。{Sell(0,Open);//開盤價(jià)平倉賣出。}//基于ATR的保護(hù)性止損或盈虧平衡止損。Elseif(L<=ExitLineL)//假如當(dāng)前最低價(jià)L<=平倉價(jià)ExitLineL。{Sell(0,Min(Open,ExitLineL));//平倉賣出,價(jià)格就是取兩者比較的小值。}}MP=MarketPosition;//記錄MarketPosition的狀態(tài),賦值給MP。End做空信號(hào)代碼:ParamsNumericATRLength(10);NumericCancelFlagN(5);NumericProtectStopATRMulti(0.5);NumericBreakEvenStopATRMulti(3);NumericProfitTargetATRMulti(5);VarsNumericSeriesATR(0);NumericSeriesUpLine(0);NumericSeriesDownLine(0);NumericSeriesUpLineTemp;NumericSeriesLowAfterEntry;NumericSeriesEntryPriceS(0);BoolSeriesEntryFlag(False);NumericSeriesProtectStopS;NumericSeriesProfitTargetStopS;NumericBreakEvenStopS;NumericExitLineS;NumericSeriesMP;BeginIf(!CallAuctionFilter())Return;ATR=AvgTrueRange(ATRLength);UpLineTemp=HighestFC(High,CancelFlagN);if(MarketPosition<>-1){If(EntryFlag[1]==False){If(Close[1]<=Low[3]){UpLine=UpLineTemp[1];DownLine=Low[3];if(C[0]<=UpLineandC[0]>=DownLine){EntryFlag=True;EntryPriceS=Low[0];}}}ElseIf(EntryFlag[1]==True){if(C[0]>UpLine)EntryFlag=False;}}PlotNumeric("UpLine",UpLine);PlotNumeric("DownLine",DownLine);PlotNumeric("EntryPriceS",EntryPriceS);If(MarketPosition<>-1andCurrentBar>=ATRLength){If(EntryFlag[1]==TrueandLow<=EntryPriceS[1]AndVol>0){SellShort(0,Min(Open,EntryPriceS[1]));EntryFlag=False;ProtectStopS=High[1]+ProtectStopATRMulti*ATR[1];ProfitTargetStopS=Low[1]-ProfitTargetATRMulti*ATR[1];}}If(BarsSinceEntry==0)LowAfterEntry=Low;ElseLowAfterEntry=Min(LowAfterEntry[1],Low);BreakEvenStopS=LastEntryPrice;If(MarketPosition==-1andmp[1]==-1AndVol>0){If(LowAfterEntry[1]<=BreakEvenStopS-BreakEvenStopATRMulti*ATR[1]){ExitLineS=BreakEvenStopS;}Else{ExitLineS=ProtectStopS[1];}if(Open<=ProfitTargetStopS[1]){BuyToCover(0,Open);}Elseif(H>=ExitLineS){BuyToCover(0,Max(Open,ExitLin

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論