全部版块 我的主页
论坛 金融投资论坛 六区 金融学(理论版) 量化投资
3046 1
2017-02-15
策略名称:顺势加仓策略思路说明:回测标的: 沪深300成分股中任选10只
择时指标: 20日均线斜率
               14日ADX
择时标准:
买入:20日均线斜率 > 0 & 14日ADX大于10
卖出:20日均线 < 0  

择时原理
跟踪20日均线上升趋势,避免大的亏损
14日ADX反映近期的趋势强度,只做强度较大的趋势,防止在震荡市中产生过多的损失



权益曲线:


QQ图片20170215100059.png


策略代码:

function  ssjctest(len)%

targetList  =  traderGetTargetList();  


HandleList  =  traderGetHandleList();


barnum=traderGetCurrentBar(targetList(1).Market,targetList(1).Code);


if(barnum<len)

        return;

end


for  i  =  101  :  110

[ValidCash,~,~,~,~]  =  traderGetAccountInfo(HandleList(1));

[marketposition,~,~]=traderGetAccountPosition(HandleList(1),targetList(i).Market,targetList(i).Code);

[~,~,~,~,close,~,~,~]  =  traderGetKData(targetList(i).Market,targetList(i).Code,'day',1,  0-len,  0,false,'FWard');


if  length(close)  >  len  


[adx]=traderADX(14,14,targetList(i).Market,targetList(i).Code,  'day',  1,  -50,  0,false,  'FWard');

slope  =  (mean(close(end-len+1:end))  -  mean(close(end-len:end-1)))  /  mean(close(end-len:end-1));


if  marketposition  ==  0  &&ValidCash  >  0  &&  slope  >  0  &&  adx(end)  >  10

        shareNum  =  floor(ValidCash  /  10  /  close(end)  /  100)  *  100  

        if  shareNum  >  100

        orderID=traderBuy(HandleList(1),targetList(i).Market,targetList(i).Code,shareNum,0,'market','buy');

        %traderStopLossByOrder(HandleList(1),  orderID,  5,  'Percent',  'market','stoploss');  %止损条件

        end

        %traderStopProfitByOrder(HandleList(1),  orderID,  10,'Percent',  'market',  'stopprofit');


end

if  marketposition  >  0    &&  slope  <  0

        traderSell  (HandleList(1),  targetList(i).Market,targetList(i).Code,  'all',0,'market','sell');

end

end

end

end


为尊重作者原创权益,附上作者信息

作者:miaohua   来源:http://www.atrader.com.cn/stra.php



二维码

扫码加我 拉你入群

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

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

全部回复
2017-2-15 11:52:36
看不出来瞬时加仓
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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