全部版块 我的主页
论坛 金融投资论坛 六区 金融学(理论版) 量化投资
3687 13
2017-02-22
策略名称:底部放量择时策略策略思路:

选股标准: 沪深300成分股任选100只
择时标准:
           当前股价小于100交易日内最低价的1.1倍
           当前成交量大于100日平均成交量的5倍,且当日上涨
止盈止损:
止损:5%
止盈:20%
择时原理:
           股票处于底部有较高安全边际
           放量预示着行情启动


回测曲线:
QQ图片20170222115932.png

策略代码:

function  fltest(lags)%


targetList  =  traderGetTargetList();

%获取目标资产信息

HandleList  =  traderGetHandleList();

%获取账户信息

%策略中每次取数据的长度

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

if(barnum<lags)

        return;

end

%数据长度限制

for  i  =  101:110

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

        [marketposition,~,~]=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',1,  0-lags-3,  0,true,'FWard');

        if  length(close)  >  lags  &&  ValidCash  >  5000000

                %[~,open2,~,~,close2,~,~,openinterest2]  =  traderGetKData(targetList(301).Market,targetList(301).Code,'day',1,  0-lags2,  0,true,'FWard');

                %获取K线数据

                con1  =  (volume(end)  >  (mean(volume(1:end-1))  *  5))  &&  close(end)  >  close(end-1);

                con2  =  close(end)  <=  close(end-1)  *  (1  +  (0.1  -  0.01  /  close(end-1)));%

                con3  =  (close(end)  -  close(end-1))  /  close(end-1)  >  0.02;

                con4  =  close(end)  <  min(low(1:end-1))  *  1.1;

                %con2  =  volume(end-1)  >  volume(end-2)  &&  close(end-1)  >  close(end-2)

                %con3  =  volume(end)  >  volume(end-1)  &&  close(end)  >  close(end-1);

                %做多条件

                if  marketposition  ==  0  &&  con1  &&  con2  &&  con3  &&  con4

                        shareNum  =  floor(ValidCash*0.5  /  close(end)  /  100)  *  100;

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

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

                        traderStopProfitByOrder(HandleList(1),  orderID,  20,'Percent',  'market',  'stopprofit');      %止盈条件

                end

        end

end

end




二维码

扫码加我 拉你入群

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

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

全部回复
2017-2-22 12:04:59
更多免费策略代码下载请登录atrader社区-策略服务下载
二维码

扫码加我 拉你入群

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

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

2017-2-22 15:49:32
顶!d=====( ̄▽ ̄*)b
二维码

扫码加我 拉你入群

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

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

2017-2-22 18:26:47
帮顶
二维码

扫码加我 拉你入群

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

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

2017-2-23 11:19:24
感谢支持~
二维码

扫码加我 拉你入群

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

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

2017-3-6 14:26:04
atrader 社区已经更名为 digquant 社区,迁移至 www.digquant.com.cn
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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