楼主: 挖矿专家
1729 4

[源码分享] 【每日一策】Matlab量化交易策略之 MATrading [推广有奖]

  • 0关注
  • 74粉丝

讲师

22%

还不是VIP/贵宾

-

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

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
策略思路:

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

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

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

MATrading.png

策略源码:

  1. function MATrading(ShareNum,Freq,N1,N2)

  2. global s;
  3. %获取账户句柄
  4. targetList = traderGetTargetList(); %获取交易标的句柄
  5. HandleList = traderGetHandleList();

  6. pctloss=0.05;
  7. pctprofit=0.2;
  8. pctclose=0.02;
  9. lags=25;
  10. for j=1:length(targetList)
  11.    
  12.     [time,open,high,low,close,volume,turnover,openinterest] = traderGetKData(targetList(j).Market,targetList(j).Code,'day',Freq, -lags, 0,false,'FWard');
  13.    
  14.     if length(close)<lags
  15.         continue;
  16.     end
  17.    
  18.     mp = traderGetAccountPosition(HandleList(1),targetList(j).Market,targetList(j).Code);
  19.    
  20.     MAs=ma(close,N1);
  21.     MAl=ma(close,N2);
  22.    
  23.     %% 开仓条件
  24.     opencon1=MAs(end)>MAl(end);
  25.     a=sum(  MAs(end-N1+1:end-1) > MAl(end-N1+1:end-1) );
  26.     opencon2=(a==0);
  27.     opencon3=(MAl(end)/MAl(end-1))>0.995;
  28.     opencon4=close(end-1)>0.9*max(high(end-10:end-1));
  29.    
  30.     %% 开仓
  31.     if mp==0 && opencon1 && opencon2 && opencon3 && opencon4
  32.         OrderID=traderDirectBuy(HandleList(1),targetList(j).Market,targetList(j).Code,ShareNum,0,'market','1');
  33.         s(j).openprice=traderOrderFilledPrice(HandleList(1),OrderID);
  34.     end
  35.    
  36.     %% 平仓条件
  37.     closecon1=close(end)<(1-pctloss)*(s(j).openprice);
  38.     closecon2=close(end)>(1+pctprofit)*(s(j).openprice);
  39.     b=(max(high(end-N1+1:end))-min(low(end-N1+1:end)))/mean(close(end-N1:end));
  40.     closecon3=b<pctclose;
  41.    
  42.     %% 平仓
  43.     if mp>0 && closecon1 && closecon2 && closecon3
  44.         traderPositionTo(HandleList(1),targetList(j).Market,targetList(j).Code,0,0,'market','1');
  45.         s(j).openprice=0;
  46.     end
  47. end
复制代码


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


二维码

扫码加我 拉你入群

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

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


已有 1 人评分经验 论坛币 收起 理由
fantuanxiaot + 55 + 55 精彩帖子

总评分: 经验 + 55  论坛币 + 55   查看全部评分

沙发
钱学森64 发表于 2017-4-1 17:17:00 |只看作者 |坛友微信交流群
谢谢分享

使用道具

藤椅
ghjktdf 发表于 2017-4-5 12:08:25 |只看作者 |坛友微信交流群
感谢分享

使用道具

板凳
65425856 发表于 2017-4-7 11:27:25 |只看作者 |坛友微信交流群
感谢分享

使用道具

报纸
挖矿专家 发表于 2017-4-11 11:41:44 |只看作者 |坛友微信交流群
谢谢支持~

使用道具

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

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

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

GMT+8, 2024-4-28 20:53