设为首页收藏本站

 找回密码
 注册
查看: 2636|回复: 0
打印 上一主题 下一主题

MATrading 附源码 [复制链接]

精华
0
UID
247176
积分
162
帖子
72
主题
68
阅读权限
0
注册时间
2017-2-14
最后登录
2017-5-18
跳转到指定楼层
1#
发表于 2017-4-1 11:54:35 |只看该作者 |倒序浏览
策略思路:

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

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


策略源码:
  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社区-策略资源下载~http://www.digquant.com.cn/stra.php

MATrading 策略源码下载:http://www.digquant.com.cn/stra.php?mod=model&pid=119

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

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-2 12:28

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部