请选择 进入手机版 | 继续访问电脑版
楼主: 挖矿专家
2079 9

[交易策略] 【每日一策】Matlab量化交易策略之 逆势加仓策略 [推广有奖]

  • 0关注
  • 74粉丝

讲师

22%

还不是VIP/贵宾

-

威望
0
论坛币
2016 个
通用积分
5.2622
学术水平
21 点
热心指数
21 点
信用等级
21 点
经验
6055 点
帖子
403
精华
0
在线时间
151 小时
注册时间
2017-2-8
最后登录
2017-6-27

挖矿专家 发表于 2017-2-17 10:10:23 |显示全部楼层 |坛友微信交流群
相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
回测标的:沪深300
回测区间:2012年1月1日至2016年11月11日
选股:选出当前处于100日低点的股票
进场:将资金等分为5份,将1份资金的1/7买入股票,当该股票下降10%时,追加买入1份资金的2/7。当股票再下降10%,追加买入1份资金的4/7。
出场:   止损出场:第三次加仓后再下降10%   
           止盈出场:无论第几次加仓,只要上涨10%,平仓止盈。

回测曲线:

QQ图片20170217100611.png


策略代码:

function  nsjctest(tc,  lags)%

targetList  =  traderGetTargetList();  

%获取目标资产信息

HandleList  =  traderGetHandleList();

%获取账户信息

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

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

if(barnum<lags)

        return;

end

global  pricerecord

global  buytime;


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

%  if(length(open2)  <  21)

%          return;

%  end


%数据长度限制

%  len1  =  5;

%  len2  =  20;

len  =  60;

for  i  =  1:50


[time,open,high,low,close,volume,~,openinterest]  =  traderGetKData(targetList(i).Market,targetList(i).Code,'day',1,  0-lags-3,  0,false,'FWard');

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

valid  =  tc  -  sum(buytime  ==  1)  *  3  /  7  /  5  *  tc  -  sum(buytime  ==  2)  *  4  /  7  /  5  *  tc  -  sum(buytime  ==  3)  /  5  *  tc;

con3  =  ValidCash  >=  valid;

if(length(close)>lags)

        %con1  =  mean(close(end-len+1:end))  >  mean(close(end-len:end-1));

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

        %con1  =  adx(end)  <  20  &&  adx(end)  >  -20;

        con1  =  1;


if  buytime(i)  ==  0

        con0  =  close(end)  <  min(low(1:end-1))  *  1.1  &&  close(end)  >  min(low(1:end-1))  *  1;

        if  con0  &&  con1  &&  con3

                shareNum  =  floor(tc  /  5  /  close(end)  /  7  *  1  /  100)  *  100;

                if  shareNum  >=  100

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

                pricerecord(i)  =  close(end);

                buytime(i)  =  buytime(i)  +    1;

                end

        end

end


if  buytime(i)  ==  1  &&  close(end)  <  pricerecord(i)  *  0.9  &&  con1  &&  con3

        shareNum  =  floor(tc  /  5  /  close(end)  /  7  *  2  /  100)  *  100;

        if  shareNum  >=  200

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

        pricerecord(i)  =  close(end);

        buytime(i)  =  buytime(i)  +    1;

        end

end


if  buytime(i)  ==  2  &&  close(end)  <  pricerecord(i)  *  0.9  &&  con1  &&  con3

        shareNum  =  floor(tc  /  5  /  close(end)  /  7  *  4  /  100)  *  100  ;

        if  shareNum  >=  400

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

        pricerecord(i)  =  close(end);

        buytime(i)  =  buytime(i)  +    1;

        end

end


if  close(end)  >  pricerecord(i)  *  1.1

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

        pricerecord(i)  =  0;

        buytime(i)  =  0;

end


if  (buytime(i)  ==  3  &&  close(end)  <  pricerecord(i)  *  0.9)  %||  (~con1  &&  close(end)  <  pricerecord(i)  *  0.95)

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

        pricerecord(i)  =  0;

        buytime(i)  =  0;

end


end

end

end


更多策略请登录atrader社区-策略服务 下载:  www.atrader.com.cn/stra.php



二维码

扫码加我 拉你入群

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

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

关键词:通道 加仓

QQ图片20170217095903.png
3862161 在职认证  发表于 2017-2-18 13:38:45 |显示全部楼层 |坛友微信交流群
看起来还不错

使用道具

挖矿专家 发表于 2017-2-18 17:00:43 |显示全部楼层 |坛友微信交流群
感谢支持~

使用道具

ghjktdf 发表于 2017-2-22 18:22:01 |显示全部楼层 |坛友微信交流群
每天一个策略,真是不赞不行了

使用道具

挖矿专家 发表于 2017-2-23 11:20:02 |显示全部楼层 |坛友微信交流群
哈哈,欢迎持续关注~

使用道具

3862161 在职认证  发表于 2017-2-23 15:49:12 |显示全部楼层 |坛友微信交流群
ghjktdf 发表于 2017-2-22 18:22
每天一个策略,真是不赞不行了

使用道具

挖矿专家 发表于 2017-2-23 19:00:22 |显示全部楼层 |坛友微信交流群
共同学习~

使用道具

atrader 社区已经更名为 digquant 社区,迁移至 www.digquant.com.cn

使用道具

superwasami 发表于 2017-3-14 21:59:09 来自手机 |显示全部楼层 |坛友微信交流群
挖矿专家 发表于 2017-2-17 10:10
回测标的:沪深300
回测区间:2012年1月1日至2016年11月11日
选股:选出当前处于100日低点的股票
OK 好的 行 挺好 努力 继续

使用道具

挖矿专家 发表于 2017-3-15 11:30:17 |显示全部楼层 |坛友微信交流群

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-29 14:57