股指期货即日交易模型(DTM)
以每日开盘的前X分钟为参考区,以参考区形成的高点H和低点L
多头入场:突破H点以上N个点位多头入场
空头入场:跌破L点一下N个点位空头入场
多头出场条件:止损0.5%,盈利超过1%启动跟踪止盈,回撤盈利的20%出场
空头出场条件:止损0.5%,盈利超过1%启动跟踪止盈,回撤盈利的20%出场
回测曲线(由Auto-Trader提供回测报告):
2017-3-14 17:10:47 上传
下载附件 (68.25 KB)
策略源码:
function DTM(X,ShareNum,np)traderDailyCloseTime(145000);global s;targetList = traderGetTargetList();HandleList = traderGetHandleList();stopTar=0.5;profitTar=1;pct=20;for i=1:length(targetList) % [time,open,high,low,close] = traderGetKData(targetList(i).Market,targetList(i).Code,'day',Freq, -lags, 0,false,'FWard'); [BarNumber,BarTime,BarOpen,BarHigh,BarLow,BarClose] = traderGetCurrentBar(targetList(i).Market,targetList(i).Code); mp=traderGetAccountPosition(HandleList(1),targetList(i).Market,targetList(i).Code); %获取当前仓位状况 % if weekday(BarTime)==5 % continue; % end if floor(BarTime)~=s(i).lasttime s(i).lasttime=floor(BarTime); s(i).Barstart=BarNumber; s(i).Bbreak=BarHigh; s(i).Sbreak=BarLow; continue; end if BarNumber-s(i).Barstart<=X s(i).Bbreak=max(BarHigh,s(i).Bbreak); s(i).Sbreak=min(BarLow,s(i).Sbreak); continue; else if mp==0 if BarClose> s(i).Bbreak+np orderID1=traderBuy(HandleList(1),targetList(i).Market,targetList(i).Code,ShareNum,0,'market','buyopen'); traderStopLossByOrder(HandleList(1),orderID1,stopTar,'Percent','market','stoplossS'); traderStopTrailingByOrder(HandleList(1),orderID1,profitTar,'Percent',pct,'Percent','market','trailingS'); elseif BarClose
更多免费策略源码下载请登录DigQuant社区-策略资源下载~