移动百分比策略(TS版)_第1页
移动百分比策略(TS版)_第2页
移动百分比策略(TS版)_第3页
移动百分比策略(TS版)_第4页
移动百分比策略(TS版)_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

移动百分比策略(TS版)一种移动百分比策略,旨在通过优化交易系统的入场和退出条件来提高交易绩效。该策略的核心在于动态调整交易条件以适应市场的波动性和趋势变化。首先,策略关注于优化入场条件。它利用市场的平均真实范围(ATR)来确定入场时机。具体来说,策略会计算过去一段时间内的ATR,并设定一个百分比作为入场触发条件。这种方法的优点在于能够根据市场的波动性自动调整入场标准,从而在不同的市场环境中保持灵活性。其次,策略对利润退出条件进行了优化。它采用了一种基于利润目标的退出策略,即当达到一定的利润目标时,系统会自动平仓以实现盈利。这种策略有助于锁定利润,减少因市场反转而导致的利润回吐。此外,策略还引入了止损机制。它根据市场位置和预设的止损点数来设定止损价格。这种机制能够在市场不利变动时及时平仓,减少潜在的损失。策略还考虑了交易时间的限制。它设定了一个结束交易的时间点,以避免在市场波动较大的时间段进行交易,从而降低风险。在交易逻辑方面,策略采用了每日重置的方法。每天开盘时,系统会重置买卖标志和计数,以确保每天的交易独立进行。这种做法有助于避免连续交易带来的累积风险。策略还包含了对市场范围的判断。它会根据前一日的高低点和收盘价来判断市场是否处于小范围波动。这种判断有助于识别市场可能出现的突破机会,从而在适当的时机进行交易。最后,策略还包括了对持仓管理的考虑。当持仓数量发生变化时,系统会根据当前的市场位置和预设的条件来决定是否进行平仓或继续持有。这种持仓管理方法有助于控制风险并实现收益最大化。总体而言,该策略通过结合多种技术手段,如ATR、利润目标和止损机制,来实现对交易过程的精细化管理。其核心思想在于动态调整交易条件以适应市场变化,同时通过严格的止损和持仓管理来控制风险。这种策略适用于追求稳定收益的交易者,尤其是在市场波动较大的情况下。优化测试优化开盘后移动百分比原始设置:市场离开开盘价的10天ATR(平均真实范围)移动20%时入场。测试范围:从5%到60%,增量为5%。结果:15%的突破产生最佳结果,利润增加22,000美元。结论与建议:建议将入场水平调整为市场离开开盘价的10天ATR移动15%。优化利润阈值原始设置:达到7手或700美元后启动吊灯退出(吊灯退出是一种基于利润的退出策略)。测试范围:从4手到9手。初步结果:7手表现良好,但进一步测试显示2手柄阈值更优。深入分析:低阈值导致系统行为不符合预期,需要调整保护性止损点设置。结论与建议:需要进一步研究,确保系统行为符合交易策略初衷。后续工作深入研究2手柄利润阈值对系统性能的影响。考虑在亏损达到一定水平时提前退出交易的策略。监控并报告系统调整后的实际交易结果。策略代码:inputs:atrLen(10),stopAmtPoints(10.00),offSetAmt(.2),profitObj1(5),endTradeTime(1530);vars:atrAmt(0),smallRange(false),canBuy(true),canSell(true),stb(0),sts(0),tkpS(0),tkpL(0),yesTrueRange(0);vars:buysToday(0),sellsToday(0),j(0),longLossPt(0),shortLossPt(0);value1=0;forj=1toatrLenbeginvalue1=value1+maxList(closeD(j+1),highD(j))-minList(closeD(j+1),lowD(j));end;atrAmt=value1/atrLen;yesTrueRange=maxList(closeD(2),highD(1))-minList(closeD(2),lowD(1));smallRange=yesTrueRange<atrAmt;if(date<>date[1])thenbegincanBuy=false;canSell=false;buysToday=0;sellsToday=0;end;ifmarketPosition=1thenbuysToday=1;ifmarketPosition=-1thensellsToday=1;stb=openD(0)+offSetAmt*atrAmt;sts=openD(0)-offSetAmt*atrAmt;if(closeD(1)>=closeD(2)andsmallRange)thencanBuy=true;if(closeD(1)<closeD(2)andsmallRange)thencanSell=true;if(canBuyandbuysToday=0andtime<endTradeTime)thenbuy(“SFOBuy”)2contractsnextbarstbstop;if(canSellandsellsToday=0andtime<endTradeTime)thensellShort(“SFOSell”)2contractsnextbarstsstop;ifcurrentContracts=2andmarketPosition=1andhighD(0)>entryPrice+profitObj1thensell(“LongProf1”)1contractnextbarathighD(0)-5stop;ifcurrentContracts=2andmarketPosition=-1andlowD(0)<entryPrice-profitObj1thenbuyToCover(“ShrtProf1”)1contractnextbaratlowD(0)+5stop;ifcurrentContracts=1thensell(“L-BreakEven”)nextbaratentryPricestop;ifcurrentContracts=1thenbuyToCover(“S-BreakEven”)nextbaratentryPricestop;ifmarketPosition=1thensell(“MM-L-Out”)nextbaratentryPrice-stopAmtPointsstop;ifmarketPosition=-1thenbuyToCover(“MM-S-Out”)nextbaratentryPrice+stopAmtPointsstop;setExitOnClose;代码注解://输入参数inputs:atrLen(10),//ATR(平均真实范围)的长度stopAmtPoints(10.00),//止损点数offSetAmt(.2),//偏移量(ATR的百分比)profitObj1(5),//利润目标1endTradeTime(1530);//结束交易时间(可能是下午3:30)//变量vars:atrAmt(0),//ATR的值smallRange(false),//是否为小范围canBuy(true),//是否可以买canSell(true),//是否可以卖stb(0),sts(0),//买入和卖出的止损价tkpS(0),tkpL(0),//这里的变量没有在后续代码中用到yesTrueRange(0);//当日的真实范围vars:buysToday(0),sellsToday(0),//当天买入和卖出的次数j(0),//循环计数器longLossPt(0),shortLossPt(0);//这里的变量没有在后续代码中用到//{Ploton5minutedaysession-programmedbyGeorgePruitt}//注释:在5分钟日线时段上绘制,由GeorgePruitt编程//{IusedtheOpenD(),HighD(),LowD(),CloseD()functionstogetthepriorday’shighsandlowsandcloses}//注释:使用了OpenD(),HighD(),LowD(),CloseD()函数来获取前一日的高点、低点和收盘价value1=0;//初始化变量//计算ATRforj=1toatrLenbeginvalue1=value1+maxList(closeD(j+1),highD(j))-minList(closeD(j+1),lowD(j));end;atrAmt=value1/atrLen;//计算当日的真实范围yesTrueRange=maxList(closeD(2),highD(1))-minList(closeD(2),lowD(1));smallRange=yesTrueRange<atrAmt;//判断是否为小范围//如果是新的一天,重置买卖标志和计数if(date<>date[1])then//当天第一根K线开始canBuy=false;canSell=false;buysToday=0;sellsToday=0;end;//如果已经持有仓位,则不再进行同方向的买卖ifmarketPosition=1thenbuysToday=1;//如果已经买入,则不再买入ifmarketPosition=-1thensellsToday=1;//如果已经卖出,则不再卖出//计算买入和卖出的止损价stb=openD(0)+offSetAmt*atrAmt;sts=openD(0)-offSetAmt*atrAmt;//根据条件判断是否可以买或卖if(closeD(1)>=closeD(2)andsmallRange)thencanBuy=true;if(closeD(1)<closeD(2)andsmallRange)thencanSell=true;//根据条件进行买卖操作if(canBuyandbuysToday=0andtime<endTradeTime)thenbuy(“SFOBuy”)2contractsnextbarstbstop;if(canSellandsellsToday=0andtime<endTradeTime)thensellShort(“SFOSell”)2contractsnextbarstsstop;//达到利润目标后进行平仓ifcurrentContracts=2andmarketPosition=1andhighD(0)>entryPrice+profitObj1thensell(“LongProf1”)1contractnextbarathighD(0)-5stop;ifcurrentContracts=2andmarketPosition=-1andlowD(0)<entryPrice-profitObj1thenbuyToCover(“ShrtProf1”)1contractnextbaratlowD(0)+5stop;//如果当前只有一个合约,则进行止损平仓ifcurrentContracts=1thensell(“L-BreakEven”)nextbaratentryPricestop;ifcurrentContracts=1thenbuyToC

温馨提示

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

评论

0/150

提交评论