日内清仓策略(TBQ版)_第1页
日内清仓策略(TBQ版)_第2页
日内清仓策略(TBQ版)_第3页
日内清仓策略(TBQ版)_第4页
日内清仓策略(TBQ版)_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

日内清仓策略(TBQ版)主要交易逻辑思路本策略的核心交易逻辑主要围绕“突破交易”和“保护止损”展开。它通过对市场波动性的分析,结合特定的交易规则,来确定买入和卖出的时机。1.突破交易:-策略首先根据市场的开盘价和平均真实波动范围(ATR)来计算突破买入和卖出点。如果市场处于趋买日,那么突破买入点就是开盘价加上一定百分比的ATR;相反,如果市场处于趋卖日,突破卖出点则是开盘价减去一定百分比的ATR。-当市场价格触及这些突破点,并且当前时间处于可交易时间段内,同时当日还没有进行过相应方向的交易时,策略就会发出买入或卖出的指令。2.保护止损:-为了控制风险,策略为每笔交易设置了保护止损点。对于多单来说,止损点是开仓价格减去一定百分比的ATR或一个固定的偏移量(取两者中的较小值);对于空单来说,止损点则是开仓价格加上一定百分比的ATR或一个固定的偏移量(取两者中的较大值)。-如果市场价格触及止损点,并且自开仓以来已经有过至少一次价格变动(即BarsSinceEntry>0),策略就会执行平仓操作。3.日内清仓:-为了避免隔夜风险,策略还设定了日内交易截止时间。当市场价格触及这个时间点,并且当前持有仓位时,策略会执行清仓操作,无论盈亏。策略特点1.风险管理:-策略通过设置保护止损点和日内清仓机制来严格控制风险。这有助于避免因市场大幅波动而造成的巨大损失。2.灵活性:-策略能够根据市场的实际情况动态调整交易参数,如突破点和止损点的计算方式。这使得策略能够更好地适应不同的市场环境。3.交易纪律:-策略严格遵循既定的交易规则,不会因为市场的短期波动而频繁交易。这有助于保持交易的纪律性和一致性。4.适用性:-该策略适用于那些希望通过短期价格波动获利的交易者。它特别适合于那些具有较高波动性的市场或品种。5.可视化与反馈:-策略提供了丰富的图表和注释功能,帮助交易者更好地理解市场的动态和策略的执行情况。这有助于交易者及时调整策略或改进交易方法。本策略通过结合突破交易、保护止损和日内清仓等机制,旨在实现稳健的风险管理和高效的交易执行。它适用于各种具有波动性的市场环境,并能够帮助交易者在控制风险的前提下追求稳定的收益。策略代码: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);//触发平移事件百分比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;//前日-昨日收盘价Series<Numeric>myEntryPrice;//开仓价格Series<Numeric>myExitPrice;//平仓价格Series<Numeric>preMarketPos(0);//前一次持仓状态,初始0,多=1,空=-1Series<Numeric>trades_time(0.2100);//日内交易时间Series<Bool>nightsDay(False);//夜盘Series<Bool>daysDay(False);//白盘Series<Bool>daysDayStockIndex(False);//白盘StockindexfuturesSeries<Bool>trades_time_flag(False);//是否在可交易时间//策略运行期间,首先运行且只有一次,应用在订阅数据等操作OnInit(){//订阅日线数据SubscribeBar(Data0.Symbol,"1d",Data0.BeginDateTime);DATA1.HideKline;//与数据源有关Range[0:DataCount-1]{//AddDataFlag(Enum_Data_RolloverBackWard());//设置后复权//AddDataFlag(Enum_Data_RolloverRealPrice());//设置映射真实价格//AddDataFlag(Enum_Data_AutoSwapPosition());//设置自动换仓//AddDataFlag(Enum_Data_IgnoreSwapSignalCalc());//设置忽略换仓信号计算}}//在所有的数据源准备完成后调用,应用在数据源的设置等操作OnReady(){}//在新bar的第一次执行之前调用一次,参数为新bar的图层数组OnBarOpen(ArrayRef<Integer>indexs){}//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组OnBar(ArrayRef<Integer>indexs){myOpen=OpenD(0);//今开yesDayClose=data1.CloseD(1);//昨日收盘价MinPoint=MinMove*PriceScale;averageRange=data1.AvgTrueRange(avg_rng_length);//日线平均真实波动yesterdayOCRRange=Abs(data1.OpenD(1)-data1.CloseD(1));//昨波动区间averageOCRange=data1.Average(Abs(data1.OpenD(1)-data1.CloseD(1)),avg_oc_length);//日线平均波动buyEasierDay=data1.CloseD(2)<=data1.CloseD(1);//趋买日sellEasierDay=data1.CloseD(2)>data1.CloseD(1);//趋卖日befyesCloseToYes=data1.CloseD(2)-data1.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;//可交易时间确定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);}//常规突破上下轨计算If(buyEasierDay){buyBOPoint=myOpen+thrust_prcnt1*averageRange;sellBOPoint=myOpen-thrust_prcnt2*averageRange;}ElseIf(sellEasierDay){sellBOPoint=myOpen-thrust_prcnt1*averageRange;buyBOPoint=myOpen+thrust_prcnt2*averageRange;}PlotAuto("myOpen",(myOpen),0,Magenta,-1,-1,Enum_2Pix);PlotNumeric("buyBOPoint",buyBOPoint);PlotNumeric("sellBOPoint",sellBOPoint);Commentary("myOpen="+Text(myOpen));Commentary("Time="+Text(Time));Commentary("trades_time="+Text(trades_time));Commentary("buyBOPoint="+Text(buyBOPoint));Commentary("sellBOPoint="+Text(sellBOPoint));//如果当日可以交易If(canTrades){If(MarketPosition<>1&&High>=buyBOPoint&&trades_time_flag&&buysToday==0){myEntryPrice=Max(Open,buyBOPoint);Buy(lots,myEntryPrice);buysToday=buysToday+1;//当日交易限制1多1空Commentary("突破买开buyBOPoint");}If(MarketPosition<>-1&&Low<=sellBOPoint&&trades_time_flag&&sellsToday==0){myEntryPrice=Min(Open,sellBOPoint);SellShort(lots,myEntryPrice);sellsToday=sellsToday+1;//当日交易限制1多1空Commentary("突破卖开sellBOPoint");}}//多单止损If(MarketPosition==1){longLiqPoint=myEntryPrice-prot_stop_prcnt1*averageRange;longLiqPoint=Min(longLiqPoint,myEntryPrice-prot_stop_amt*MinPoint);If(Low<=longLiqPoint&&BarsSinceEntry>0)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论