矩形形态策略(TS版)_第1页
矩形形态策略(TS版)_第2页
矩形形态策略(TS版)_第3页
矩形形态策略(TS版)_第4页
矩形形态策略(TS版)_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

矩形形态策略(TS版)一种基于技术分析的交易策略,旨在利用矩形形态在金融市场中的应用。矩形形态是价格在一定范围内波动形成的图表模式,通常被视为市场整理或过渡阶段的信号。该策略的核心在于识别矩形形态的形成,并在突破时进行交易。研究背景与发现矩形形态在技术分析中历史悠久,但其可靠性一直存在争议。研究表明,矩形形态既可以作为延续形态,也可以作为反转形态,具体取决于其突破方向与前期价格趋势的关系。突破时的成交量通常会显著增加,这表明市场参与者对突破方向的预期较为一致。此外,研究发现矩形的高度与其突破后的收益之间存在显著的相关性。策略逻辑矩形形态策略的主要逻辑包括以下几个步骤:1.识别矩形形态:-策略首先计算市场的波动性和价格范围。通过分析价格走势,识别出矩形形态的形成。矩形形态通常表现为价格在一定范围内上下波动,形成一个相对稳定的区间。2.监测突破信号:-一旦识别出矩形形态,策略会监测价格是否突破矩形的上边界或下边界。突破信号通常伴随着成交量的增加,这表明市场情绪的变化。3.交易执行:-当价格突破矩形的上边界时,策略会发出买入信号。相反,当价格突破下边界时,策略会发出卖出信号。这种交易逻辑基于矩形形态的突破通常会导致价格继续沿突破方向移动的假设。4.目标设定与风险管理:-策略会根据矩形的高度设定盈利目标。研究表明,矩形高度与突破收益之间存在显著相关性,因此策略利用这一关系来估计突破后的目标价格。-此外,策略还包括风险管理机制。当价格接近矩形边界的一定比例时,策略会发出止损信号,以减少潜在的损失。5.持续监测与调整:-策略会持续监测市场动态,并根据新的价格走势调整交易信号。这种灵活性使得策略能够适应市场的变化。特点-可靠性:通过统计分析和实证研究,策略提供了更准确和可靠的矩形形态突破目标估计方法。-灵活性:策略能够适应不同的市场环境和价格波动,适用于多种金融产品。-风险管理:内置的风险管理机制有助于减少交易中的潜在损失。-适应性:策略能够根据市场条件的变化进行自我调整,保持其有效性。总之,矩形形态策略通过识别和分析矩形形态的形成及其突破信号,提供了一种有效的交易方法。通过结合统计分析和风险管理机制,该策略能够在金融市场中实现稳健的交易表现。研究背景:-矩形形态是技术分析中的古老形态,但对其可靠性的统计评估有限。-传统测量公式过于保守,常导致过早退出。研究方法:-分析了2009-07年间的100个矩形形态。-记录了支撑线、阻力线价格、持续时间、斜率、成交量趋势等关键数据。-进行了统计分析,以评估矩形形态的盈利潜力和准确性。主要发现:-矩形形态既可以是延续形态,也可以是反转形态,取决于突破方向与前期价格趋势的关系。-突破时的成交量通常会激增。-矩形高度与突破收益之间存在显著相关性。新公式:-提出了一个新的公式来估计矩形形态突破的估计价格目标,即突破目标应为矩形高度的2.3倍(提高到0.8倍)。-该公式基于与突破收益显著相关的五个变量:高度百分比、波动率、成交量、价格和市值。通过统计分析和新公式的提出,为矩形形态的交易者提供了一个更准确、更可靠的突破价格目标估计方法。策略信号代码解释:输入参数:-

Price(Close)

:用于计算标准差的价格数据。-

Length(90)

:在平均真实波动范围(ATR)和标准差(SD)计算中使用的柱线数量。-

nK(3)

:用于形成肯特纳通道时添加的ATR数量。-

nBB(2)

:计算布林带时使用的标准差数量。-

AlertLine(1)

:布林带挤压指标(BBS_Ind)发出警报的水平。-

TargetPctOfRange(100)

:放置利润目标的矩形宽度的百分比。变量:-

Rectangle(false)

:矩形状态标志,初始为假。-

ATR(0)

:平均真实波动范围。-

SDev(0)

:标准差。-

BBS_Ind(0)

:布林带挤压指标。-

RectangleTop(0)

:矩形顶部价格。-

RectangleBase(0)

:矩形底部价格。-

RectangleRange(0)

:矩形价格范围。主要逻辑:-如果当前有持仓,则将

Rectangle

置为

false

。-计算平均真实波动范围

ATR

和标准差

SDev

。-如果

nK

不为0且

ATR

不为0,计算

BBS_Ind

。当

BBS_Ind

下穿

AlertLine

,且

Rectangle

为假且无持仓时,记录矩形的顶部和底部价格,并将

Rectangle

置为真。-如果

Rectangle

为真,当价格达到矩形顶部时买入,达到矩形底部时卖空。-如果持仓为多头:-当价格达到矩形顶部加上一定比例的矩形范围时卖出获利。-当价格低于矩形顶部减去一定比例的矩形范围时卖出止损。-如果持仓为空头:-当价格低于矩形底部减去一定比例的矩形范围时买入平仓获利。-当价格高于矩形底部加上一定比例的矩形范围时买入平仓止损。指标一代码注解:矩形定义:请参考“RectangleBreakout”策略中的代码注释输入参数:-

Price(Close)

:用于计算标准差的价格数据。-

Length(90)

:在平均真实波动范围(ATR)和标准差(SD)计算中使用的柱线数量。-

nK(3)

:用于形成肯特纳通道时添加的ATR数量。-

nBB(2)

:计算布林带时使用的标准差数量。-

AlertLine(1)

:布林带挤压指标(BBS_Ind)发出警报的水平。-

TargetPctOfRange(100)

:放置利润目标的矩形宽度的百分比。变量:-

ATR(0)

:平均真实波动范围。-

SDev(0)

:标准差。-

BBS_Ind(0)

:布林带挤压指标。-

Rectangle(false)

:矩形状态标志,初始为假。-

LongPosition(false)

:多头持仓标志,初始为假。-

ShortPosition(false)

:空头持仓标志,初始为假。-

RectangleTop(0)

:矩形顶部价格。-

RectangleBase(0)

:矩形底部价格。-

RectangleRange(0)

:矩形价格范围。-

LongTarget(0)

:多头目标价格。-

LongPositionCount(0)

:多头持仓计数。-

ShortTarget(0)

:空头目标价格。-

ShortPositionCount(0)

:空头持仓计数。-

LongTargetCount(0)

:多头达到目标价格的计数。-

ShortTargetCount(0)

:空头达到目标价格的计数。主要逻辑:-计算平均真实波动范围

ATR

和标准差

SDev

。-如果

nK

不为0且

ATR

不为0,计算

BBS_Ind

。当

BBS_Ind

下穿

AlertLine

,且矩形未形成、无多头和空头持仓时,记录矩形的顶部和底部价格,设置矩形状态为真,并绘制

Close

Alert

曲线。-如果矩形顶部价格不为0且矩形状态为真,绘制矩形顶部和底部的曲线。-如果矩形状态为真,当价格上穿矩形顶部时,设置多头目标价格,矩形状态置为假,多头持仓标志置为真,多头持仓计数加1;当价格下穿矩形底部时,设置空头目标价格,矩形状态置为假,空头持仓标志置为真,空头持仓计数加1。-如果处于多头持仓状态,当价格超过多头目标价格时,多头达到目标价格的计数加1,多头持仓标志置为假;当价格低于矩形顶部减去一定比例的矩形范围时,多头持仓标志置为假,并绘制多头目标价格的曲线。-如果处于空头持仓状态,当价格低于空头目标价格时,空头达到目标价格的计数加1,空头持仓标志置为假;当价格高于矩形底部加上一定比例的矩形范围时,空头持仓标志置为假,并绘制空头目标价格的曲线。指标二代码注释://矩形定义:请参考"RectangleBreakout"策略中的代码注释inputs://输入价格数据(收盘价),用于计算标准差Price(Close),{priceofwhichthestandarddeviationiscalculated}//平均真实波动范围(ATR)和标准差(SD)计算中使用的柱线数量Length(90),{numberofbarsusedinaveragetruerange(ATR)andstandarddeviation(SD)calculations}//用于形成肯特纳通道时添加的ATR数量nK(3),{numberofATRstoaddtoaveragetoformKeltnerchannel}//计算布林带时使用的标准差数量nBB(2),{numberofstandarddeviationsusedtocalculateBollingerbands}//布林带挤压指标(BBS_Ind)发出警报的水平AlertLine(1),{Bollingerbandsqueezeindicator(BBS_Ind)levelatwhichtoissuealerts}//放置利润目标的矩形宽度的百分比TargetPctOfRange(100);{percentageofwidthofrectangleatwhichtoplaceprofittarget}variables://平均真实波动范围,初始值为0ATR(0),//标准差,初始值为0SDev(0),//布林带挤压指标,初始值为0BBS_Ind(0),//矩形状态标志,初始为假Rectangle(false),//多头持仓标志,初始为假LongPosition(false),//空头持仓标志,初始为假ShortPosition(false),//矩形顶部价格,初始为0RectangleTop(0),//矩形底部价格,初始为0RectangleBase(0),//矩形价格范围,初始为0RectangleRange(0),//多头目标价格,初始为0LongTarget(0),//多头持仓计数,初始为0LongPositionCount(0),//空头目标价格,初始为0ShortTarget(0),//空头持仓计数,初始为0ShortPositionCount(0),//多头达到目标价格的计数,初始为0LongTargetCount(0),//空头达到目标价格的计数,初始为0ShortTargetCount(0),//多头目标命中率,初始为0LongTgtHitRatio(0),//空头目标命中率,初始为0ShortTgtHitRatio(0);//计算布林带挤压指标ATR=AvgTrueRange(Length);SDev=StandardDev(Price,Length,1);ifnK<>0andATR<>0thenbegin//计算并更新布林带挤压指标BBS_Ind=(nBB*SDev)/(nK*ATR);//当指标下穿警报线,且矩形未形成、无多头和空头持仓时ifBBS_IndcrossesunderAlertLineandRectangle=falseandLongPosition=falseandShortPosition=falsethenbegin//记录矩形的顶部和底部价格RectangleTop=Highest(Close,Length);RectangleBase=Lowest(Close,Length);//计算矩形价格范围RectangleRange=RectangleTop-RectangleBase;//标记矩形已形成Rectangle=true;end;end;//如果矩形顶部价格不为0且矩形已形成ifRectangleTop<>0andRectangle=truethenbegin//绘制矩形顶部和底部的曲线Plot2(RectangleTop,"Top");Plot3(RectangleBase,"Base");end;//如果矩形已形成ifRectangle=truethenbegin//当价格上穿矩形顶部ifClosecrossesoverRectangleTopthenbegin//设置多头目标价格LongTarget=RectangleTop+0.01*TargetPctOfRange*RectangleRange;//标记矩形结束Rectangle=false;//标记多头持仓LongPosition=true;//多头持仓计数加1LongPositionCount=LongPositionCount+1;end;//当价格下穿矩形底部ifClosecrossesunderRectangleBasethenbegin//设置空头目标价格ShortTarget=RectangleBase-0.01*TargetPctOfRange*RectangleRange;//标记矩形结束Rectangle=false;//标记空头持仓ShortPosition=true;//空头持仓计数加1ShortPositionCount=ShortPositionCount+1;end;end;//如果处于多头持仓状态ifLongPosition=truethenbegin//当价格超过多头目标价格ifClose>LongTargetthenbegin//多头达到目标价格的计数加1LongTargetCount=LongTargetCount+1;//结束多头持仓LongPosition=false;end//当价格低于矩形顶部减去一定比例的矩形范围elseifClose<RectangleTop-0.5*RectangleRangethenLongPosition=false;end//如果处于空头持仓状态elseifShortPosition=truethenbegin//当价格低于空头目标价格ifClose<ShortTargetthenbegin//空头达到目标价格的计数加1ShortTargetCount=ShortTargetCount+1;//结束空头持仓ShortPosition=false;end//当价格高于矩形底部加上一定比例的矩形范围elseifClose>RectangleBase+0.5*RectangleRangethenShortPosition=false;end;//如果多头持仓计数大于0ifLongPositionCount>0thenbegin//计算并绘制多头目标命中率LongTgtHitRatio=LongTargetCount/LongPositionCount;Plot5(LongTgtHitRatio,"LongTgtRatio");end;//如果空头持仓计数大于0ifShortPositionCount>0thenbegin//计算并绘制空头目标命中率ShortTgtHitRatio=ShortTargetCount/ShortPositionCount;Plot6(ShortTgtHitRatio,"ShrtTgtRatio");end;指标一代码:inputs:Price(Close),Length(90),nK(3),nBB(2),AlertLine(1),TargetPctOfRange(100);variables:ATR(0),SDev(0),BBS_Ind(0),Rectangle(false),LongPosition(false),ShortPosition(false),RectangleTop(0),RectangleBase(0),RectangleRange(0),LongTarget(0),LongPositionCount(0),ShortTarget(0),ShortPositionCount(0),LongTargetCount(0),ShortTargetCount(0);ATR=AvgTrueRange(Length);SDev=StandardDev(Price,Length,1);ifnK<>0andATR<>0thenbeginBBS_Ind=(nBB*SDev)/(nK*ATR);ifBBS_IndcrossesunderAlertLineandRectangle=falseandLongPosition=falseandShortPosition=falsethenbeginRectangleTop=Highest(Close,Length);RectangleBase=Lowest(Close,Length);RectangleRange=RectangleTop-RectangleBase;Rectangle=true;Plot1(Close,"Alert");end;end;ifRectangleTop<>0andRectangle=truethenbeginPlot2(RectangleTop,"Top");Plot3(RectangleBase,"Base");end;ifRectangle=truethenbeginifClosecrossesoverRectangleTopthenbeginLongTarget=RectangleTop+0.01*TargetPctOfRange*RectangleRange;Rectangle=false;LongPosition=true;LongPositionCount=LongPositionCount+1;end;ifClosecrossesunderRectangleBasethenbeginShortTarget=RectangleBase-0.01*TargetPctOfRange*RectangleRange;Rectangle=false;ShortPosition=true;ShortPositionCount=ShortPositionCount+1;end;end;ifLongPosition=truethenbeginifClose>LongTargetthenbeginLongTargetCount=LongTargetCount+1;LongPosition=false;endelseifClose<RectangleTop-.5*RectangleRangethenLongPosition=false;Plot4(LongTarget,"Tgt");endelseifShortPosition=truethenbeginifClose<ShortTargetthenbeginShortTargetCount=ShortTargetCount+1;ShortPosition=false;endelseifClose>RectangleBase+.5*RectangleRangethenShortPosition=false;Plot4(ShortTarget,"Tgt");end;指标二代码:inputs:Price(Close),Length(90),nK(3),nBB(2),AlertLine(1),TargetPctOfRange(100);variables:ATR(0),SDev(0),BBS_Ind(0),Rectangle(false),LongPosition(false),ShortPosition(false),RectangleTop(0),RectangleBase(0),RectangleRange(0),LongTarget(0),LongPositionCount(0),ShortTarget(0),ShortPositionCount(0),LongTargetCount(0),ShortTargetCount(0),LongTgtHitRatio(0),ShortTgtHitRatio(0);ATR=AvgTrueRange(Length);SDev=StandardDev(Price,Length,1);ifnK<>0andATR<>0thenbeginBBS_Ind=(nBB*SDev)/(nK*ATR);ifBBS_IndcrossesunderAlertLineandRectangle=falseandLongPosition=falseandShortPosition=falsethenbeginRectangleTop=Highest(Close,Length);RectangleBase=Lowest(Close,Length);RectangleRange=RectangleTop-RectangleBase;Rectangle=true;end;end;ifRectangleTop<>0andRectangle=truethenbeginPlot2(RectangleTop,"Top");Plot3(RectangleBase,"Base");end;ifRectangle=truethenbeginifClosecrossesoverRectangleTopthenbeginLongTarget=RectangleTop+0.01*TargetPctOfRange*RectangleRange;Rectangle=false;LongPosition=true;LongPositionCount=LongPositionCount+1;end;ifClosecrossesunderRectangleBasethenbeginShortTarget=RectangleBase-0.01*TargetPctOfRange*RectangleRange;Rectangle=false;ShortPosition=true;ShortPositionCount=ShortPositionCount+1;end;end;ifLongPosition=truethenbeginifClose>LongTargetthenbeginLongTargetCount=LongTargetCount+1;LongPosition=false;endelseifClose<RectangleTop-.5*RectangleRangethenLongPosition=false;endelseifShortPosition=truethenbeginifClose<ShortTargetthenbeginShortTargetCount=ShortTargetCount+1;ShortPosition=false;endelseifClose>RectangleBase+.5*RectangleRangethenShortPosition=false;end;ifLongPositionCount>0thenbeginLongTgtHitRatio=LongTargetCount/LongPositionCount;Plot5(LongTgtHitRatio,"LongTgtRatio");end;ifShortPositionCount>0thenbeginShortTgtHitRatio=ShortTargetCount/ShortPositionCount;Plot6(ShortTgtHitRatio,"ShrtTgtRatio");end;策略信号代码:inputs:Price(Close),Length(90),nK(3),nBB(2),AlertLine(1),

温馨提示

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

评论

0/150

提交评论