欢迎来到天天文库
浏览记录
ID:10955270
大小:1.77 MB
页数:72页
时间:2018-07-09
《程序化交易策略实现与实例详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1程序化交易策略实现与实例详解蔡云华深圳开拓者科技有限公司内容安排通过实例讲解持仓交易系统的策略与实现日内交易系统的策略与实现2持仓交易系统的设计要素设计思路:趋势跟踪;设计原则:捕捉主要的波段行情;设计细节:减少盘整时的连续亏损和最大资金回撤。总的原则:Cutlossshort,Letprofitrun截短亏损,让利润奔跑!双均线交叉系统DMACS交易规则:如果短期均线上穿长期均线,做多,如原来持有空单,则先平空单,再建多仓如果短期均线下穿长期均线,做空,如原来持有多单,则先平多单,再建空单短周期:10
2、长周期:20交易头寸暂为1手4双均线指标DualMAParamsNumericLength1(10);NumericLength2(20);BeginPlotNumeric("MA1",AverageFC(Close,Length1));PlotNumeric("MA2",AverageFC(Close,Length2));End5DMACS版本1ParamsNumericLength1(10);NumericLength2(20);NumericLots(1);VarsNumericSeriesMA1;
3、NumericSeriesMA2;BoolSeriescondBuy(false);BoolSeriescondSell(false);BeginMA1=AverageFC(Close,Length1);MA2=AverageFC(Close,Length2);condBuy=CrossOver(MA1,MA2);condSell=CrossUnder(MA1,MA2);If(condBuy[1]==true)Buy(Lots,Open);If(condSell[1]==true)SellShort(lo
4、ts,Open);End6DMACS_V1主要交易品种测试结果品种测试佣金测试时间段净利润最大回撤净利润/最大回撤Cu0004%%1998.07.30--526451-1300574.05ZN0004%%2007.03.26--114012-310793.66RU0004%%1998.11.05--279287-533185.23RB0004%%2009.03.27--14724-83621.76A90004%%1998.12.10--25723-113882.25M90004%%2000.07.17--
5、19923-157251.26Y90004%%2006.01.09--27494-647510.04L90004%%2007.07.31--37485-194691.92CF0004%%2004.06.01--78075-470571.66SR0004%%2006.01.06--37522-182062.06TA0004%%2006.12.18--63531-114455.55ER0004%%2009.04.20--1727-27720.62DMACSV1存在的问题盈利单利润回吐太多。必须增加追踪止赢的设
6、置增加追踪止赢以天胶做多为例:假如,我们在开盘价30000元/吨买入;追踪止盈300点(300X5=1500元/吨);盈利峰值价止损点31000295003150030000320003050032500310003300031500…………增加参数TrailingStop,默认值设为400;增加变量MinPoint,用来保存最小变动单位。MinPoint=MinMove*PriceScale;增加序列变量HigherAfterEntry,LowerAfterEntry用来保存开仓后的最高价或最低价。因为
7、我们的入场是以开盘价入场,所以可以实现开仓Bar的止损,但开仓Bar的最高价,不能计入开仓后的最高价,而只能以进场价作为开仓后的最高价。进场位置和盈利峰值价计算开盘价最低价追踪止损价盈利峰值价止损没被止损开盘价进场的追踪止损开盘价(进场价)最低价追踪止损价以进场价作为盈利峰值价止损DMACS_V2(1)ParamsNumericLength1(10);NumericLength2(20);NumericTrailingStop(400);NumericLots(1);VarsNumericSeriesMA
8、1;NumericSeriesMA2;BoolSeriescondBuy(false);BoolSeriescondSell(false);NumericMinPoint;NumericMyPrice;NumericSeriesHigherAfterEntry;NumericSeriesLowerAfterEntry;BeginIf(BarsSinceEntry>=1){HigherAfterEntry=Max(HigherA
此文档下载收益归作者所有