




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
成交量加权策略(TB版)该交易策略的核心思路是基于成交量加权动量(VWM)和平均真实波动范围(AATR)来识别市场的牛势和熊势,进而决定交易的入场和出场时机。1.过滤时段:策略首先通过`CallAuctionFilter()`函数过滤掉集合竞价和小节休息时间,避免在这些时段进行交易。2.计算指标:-成交量加权动量(VWM):使用`XAverage`函数计算成交量(Vol)与价格动量(Momentum)的乘积的平均值。动量是基于收盘价(Close)和动量长度(MomLen)计算的。-平均真实波动范围(AATR):使用`AvgTrueRange`函数计算过去一段时间内(ATRLen)的真实波动范围的平均值。3.识别牛势和熊势:-牛势设置(BullSetup):当VWM从下方穿越0线时,认为市场进入牛势,即价格上涨的趋势。-熊势设置(BearSetup):当VWM从上方穿越0线时,认为市场进入熊势,即价格下跌的趋势。4.交易决策:-牛势入场:当市场进入牛势时(BullSetup为真),重置牛势设置计数(LSetup),并记录入场价格(LEPrice)为当前收盘价(Close)。这表示在牛势确认后,策略会在下一个交易机会以收盘价买入。-牛势持续:如果市场没有进入牛势(BullSetup为假),则牛势设置计数递增。用于后续判断牛势的持续性或趋势的确认。5.出场逻辑:-出场逻辑基于价格达到目标位置、止损条件触发、时间限制或其他技术指标。6.资金管理:-资金管理是交易策略中重要的一部分,它涉及如何分配资金、控制仓位大小以及管理风险。确保策略长期盈利能力的关键因素之一。该交易策略通过识别市场的牛势和熊势,结合成交量加权动量和平均真实波动范围两个指标,制定交易的入场和出场时机。同时,策略还需要考虑资金管理、风险控制等因素,以确保整体交易绩效的稳定性和可持续性。策略规则如下:1.用VWM上穿零轴判断多头趋势2.用VWM下穿零轴判断空头趋势入场条件:1.价格高于VWM上穿零轴时价格通道,且在SetupLen的BAR数目内,做多2.价格低于UWM下穿零轴时价格通道,在SetupLen的BAR数目内,做空做多信号代码:ParamsNumericMomLen(5);NumericAvgLen(20);NumericATRLen(5);NumericATRPcnt(0.5);NumericSetupLen(5);VarsNumericSeriesVWM(0);NumericSeriesAATR(0);NumericSeriesLEPrice(0);NumericSeriesSEPrice(0);boolSeriesBullSetup(False);boolSeriesBearSetup(False);NumericSeriesLSetup(0);NumericSeriesSSetup(0);Begin//集合竞价和小节休息过滤If(!CallAuctionFilter())Return;VWM=XAverage(Vol*Momentum(Close,MomLen),AvgLen);AATR=AvgTrueRange(ATRLen);BullSetup=CrossOver(VWM,0);BearSetup=CrossUnder(VWM,0);If(BullSetup){LSetup=0;LEPrice=Close;}ElseLSetup=LSetup[1]+1;//系统入场IF(CurrentBar>AvgLenandMarketPosition==0){If(High>=LEPrice[1]+(ATRPcnt*AATR[1])andLSetup[1]<=SetupLenandLSetup>=1AndVol>0){Buy(0,max(Open,LEPrice[1]+(ATRPcnt*AATR[1])));}}//系统出场IF(MarketPosition==1andBarsSinceEntry>0AndVol>0){If(BearSetup[1]==True){Sell(0,Open);}}End做多信号代码解释://定义参数,这些参数用于设置策略中的不同时间周期和计数ParamsNumericMomLen(5);//动量指标的时间周期NumericAvgLen(20);//成交量加权移动平均的时间周期NumericATRLen(5);//平均真实波动范围的时间周期NumericATRPcnt(0.5);//入场触发的百分比系数NumericSetupLen(5);//牛势设置的时间限制//声明变量,用于存储计算结果和标志VarsNumericSeriesVWM(0);//成交量加权动量NumericSeriesAATR(0);//平均真实波动范围NumericSeriesLEPrice(0);//牛势入场价格NumericSeriesSEPrice(0);//熊势入场价格boolSeriesBullSetup(False);//牛势设置标志boolSeriesBearSetup(False);//熊势设置标志NumericSeriesLSetup(0);//牛势设置计数NumericSeriesSSetup(0);//熊势设置计数//策略开始执行Begin//过滤掉集合竞价和小节休息时间,避免在这些时段交易If(!CallAuctionFilter())Return;//计算成交量加权动量和平均真实波动范围VWM=XAverage(Vol*Momentum(Close,MomLen),AvgLen);AATR=AvgTrueRange(ATRLen);//设置牛势和熊势的条件,使用交叉信号作为触发条件BullSetup=CrossOver(VWM,0);BearSetup=CrossUnder(VWM,0);//如果当前是牛势设置,则重置牛势设置计数并记录入场价格If(BullSetup){LSetup=0;LEPrice=Close;}//如果不是牛势设置,则牛势设置计数递增ElseLSetup=LSetup[1]+1;//系统入场条件:当前K线大于平均周期,无持仓,且成交量大于0IF(CurrentBar>AvgLenandMarketPosition==0){//如果最高价超过上一根K线的入场触发价格,且牛势设置计数在限制内,则买入If(High>=LEPrice[1]+(ATRPcnt*AATR[1])andLSetup[1]<=SetupLenandLSetup>=1AndVol>0){Buy(0,max(Open,LEPrice[1]+(ATRPcnt*AATR[1])));}}//系统出场条件:持有多头仓位,交易日数大于0,且成交量大于0IF(MarketPosition==1andBarsSinceEntry>0AndVol>0){//如果上一根K线的熊势设置为真,则卖出If(BearSetup[1]==True){Sell(0,Open);}}//策略结束End做空信号代码:ParamsNumericMomLen(5);NumericAvgLen(20);NumericATRLen(5);NumericATRPcnt(0.5);NumericSetupLen(5);VarsNumericSeriesVWM(0);NumericSeriesAATR(0);NumericSeriesSEPrice(0);BoolSeriesBullSetup(False);BoolSeriesBearSetup(False);NumericSeriesSSetup(0);BeginIf(!CallAuctionFilter())Return;VWM=XAverage(Vol*Momentum(Close,MomLen),AvgLen);AATR=AvgTrueRange(ATRLen);BullSetup=CrossOver(VWM,0);BearSetup=CrossUnder(VWM,0);If(BearSetup){SSetup=0;SEPrice=Close;}ElseSSetup=SSetup[1]+1;If(CurrentBar>AvgLenandMarketPosition==0){If(Low<=SEPrice[1]-(ATRPcnt*AATR[1])andSSetup[1]<=SetupLenandSSetup>=1AndVol>0){SellShort(0,Min(Open,SEPrice[1]-(ATRPcnt*AATR[1])));}}If(MarketPosition==-1andBarsSinceEntry>0AndVol>0){If(BullSetup[1]==True){Buytocover(0,Open);}}End做空的代码解读:ParamsNumericMomLen(5);//声明数值参数MomLen,初值5,即VWM的参数NumericAvgLen(20);//声明数值参数AvgLen,初值20,亦即VWM的参数。NumericATRLen(5);//声明数值参数ATRLen,初值5,即ATR的参数。NumericATRPcnt(0.5);//声明数值参数ATRPcnt,初值0.5,即入场价格波动率参数。NumericSetupLen(5);//声明数值参数SetupLen,初值5,即条件持续有效K线数。VarsNumericSeriesVWM(0);//声明序列变量VWM,初值0.NumericSeriesAATR(0);//声明序列变量AATR,初值0.NumericSeriesSEPrice(0);//声明序列变量SEPrice,初值0.BoolSeriesBullSetup(False);//声明布尔型序列变量BullSetup,初值为假。BoolSeriesBearSetup(False);//声明布尔型序列变量BearSetup,初值为假。NumericSeriesSSetup(0);//声明序列变量SSetup,初值0.BeginIf(!CallAuctionFilter())Return;//集合竞价和小节休息过滤。VWM=XAverage(Vol*Momentum(Close,MomLen),AvgLen);//固定函数Vol,直接用表示的就是成交量;求动量函数Momentum(Close,MomLen),意思计算5周期以来的收盘价的动量值;函数XAverage,就是求平均值,把动量乘以成交量所得的值与20周期返回去求平均值AATR=AvgTrueRange(ATRLen);//函数AvgTrueRange,求真实波动值,这个之前也解读过了,把参数5返回求值。BullSetup=CrossOver(VWM,0);//函数CrossOver,即突破,变量VWM突破0线。BearSetup=CrossUnder(VWM,0);//变量VWM下穿0线。If(BearSetup)//假如布尔型序列变量BearSetup为真。{SSetup=0;//变量SSetup=0SEPrice=Close;//变量SEPrice=当前收盘价。}Else//变量BearSetup为假的时候。SSetup=SSetup[1]+1;//变量SSetup=前一个变量SSetup[1]+1.//系统入场If(CurrentBar>AvgLenandMarketPosition==0)//假如当前公式应用商品在当前Bar的索引值>5,并且当前没有持仓的。{If(Low<=SEPrice[1]-(ATRPcnt*AATR[1])andSSetup[1]<=SetupLenandSSetup>=1AndVol>0)//假如当前最低价Low<=前一个变量SEPrice[1]-(0.5*前一个AATR[1]),并且前一变量SSetup[1]<=当前变量SetupLen,并且SSetup>=1,并且成交量Vol>0{
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿法制安全教育课件
- 2关于开展2025年承诺既换证自查工作的方案
- 全国普通高等学校招生统一考试2025届高三第九次考试英语试题含解析
- 上海市杨浦区重点中学2025届初三下学期5月月考化学试题含解析
- 延津县2024-2025学年数学四年级第二学期期末经典试题含解析
- 福州软件职业技术学院《阿拉伯各国概况》2023-2024学年第二学期期末试卷
- 湖北省实验中学2024-2025学年高三4月暑期摸底考试数学试题试卷含解析
- 北京化工大学《医学检验前沿技术》2023-2024学年第二学期期末试卷
- 云南省大姚一中2024-2025学年高三下学期命题预测及题型示例数学试题含解析
- 楚雄师范学院《文化创意案例分析(双语)》2023-2024学年第二学期期末试卷
- 商住小区施工组织设计
- DB37T 4405-2021水闸工程运行规范
- 工程爆破实用手册
- 地基与基础分部工程验收报告
- 诗歌艺术手法:《扬州慢》【知识精讲+备课精研】 高二语文课内知识点拓展延伸(统编版选择性必修下册)
- GA/T 1509-2018法庭科学现场制图规范
- 临床医学概要课件
- 模板及支撑计算书
- 柔性电子技术与移动医疗课件
- 血液内科课件
- 惠州市火车西站分区规划
评论
0/150
提交评论