




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
日內交易策略(TBQ版)本策略是一個日內交易策略,主要用于捕捉市場的日內波動機會。策略的核心思想是通過對歷史數(shù)據(jù)的分析和實時市場情況的監(jiān)測,結合多種技術指標和交易規(guī)則,來決定是否進行交易以及如何進行交易。交易邏輯思路1.市場監(jiān)測:策略首先通過訂閱日線數(shù)據(jù),監(jiān)測市場的開盤價、收盤價、最高價和最低價等關鍵指標。這些數(shù)據(jù)用于計算各種技術指標,如平均波動范圍、突破百分比等。2.交易條件判斷:策略設置了多個條件來判斷是否應該進行交易。這些條件包括市場是否處于可交易時間、價格是否突破了設定的上下軌、是否有足夠的波動空間等。3.交易執(zhí)行:當滿足交易條件時,策略會執(zhí)行買入或賣出操作。買入操作通常在價格突破上軌時進行,賣出操作則在價格突破下軌時進行。4.止損與止盈:策略設置了多級止損點,以控制潛在的虧損。同時,也設置了平移止損和跟蹤止損,以保護利潤并減少回撤。5.交易限制:策略還考慮了日內交易的限制,確保在同一天內不會進行過多的交易,避免過度交易帶來的風險。6.交易結束:策略在日內交易截止時間到達時,無論盈虧都會清倉結束交易,以符合日內交易的規(guī)則。策略特點-靈活性:策略可以根據(jù)不同的市場情況調整參數(shù),如等待期間、交易百分比、突破百分比等,以適應不同的市場環(huán)境。-風險控制:通過設置多級止損點和平移止損,策略能夠有效地控制每筆交易的最大虧損。-自動化:策略的自動化程度高,可以在無人值守的情況下自動執(zhí)行交易邏輯,減少人為干預。-適應性:策略能夠適應不同的交易品種和市場,通過調整參數(shù)可以應用于多種交易場景。-實時性:策略能夠實時監(jiān)測市場變化,快速響應市場的波動,抓住交易機會。-簡潔性:盡管策略包含多個條件和規(guī)則,但其核心邏輯清晰,易于理解和維護。-可擴展性:策略設計考慮了未來可能的調整和優(yōu)化,留有足夠的空間進行功能擴展和改進。本日內交易策略旨在通過精確的市場分析和嚴格的風險控制,實現(xiàn)穩(wěn)健的日內交易收益。它結合了多種交易技巧和原則,旨在捕捉市場的日內波動,同時嚴格控制風險,確保交易的安全性和盈利性。策略代碼:ParamsNumericwait_period_mins(30);//等待期間Numericinit_trades_endtime(0.1430);//跟蹤交易時間Numericliq_rev_endtime(0.1200);//反轉截止時間Numerictrade_prcnt(0.85);//交易百分比Numericthrust_prcnt1(0.30);//突破百分比1Numericthrust_prcnt2(0.60);//突破百分比2Numericbreakout_prcnt(0.25);//日線突破百分比Numericfailed_breakout_prcnt(0.25);//失敗突破百分比Numericprot_stop_prcnt1(0.25);//保護止損百分比1Numericprot_stop_prcnt2(0.15);//保護止損百分比2(反轉)Numericprot_stop_amt(3);//保護止損偏移Numericbreak_even_prcnt(0.50);//觸發(fā)平移事件百分比Numericavg_rng_length(10);//平均波動周期Numericavg_oc_length(10);//平均開收周期Numericlots(1);//頭寸Numericday_trades_endtime(0.1450);//日內交易截止時間VarsSeries<Numeric>averageRange;Series<Numeric>averageOCRange(0);Series<Numeric>buyBOPoint;Series<Numeric>sellBOPoint;Series<Numeric>longBreakPt(0);Series<Numeric>shortBreakPt(0);Series<Numeric>longFBOPoint(0);Series<Numeric>shortFBOPoint(0);Series<Numeric>barCounts(0);Series<Numeric>intraHigh(0);Series<Numeric>intraLow(1999999);Series<Numeric>buysToday(0);//當日交易多單標志Series<Numeric>sellsToday(0);//當日交易空單單標志Series<Numeric>currTrdType(0);Series<Numeric>longLiqPoint(0);Series<Numeric>shortLiqPoint(0);Series<Numeric>yesterdayOCRRange(0);//昨日開盤收盤真實波動Series<Numeric>intraTradeHigh(0);Series<Numeric>intraTradeLow(1999999);Series<Bool>canTrades(False);//今日啟動交易標識Series<Bool>buyEasierDay(False);Series<Bool>sellEasierDay(False);NumericMinPoint;//最小變動單位NumericmyOpen;//當天開盤價NumericyesDayClose;//昨日收盤價NumericbefyesCloseToYes;//前日-昨日收盤價NumericlongTrack;//多單跟蹤NumericshortTrack;//空單跟蹤NumericyesHigh;//昨高NumericyesHigh_up;//昨高+NumericyesHigh_dn;//昨高-NumericyesLow;//昨低NumericyesLow_up;//昨低+NumericyesLow_dn;//昨低-Series<Numeric>myEntryPrice;//開倉價格Series<Numeric>myExitPrice;//平倉價格Series<Numeric>preMarketPos(0);//前一次持倉狀態(tài),初始0,多=1,空=-1Series<Numeric>trades_time(0.2100);//日內交易時間Series<Numeric>pre_averageRange;Series<Bool>nightsDay(False);//夜盤Series<Bool>daysDay(False);//白盤Series<Bool>daysDayStockIndex(False);//白盤StockindexfuturesSeries<Bool>trades_time_flag(False);//是否在可交易時間Series<Bool>high_flag(False);//是否突破昨高一定幅度Series<Bool>low_flag(False);//是否突破昨低一定幅度Events//此處實現(xiàn)事件函數(shù)//初始化事件函數(shù),策略運行期間,首先運行且只有一次,應用在訂閱數(shù)據(jù)等操作OnInit(){//訂閱日線數(shù)據(jù)//SubscribeBar(Data0.Symbol,"1d",Data0.BeginDateTime);}//在新bar的第一次執(zhí)行之前調用一次,參數(shù)為新bar的圖層數(shù)組OnBarOpen(ArrayRef<Integer>indexs){//averageRange取值,回溯上一天的值If(TrueDate(1)<>TrueDate(0)){pre_averageRange=averageRange[1];}}//Bar更新事件函數(shù),參數(shù)indexs表示變化的數(shù)據(jù)源圖層ID數(shù)組OnBar(ArrayRef<Integer>indexs){myOpen=OpenD(0);//今開//yesDayClose=data1.CloseD(1);//昨日收盤價yesDayClose=CloseD(1);//昨日收盤價yesHigh=HighD(1);yesHigh_up=yesHigh+averageRange*breakout_prcnt;yesHigh_dn=yesHigh-averageRange*breakout_prcnt;yesLow=LowD(1);yesLow_up=yesLow+averageRange*breakout_prcnt;yesLow_dn=yesLow-averageRange*breakout_prcnt;MinPoint=MinMove*PriceScale;//averageRange=data1.AvgTrueRange(avg_rng_length);//日線平均真實波動averageRange=XAverage(Abs(OpenD(1)-CloseD(1)),avg_oc_length*4*12);//日線平均真實波動//yesterdayOCRRange=Abs(data1.OpenD(1)-data1.CloseD(1));//昨波動區(qū)間yesterdayOCRRange=Abs(OpenD(1)-CloseD(1));//昨波動區(qū)間//averageOCRange=data1.Average(Abs(data1.OpenD(1)-data1.CloseD(1)),avg_oc_length);//日線平均波動averageOCRange=Average(Abs(OpenD(1)-CloseD(1)),avg_oc_length*4*12);//日線平均波動//buyEasierDay=data1.CloseD(2)<=data1.CloseD(1);//趨買日//sellEasierDay=data1.CloseD(2)>data1.CloseD(1);//趨賣日//buyEasierDay=data1.CloseD(1)<=data1.CloseD(2);//趨買日昨收小于等于昨昨收//sellEasierDay=data1.CloseD(1)>data1.CloseD(2);//趨賣日昨收大于昨昨收buyEasierDay=CloseD(2)<=CloseD(1);//趨買日sellEasierDay=CloseD(2)>CloseD(1);//趨賣日//befyesCloseToYes=data1.CloseD(2)-data1.CloseD(1);//前收盤價-昨收befyesCloseToYes=CloseD(2)-CloseD(1);//前收盤價-昨收If(TrueDate(1)<>TrueDate(0)){//判斷當日是否可以交易canTrades=False;If(yesterdayOCRRange<trade_prcnt*averageOCRange){canTrades=True;}PlotBool("是否交易",canTrades);Commentary("yesterdayOCRRange="+Text(yesterdayOCRRange));Commentary("averageOCRange="+Text(averageOCRange));//趨買市or趨賣市If(buyEasierDay){PlotString("趨買市","趨買市",High+5*MinPoint);}If(sellEasierDay){PlotString("趨賣市","趨賣市",Low-5*MinPoint);}Commentary("前收-昨收="+Text(befyesCloseToYes));//當日交易限制1多1空buysToday=0;sellsToday=0;//突破昨高/低標志high_flag=False;low_flag=False;//可交易時間確定nightsDay=False;//夜盤初始化daysDay=False;//白盤初始化daysDayStockIndex=False;//白盤初始化Stockindexfuturestrades_time=0.2100;//默認夜盤九點trades_time_flag=False;If(Time==0.2100){nightsDay=True;//夜盤trades_time=0.2100+wait_period_mins/10000;Commentary("夜盤開盤");}ElseIf(Time==0.0900){daysDay=True;//白盤trades_time=0.0900+wait_period_mins/10000;Commentary("白盤開盤");}ElseIf(Time==0.0930){daysDayStockIndex=True;//白盤Stockindexfuturestrades_time=0.0930+wait_period_mins/10000;Commentary("白盤開盤Stockindexfutures");}}//計算可交易時間If(nightsDay){trades_time_flag=(Time>=trades_time&&Time<=0.2400)Or(Time>=0.0000&&Time<=0.0300)Or(Time>=0.0900&&Time<day_trades_endtime);}ElseIf(daysDay){trades_time_flag=(Time>=trades_time&&Time<day_trades_endtime);}ElseIf(daysDayStockIndex){trades_time_flag=(Time>=trades_time&&Time<day_trades_endtime);}//常規(guī)突破上下軌計算If(buyEasierDay){buyBOPoint=myOpen+thrust_prcnt1*pre_averageRange;sellBOPoint=myOpen-thrust_prcnt2*pre_averageRange;}ElseIf(sellEasierDay){sellBOPoint=myOpen-thrust_prcnt1*pre_averageRange;buyBOPoint=myOpen+thrust_prcnt2*pre_averageRange;}//設定畫線類型,如:Enum_Dot,Enum_Line,Enum_Bar,Enum_Cross,默認為屬性框中設定//設定畫線風格,如:Enum_Solid,Enum_Dash,Enum_Broken,Enum_Dash_Dot,默認為屬性框中設定//設定畫線線寬,如:Enum_1Pix,Enum_2Pix,Enum_3Pix,Enum_4Pix,Enum_5Pix,Enum_6Pix,Enum_7Pix,默認為屬性框中設定PlotAuto("myOpen",myOpen,0,White,Enum_Line,Enum_Dash,Enum_1Pix);PlotNumeric("buyBOPoint",buyBOPoint,0,Green);PlotNumeric("sellBOPoint",sellBOPoint,0,Red);//Commentary("myOpen="+Text(myOpen));//Commentary("Time="+Text(Time));//Commentary("trades_time="+Text(trades_time));//Commentary("buyBOPoint="+Text(buyBOPoint));//Commentary("sellBOPoint="+Text(sellBOPoint));//Commentary("averageRange="+Text(averageRange));//Commentary("pre_averageRange="+Text(pre_averageRange));//如果當日可以交易If(canTrades){If(MarketPosition<>1&&High>=buyBOPoint&&trades_time_flag&&buysToday==0){myEntryPrice=Max(Open,buyBOPoint);Buy(lots,myEntryPrice);buysToday=1;//當日交易限制1多1空Commentary("突破買開buyBOPoint");}If(MarketPosition<>-1&&Low<=sellBOPoint&&trades_time_flag&&sellsToday==0){myEntryPrice=Min(Open,sellBOPoint);SellShort(lots,myEntryPrice);sellsToday=1;//當日交易限制1多1空Commentary("*突破賣開sellBOPoint*");}}Else{Return;}//高低點計算If(MarketPosition==0){intraTradeHigh=0;intraTradeLow=1999999;}ElseIf(MarketPosition==1){intraTradeHigh=Max(intraTradeHigh,High);}ElseIf(MarketPosition==-1){intraTradeLow=Min(intraTradeLow,Low);}Commentary("intraTradeHigh="+Text(intraTradeHigh));Commentary("intraTradeLow="+Text(intraTradeLow));//突破昨高標志If(High>yesHigh_up&&!high_flag){high_flag=True;PlotString("high_flag","突破昨高標志",High+MinPoint*25);Commentary("前高="+Text(yesHigh));Commentary("前高標志+"+Text(yesHigh_up));Commentary("前高失敗位置-"+Text(yesHigh_dn));}//突破昨高標志If(Low<yesLow_dn&&!low_flag){low_flag=True;PlotString("low_flag","*突破昨低標志*",Low-MinPoint*25);Commentary("*前低="+Text(yesLow));Commentary("*前低標志+"+Text(yesLow_dn));Commentary("*前低失敗位置-"+Text(yesLow_up));}//多單處理初始止損1If(MarketPosition==1&&sellsToday==0&&BarsSinceEntry>0){longLiqPoint=myEntryPrice-prot_stop_prcnt1*pre_averageRange;longLiqPoint=Min(longLiqPoint,myEntryPrice-prot_stop_amt*MinPoint);Commentary("longLiqPoint="+Text(longLiqPoint));//貼近真實交易If(longLiqPoint>=yesHigh_dn){//[1]保護止損If(Low<=longLiqPoint){myExitPrice=Min(Open,longLiqPoint);If(BarsSinceEntry>4&&Time<=liq_rev_endtime){myEntryPrice=longLiqPoint;myEntryPrice=Min(Open,myEntryPrice);SellShort(lots,myEntryPrice);sellsToday=1;PlotString("liq_rev","---觸發(fā)反轉信號---",High+MinPoint*35);Commentary("*失敗突破反轉賣開liq_rev-1*");Return;}Sell(0,myExitPrice);Commentary("[1]保護止損Sell");Return;}//回落昨高標志If(high_flag&&low<=yesHigh_dn){myEntryPrice=yesHigh_dn;myEntryPrice=Min(Open,myEntryPrice);SellShort(lots,myEntryPrice);sellsToday=1;//當日交易限制1多1空Commentary("*失敗突破反轉賣開sellBOPoint*");PlotString("high_flag","突破昨高后又回落~",High+MinPoint*25);Commentary("前高失敗位置-"+Text(yesHigh_dn));}}Else{//回落昨高標志If(high_flag&&low<=yesHigh_dn){myEntryPrice=yesHigh_dn;myEntryPrice=Min(Open,myEntryPrice);SellShort(lots,myEntryPrice);sellsToday=1;//當日交易限制1多1空Commentary("*失敗突破反轉賣開sellBOPoint*");PlotString("high_flag","突破昨高后又回落~",High+MinPoint*25);Commentary("前高失敗位置-"+Text(yesHigh_dn));Return;}//[1]保護止損If(Low<=longLiqPoint){myExitPrice=Min(Open,longLiqPoint);If(BarsSinceEntry>4&&Time<=liq_rev_endtime){myEntryPrice=longLiqPoint;myEntryPrice=Min(Open,myEntryPrice);SellShort(lots,myEntryPrice);sellsToday=1;PlotString("liq_rev","---觸發(fā)反轉信號---",High+MinPoint*35);Commentary("*失敗突破反轉賣開liq_rev-2*");Return;}Sell(0,myExitPrice);Commentary("[1]保護止損Sell");}}}//空單處理初始止損1If(MarketPosition==-1&&buysToday==0&&BarsSinceEntry>0){shortLiqPoint=myEntryPrice+prot_stop_prcnt1*pre_averageRange;shortLiqPoint=Max(shortLiqPoint,myEntryPrice+prot_stop_amt*MinPoint);Commentary("shortLiqPoint="+Text(shortLiqPoint));If(shortLiqPoint<=yesLow_up){//[1]保護止損BuyToCoverIf(High>=shortLiqPoint){myExitPrice=Max(Open,shortLiqPoint);If(BarsSinceEntry>4&&Time<=liq_rev_endtime){myEntryPrice=shortLiqPoint;myEntryPrice=Max(Open,myEntryPrice);Buy(lots,myEntryPrice);buysToday=1;PlotString("liq_rev","===觸發(fā)反轉信號===",Low-MinPoint*35);Commentary("失敗突破反轉買開liq_rev-1");Return;}BuyToCover(0,myExitPrice);Commentary("[1]保護止損BuyToCover:"+Text(shortLiqPoint));Return;}//回落昨低標志If(low_flag&&High>=yesLow_up){myEntryPrice=yesLow_up;myEntryPrice=Max(Open,myEntryPrice);Buy(lots,myEntryPrice);buysToday=1;Commentary("失敗突破反轉買開buy");PlotString("low_flag","*突破昨低后又沖高~",Low-MinPoint*20);Commentary("前低失敗位置-"+Text(yesLow_up));Return;}}Else{//回落昨低標志If(low_flag&&High>=yesLow_up){myEntryPrice=yesLow_up;myEntryPrice=Max(Open,myEntryPrice);Buy(lots,myEntryPrice);buysToday=1;Commentary("失敗突破反轉買開buy");PlotString("low_flag","*突破昨低后又沖高~",Low-MinPoint*20);Commentary("前低失敗位置-"+Text(yesLow_up));Return;}//[1]保護止損BuyToCoverIf(High>=shortLiqPoint){myExitPrice=Max(Open,shortLiqPoint);If(BarsSinceEntry>4&&Time<=liq_rev_endtime){myEntryPrice=shortLiqPoint;myEntryPrice=Max(Open,myEntryPrice);Buy(lots,myEntryPrice);buysToday=1;PlotString("liq_rev","===觸發(fā)反轉信號===",Low-MinPoint*35);Commentary("失敗突破反轉買開liq_rev-2");Return;}BuyToCover(0,myExitPrice);Commentary("[1]保護止損BuyToCover:"+Text(shortLiqPoint));Return;}}}//多單處理初始止損2If(MarketPosition==1&&sellsToday==1){longLiqPoint=myEntryPrice-prot_stop_prcnt2*pre_averageRange;longLiqPoint=Min(longLiqPoint,myEntryPrice-prot_stop_amt*MinPoint);If(Low<=longLiqPoint&&BarsSinceEntry>0){myExitPrice=Min(Open,longLiqPoint);Sell(0,myExitPrice);Commentary("[1]保護止損2Sell");}}//空單處理初始止損2If(MarketPosition==-1&&buysToday==1){shortLiqPoint=myEntryPrice+prot_stop_prcnt2*pre_averageRange;shortLiqPoint=Max(shortLiqPoint,myEntryPrice+prot_stop_amt*MinPoint);If(High>=shortLiqPoint&&BarsSinceEntry>0){myExitPrice=Max(Open,shortLiqPoint);BuyToCover(0,myExitPrice);Commentary("[1]保護止損2BuyToCover");}}//多單處理平移止損If(MarketPosition==1){If(intraTradeHigh>=myEntryPrice+break_even_prcnt*pre_averageRange){longLiqPoint=myEntryPrice+MinPoint*1;If(High>=intraTradeHigh){PlotString("觸發(fā)平移條件or創(chuàng)新高","@",High+MinPoint*5);}}If(Low<=longLiqPoint&&BarsSinceEntry>0){myExitPrice=Min(Open,longLiqPoint
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣告場地服務合同范本
- 工程機器轉讓合同范本
- 遼寧省葫蘆島市2025屆九年級上學期期末數(shù)學試卷(含答案)
- 物流房租門面合同范本
- 私營公司工程合同范本
- 酒店管理轉讓合同范本
- 鍋爐安裝合同范本
- 第08講 一元一次不等式(組)的解法及其應用(4考點+19題型)2025年中考數(shù)學一輪復習講練測(廣東專用)
- 2025典當行借款合同書
- 預應力混凝土結構課程設計知到課后答案智慧樹章節(jié)測試答案2025年春青島理工大學
- GB/T 15072.2-2008貴金屬合金化學分析方法銀合金中銀量的測定氯化鈉電位滴定法
- GB/T 10607-2001空氣分離設備產品型號編制方法
- 醫(yī)學類畢業(yè)答辯學術PPT模板
- 電焊工基礎知識培訓-課件
- 上海中學自招真題解析
- 中國古典詩歌的多義性
- 濟青高速涵洞定期檢查報告模版
- 高考寫作指導:作文訓練之語言的提升
- 弱電安裝安全安全技術交底
- Commvault數(shù)據(jù)庫備份恢復功能介紹
- SJG 05-2020 基坑支護技術標準-高清現(xiàn)行
評論
0/150
提交評論