相似文件
换一批
经管之家送您一份
应届毕业生专属福利!
求职就业群
感谢您参与论坛问题回答
经管之家送您两个论坛币!
+2 论坛币
使用多条均线,构造小瀑布流曲线,根据不同的状态刻画市场行情。
当满足均线多头排列的时候,进场做多;
当满足空头排列的时候,进场做空;
使用固定的3:1的合约价值止盈止损比
在沪深300股指期货与螺纹钢期货里面按照1:50的标准进行投资。
测试时间段:2011年1月1日到2017年1月1日。
回测曲线(由Auto-trader提供回测报告)
策略源码:
- function strategy(freq,n,n1,n2,stop_rate)
- % 参数
- % 1. 周期,n>n1>n2
- % 2. 每次开单数量:sharenum
- % 交易逻辑
- % if average(c,2)<average(c,5) && average(c,5)>average(c,10) then buy next bar at market;
- % if average(c,2)>average(c,5) && average(c,5)<average(c,10)then sell short next bar at market;
- targetList = traderGetTargetList();
- HandleList = traderGetHandleList();
- sharenum=50*[1,50];
- for i=1:length(targetList)
- lags=n+5;%策略中每次取数据的长度
- [position,Frozen,AvgPrice] = traderGetAccountPosition(HandleList(1),targetList(i).Market,targetList(i).Code);
- [time,open,high,low,close,volume,turnover,openinterest] = traderGetKData(targetList(i).Market,targetList(i).Code,'day',freq, 0-lags,-1,false,'FWard');
- if length(close)<lags
- continue;
- end
- % 止损止盈
- if position>0
- if close(end)>AvgPrice*(1+3*stop_rate) || close(end)<AvgPrice*(1-stop_rate)
- traderPositionTo(HandleList(1),targetList(i).Market,targetList(i).Code,0 ,0,'market','stopLong');
- end
- elseif position<0
- if close(end)<AvgPrice*(1-3*stop_rate) || close(end)>AvgPrice*(1+stop_rate)
- traderPositionTo(HandleList(1),targetList(i).Market,targetList(i).Code,0 ,0,'market','stopLong');
- end
- else
- %开仓
-
- if mean(close(end-n1+1:end))<mean(close(end-n2+1:end)) && mean(close(end-n1+1:end))<mean(close(end-n+1:end))
- traderSellShort(HandleList(1),targetList(i).Market,targetList(i).Code,sharenum(i),0,'market','long1');
- end
- if mean(close(end-n1+1:end))>mean(close(end-n2+1:end)) && mean(close(end-n1+1:end))>mean(close(end-n+1:end))
- traderBuy(HandleList(1),targetList(i).Market,targetList(i).Code,sharenum(i),0,'market','long1');
- end
- end
- end
- end
复制代码
更多免费策略源码下载请登录DigQuant社区-策略资源下载~
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
|