




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
凯特纳通道策略(TB版)策略概述凯特纳通道策略是一种基于价格波动范围的交易策略,通过计算价格的上轨(KCU)、中轨(AvgVal)和下轨(KCL)来定义交易区间,并依据价格穿越这些轨道的时机来制定入场和出场信号。参数定义length:均线周期,默认为10,用于计算均价和平均波动范围。Constt:通道倍数,默认为1.2,用于计算通道上轨和下轨与均价的偏离程度。ChanPcnt:入场时通道宽度的百分比,默认为0.5,用于确定入场触发价格。buyN/sellN:入场触发条件有效K线周期,默认为5,表示价格穿越通道后,在多少根K线内触发入场信号。stopN:止损周期,默认为4,用于计算止损线。变量定义Price:关键价格,默认为收盘价。KCU:通道上轨,计算公式为均价加上平均波动范围乘以通道倍数。KCL:通道下轨,计算公式为均价减去平均波动范围乘以通道倍数。ChanRng:通道宽度的一半,用于计算入场触发价格。AvgVal:均价,即length周期的均价。AvgRange:平均波动范围,即length周期的真实波动范围均值(ATR)。Setbar:触发单设置的K线的最高或最低价。CountL/CountS:触发单周期计数,用于记录价格穿越通道后的K线数。hh/ll:多头/空头触发单价位。Lstopline/Sstopline:多头/空头止损线。con/con2:布尔变量,用于判断价格穿越轨道的情况。做多策略入场条件:价格上穿通道上轨(KCU)。在上穿后的buyN根K线内,且当前最高价大于等于通过通道宽度计算的触发价(hh)。买入开仓,以开盘价和触发价的较大值成交。出场条件:价格下穿轨道中轨(AvgVal),平仓。当前价格小于N周期低点,平仓。做空策略入场条件:价格下穿通道下轨(KCL)。在下穿后的sellN根K线内,且当前最低价小于等于通过通道宽度计算的触发价(ll)。做空开仓,以开盘价和触发价的较小值成交。出场条件:价格上穿轨道中轨(AvgVal),平仓。当前价格大于等于N周期高点,平仓。集合竞价和小节休息期间不执行交易。触发单价格的计算考虑了通道宽度的百分比(ChanPcnt),以确保在价格突破后有一定的盈利空间再入场。止损线的设置基于历史低点或高点,以减少潜在损失。凯特纳通道策略通过精确计算价格波动范围并结合价格穿越轨道的时机,为交易者提供了明确的入场和出场信号,旨在捕捉市场趋势中的盈利机会。做多信号代码:ParamsNumericlength(10);NumericConstt(1.2);NumericChanPcnt(0.5);NumericbuyN(5);NumericstopN(4);VarsNumericSeriesPrice(0);NumericSeriesKCU(0);NumericSeriesKCL(0);NumericSeriesChanRng(0);NumericSeriesAvgVal(0);NumericSeriesAvgRange(0);NumericSeriesSetbar(0);NumericSeriesCountL(0);NumericSerieshh;NumericSeriesLstopline;boolcon;BoolSeriescon2;BeginIf(!CallAuctionFilter())Return;Price=Close;AvgVal=Average(Price,Length);AvgRange=Average(TrueRange,Length);KCU=AvgVal+AvgRange*Constt;KCL=AvgVal-AvgRange*Constt;ChanRng=(KCU-KCL)/2;CountL=CountL+1;con=CrossOver(Price,KCU);If(con){SetBar=High;CountL=0;hh=SetBar+(ChanRng*ChanPcnt);}If(MarketPosition==0){If(Price[1]>KCU[1]andCountL<=buyNandHigh>=hh)Buy(0,max(Open,hh));}con2=CrossUnder(Close,AvgVal);Lstopline=Lowest(Low[1],stopN);If(MarketPosition==1andBarsSinceEntry>0){If(con2[1])Sell(0,Open);If(Low<=Lstopline)Sell(0,Min(Open,Lstopline));}End系统规则:1.计算关键价格的凯特纳通道2.价格突破凯特纳通道后,设定入场触发单入场条件:1、价格突破凯特纳通道后,在当根K线高点之上N倍通道幅度,设定多头触发单,此开仓点将挂单X根k线2、价格突破凯特纳通道后,在当根K线低点之下N倍通道幅度,设定空头触发单,此开仓点将挂单X根k线出场条件:1.价格下穿轨道中轨时平仓2.价格小于N周期低点平仓做多代码解释:ParamsNumericlength(10);//声明数值参数length,初值10,即均线参数。NumericConstt(1.2);//声明数值参数Constt,初值1.2,即通道倍数。NumericChanPcnt(0.5);//声明数值参数ChanPcnt,初值0.5,即入场参数。NumericbuyN(5);//声明数值参数buyN,初值5,入场触发条件有效K线周期。NumericstopN(4);//声明数值参数stopN,初值4,低点止损参数。VarsNumericSeriesPrice(0);//声明数值序列变量Price,初值0,即价格。NumericSeriesKCU(0);//声明数值序列变量KCU,初值0,通道上轨。NumericSeriesKCL(0);//声明数值序列变量KCL,初值0,通道下轨。NumericSeriesChanRng(0);//声明数值序列变量ChanRng,初值0,通道宽度。NumericSeriesAvgVal(0);//声明数值序列变量AvgVal,初值0,通道中轨。NumericSeriesAvgRange(0);//声明数值序列变量AvgRange,初值0,真实波动均值。NumericSeriesSetbar(0);//声明数值序列变量Setbar,初值0NumericSeriesCountL(0);//声明数值序列变量CountL,初值0,触发单周期变量。NumericSerieshh;//声明数值序列变量hh,多头触发单价位。NumericSeriesLstopline;//声明数值序列变量Lstopline,即止损线。boolcon;//声明布尔型变量con。BoolSeriescon2;//声明布尔型序列变量con2。BeginIf(!CallAuctionFilter())Return;//集合竞价和小节休息过滤.//指标计算Price=Close;//关键价格,赋值收盘价,也可以换成中位价等。AvgVal=Average(Price,Length);//计算均线默认10周期。AvgRange=Average(TrueRange,Length);//计算真实波动均值(atr)默认10周期。KCU=AvgVal+AvgRange*Constt;//计算通道上轨=均线+1.2倍的10周期真实波动值。KCL=AvgVal-AvgRange*Constt;//计算通道下轨=均线-1.2倍的10周期真实波动值。ChanRng=(KCU-KCL)/2;//通道宽度/2CountL=CountL+1;//每经过1根K线CountL+1,用于判断信号取消的变量,上穿上轨后,默认参数:开仓点仅挂单5根k线。con=CrossOver(Price,KCU);//bool变量con,当价格上穿上轨时为真If(con)//假如变量con为真。{SetBar=High;//变量SetBar赋值为当前最高价。CountL=0;//变量CountL=0hh=SetBar+(ChanRng*ChanPcnt);//直接代入上面求得的数值。}//系统入场If(MarketPosition==0)//当前没有持仓。{If(Price[1]>KCU[1]andCountL<=buyNandHigh>=hh)//当价格上穿上轨,并且在buyN根K线内>=变量CountL,且当前最高价大于等于变量hh时,买入开仓。{Buy(0,max(Open,hh));//开仓买入。}}//系统出场con2=CrossUnder(Close,AvgVal);//布尔型变量con2,当价格下穿轨道中轨时为真Lstopline=Lowest(Low[1],stopN);//止损线为求4周期内的最低价。If(MarketPosition==1andBarsSinceEntry>0)//当前持有多单,且建仓数位大于0.{If(con2[1])//价格下穿轨道中轨时。{Sell(0,Open);//平仓。}If(Low<=Lstopline)//当前价格小于4周期低点平仓{Sell(0,Min(Open,Lstopline));//平仓。}}End做空信号代码:ParamsNumericlength(10);NumericConstt(1.2);NumericChanPcnt(0.5);NumericsellN(5);NumericstopN(4);VarsNumericSeriesPrice(0);NumericSeriesKCU(0);NumericSeriesKCL(0);NumericSeriesChanRng(0);NumericSeriesAvgVal(0);NumericSeriesAvgRange(0);NumericSeriesSetbar(0);NumericSeriesCountS(0);NumericSeriesll;NumericSeriesSstopline;boolcon;BoolSeriescon2;BeginIf(!CallAuctionFilter())Return;Price=Close;AvgVal=Average(Price,Length);AvgRange=Average(TrueRange,Length);KCU=AvgVal+AvgRange*Constt;KCL=AvgVal-AvgRange*Constt;ChanRng=(KCU-KCL)/2;CountS=CountS+1;con=CrossUnder(price,KCL);If(con){SetBar=Low;countS=0;ll=SetBar-(ChanRng*Chanpcnt);}If(MarketPosition==0){If(Price[1]<KCL[1]andCountS<=sellNandLow<=ll){SellShort(0,Min(Open,ll));}}con2=CrossOver(Close,AvgVal);Sstopline=Highest(High[1],stopN);If(MarketPosition==-1andBarsSinceEntry>0){If(con2[1]){BuyToCover(0,Open);}If(High>=Sstopline){BuyToCover(0,max(Sstopline,Open));}}End做空代码注解:Params//定义策略参数Numericlength(10);//均线参数,设置为10。NumericConstt(1.2);//通道宽度倍数,设置为1.2。NumericChanPcnt(0.5);//入场时通道宽度的百分比,设置为0.5。NumericsellN(5);//空头入场触发条件有效K线周期,设置为5。NumericstopN(4);//止损周期,设置为4。Vars//声明变量NumericSeriesPrice(0);//价格序列,初始化为0。NumericSeriesKCU(0);//凯特纳通道上轨序列,初始化为0。NumericSeriesKCL(0);//凯特纳通道下轨序列,初始化为0。NumericSeriesChanRng(0);//通道宽度序列,初始化为0。NumericSeriesAvgVal(0);//均线值序列,初始化为0。NumericSeriesAvgRange(0);//平均波动范围序列,初始化为0。NumericSeriesSetbar(0);//触发单设置的K线的最高或最低价,初始化为0。NumericSeriesCountS(0);//触发单周期计数,初始化为0。NumericSeriesll;//空头触发单价位序列。NumericSeriesSstopline;//止损线序列。boolcon;//价格下穿通道下轨的布尔变量。BoolSeriescon2;//价格上穿均线的布尔序列。Begin//策略逻辑开始If(!CallAuctionFilter())Return;//如果当前不是交易时间,则退出策略。Price=Close;//将收盘价赋值给关键价格。AvgVal=Average(Price,Length);//计算关键价格的Length周期均线。AvgRange=Average(TrueRange,Length);//计算Length周期的平均波动范围。KCU=AvgVal+AvgRange*Constt;//计算通道上轨,为均线加上波动范围与倍数的乘积。KCL=AvgVal-AvgRange*Constt;//计算通道下轨,为均线减去波动范围与倍数的乘积。ChanRng=(KCU-KCL)/2;//计算通道宽度的一半。CountS=CountS+1;//每经过一根K线,CountS自增1。con=CrossUnder(price,KCL);//判断价格是否下穿通道下轨。If(con)//如果价格下穿通道下轨。{SetBar=Low;//将当前最低价赋值给SetBar。countS=0;//重置CountS为0。ll=SetBa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国铜版纸行业十三五规划及发展潜力分析报告
- 2025-2030年中国路由器市场十三五规划及发展策略分析报告
- 2025-2030年中国药用碘行业十三五规划与发展前景分析报告
- 2025-2030年中国背投式投影电视机项目投资风险分析报告
- 2025-2030年中国翻译行业运行动态及投资发展前景预测报告
- 2025-2030年中国缆索起重机市场运行态势及发展趋势分析报告
- 2025-2030年中国硫铁矿烧渣行业运行动态规划研究报告
- 2025-2030年中国盐酸美金刚行业竞争格局及发展规划分析报告
- 2025-2030年中国白纸板市场发展趋势与投资战略研究报告
- 2025安徽省建筑安全员A证考试题库附答案
- 类风湿关节炎前状态诊疗专家共识(2024)解读
- 2024-2030年中国化妆镜行业市场发展趋势与前景展望战略分析报告
- Project项目管理(从菜鸟到实战高手)
- 食品加工机械与设备操作技能测试考核试卷
- SNT 1961.11-2013 出口食品过敏原成分检测 第11部分:实时荧光PCR方法检测麸质成分
- 排洪渠施工施工方法
- 冀教版数学七年级上下册知识点总结
- 第六章 围手术期护理课件
- 2024广东省深圳市宝安区中考初三二模英语试题及答案
- 中考字音字形练习题(含答案)-字音字形专项训练
- 音响设备出租行业竞争分析及发展前景预测报告
评论
0/150
提交评论