全部版块 我的主页
论坛 金融投资论坛 六区 金融学(理论版) 量化投资
1753 2
2017-03-17
策略名称:均线选股策略

策略说明:


对沪深300全市场扫描
买入条件:
1 短均线大于长均线
2 最近N个交易日短均线大于长均线的次数满足某个阈值
3 当前交易日的长均线值处于某个高位

出场条件:
止损:价格跌破入场价的一定百分比
止盈:价格高出入场价的一定百分比

回测曲线(由Auto-Trader提供回测报告)

均线选股.png

策略代码:
function MATrading(ShareNum,Freq,N1,N2)global s;%获取账户句柄targetList = traderGetTargetList(); %获取交易标的句柄HandleList = traderGetHandleList();pctloss=0.05;pctprofit=0.2;pctclose=0.02;lags=25;for j=1:length(targetList)        [time,open,high,low,close,volume,turnover,openinterest] = traderGetKData(targetList(j).Market,targetList(j).Code,'day',Freq, -lags, 0,false,'FWard');        if length(close)<lags        continue;    end        mp = traderGetAccountPosition(HandleList(1),targetList(j).Market,targetList(j).Code);        MAs=ma(close,N1);    MAl=ma(close,N2);        %% 开仓条件    opencon1=MAs(end)>MAl(end);    a=sum(  MAs(end-N1+1:end-1) > MAl(end-N1+1:end-1) );    opencon2=(a==0);    opencon3=(MAl(end)/MAl(end-1))>0.995;    opencon4=close(end-1)>0.9*max(high(end-10:end-1));        %% 开仓    if mp==0 && opencon1 && opencon2 && opencon3 && opencon4        OrderID=traderDirectBuy(HandleList(1),targetList(j).Market,targetList(j).Code,ShareNum,0,'market','1');        s(j).openprice=traderOrderFilledPrice(HandleList(1),OrderID);    end        %% 平仓条件    closecon1=close(end)<(1-pctloss)*(s(j).openprice);    closecon2=close(end)>(1+pctprofit)*(s(j).openprice);    b=(max(high(end-N1+1:end))-min(low(end-N1+1:end)))/mean(close(end-N1:end));    closecon3=b<pctclose;        %% 平仓    if mp>0 && closecon1 && closecon2 && closecon3        traderPositionTo(HandleList(1),targetList(j).Market,targetList(j).Code,0,0,'market','1');        s(j).openprice=0;    endend


更多免费策略代码下载请登录DigQuant社区-策略资源下载~

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-3-21 09:53:36
回测图表截止到2015年牛市?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-3-21 19:01:40
vtmc 发表于 2017-3-21 09:53
回测图表截止到2015年牛市?
时间区间是可以调的~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群