策略思路:

GFED模型,趋势跟踪策略,利用K线收盘价的涨跌进行判断,真正交易前,需经历交易启动,到交易信号发出的过程,并且买入和卖出分别当做独立的系统进行计算。当买入计数达到4,做多,当卖出计数达到4,做空。并利用ATR控制止损和加仓。

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

GFTD+止损.png (218.28 KB, 下载次数: 3)

2017-3-27 16:00 上传

策略源码:

function atdloss(freq)targetList = traderGetTargetList();HandleList = traderGetHandleList();global record;global record1;global record2;global record3;for i=1:length(targetList)    marketposition=traderGetAccountPosition(HandleList(1),targetList(i).Market,targetList(i).Code);    barnum=traderGetCurrentBar(targetList(i).Market,targetList(i).Code);    len=30;    dlen=31;    [time,open,high,low,close,volume,turnover,openinterest] = traderGetKData(targetList(i).Market,targetList(i).Code,'min',freq, 0-len, 0,false,'FWard');    [Dtime,Dopen,Dhigh,Dlow,Dclose,Dvolume,Dturnover,Dopeninterest] = traderGetKData(targetList(i).Market,targetList(i).Code,'day',1, 0-dlen, 0,false,'FWard');    if length(close)close(end-4)        ud=1;    elseif close(end)=record3{i}.bhigh(2)&&high(end)>record3{i}.bhigh(1)&&close(end)>record3{i}.bclose(1)            record3{i}.bcou=record3{i}.bcou+1;        end    elseif record3{i}.b>1&&record3{i}.bcou<4        record3{i}.bcou=0;        record3{i}.b=0;    end    %卖出交叉计数    if record3{i}.s==1        if close(end)<=record3{i}.slow(2)&&low(end)>record3{i}.slow(1)&&close(end)>record3{i}.sclose(1)            record3{i}.scou=record3{i}.scou+1;        end    elseif record3{i}.s>1&&record3{i}.scou<4        record3{i}.scou=0;        record3{i}.s=0;    end    %判断买入启动是否达成    if record3{i}.bcou==4        con1=1;        record3{i}.b=0;        record3{i}.bcou=0;        record3{i}.bclose=[];        record3{i}.bhigh=[];        record3{i}.blow=[];    else con1=0;    end    if record3{i}.scou==4        con2=1;        record3{i}.s=0;        record3{i}.scou=0;        record3{i}.sclose=[];        record3{i}.shigh=[];        record3{i}.slow=[];    else con2=0;    end    %------------------止损线    ATR=ATR(Dhigh,Dlow,Dclose,20);    %-------------------------------满仓上移--------------%    if record1{i}.m>3        if close(end)>record1{i}.entryp+2*ATR(end)&&(marketposition>0)            record1{i}.entryp= record1{i}.entryp+2*ATR(end);        elseif close(end)0&&record1{i}.m~=0        if close(end)record1{i}.entryp+0.5*ATR(end)            order= traderPositionTo(HandleList(1),targetList(i).Market,targetList(i).Code,0,0,'market','sell');            if order~=0                record1{i}.m=0;                record1{i}.entryp=close(end);                record1{i}.entrybar=0;            end        end    end            sharenum=5;    %---------------入场-------------%    if con1&&(record1{i}.m==0)&&(marketposition==0)        order=traderBuy(HandleList(1),targetList(i).Market,targetList(i).Code,sharenum,0,'market','buy'); %%%%做多        if order~=0            record1{i}.m= record1{i}.m+1;            record1{i}.entryp=close(end);            record1{i}.entrybar=barnum;        end    end        if con2&&(record1{i}.m==0)&&(marketposition==0)        order=traderSellShort(HandleList(1),targetList(i).Market,targetList(i).Code,sharenum,0,'market','buy'); %%%%做多        if order~=0            record1{i}.m= record1{i}.m+1;            record1{i}.entryp=close(end);            record1{i}.entrybar=barnum;        end    end        %----------------------------加仓----------------------%    if  close(end)>record1{i}.entryp+2*ATR(end)&&(record1{i}.m<=3)&&(marketposition>0)        order=traderBuy(HandleList(1),targetList(i).Market,targetList(i).Code,sharenum,0,'market','buy'); %%%%做多        if order~=0            record1{i}.m= record1{i}.m+1;            record1{i}.entryp=close(end);            record1{i}.entrybar=barnum;        end    end        if  close(end)

更多免费策略源码下载请登录DigQuant社区-策略资源下载~    ww w.digquant.com.cn

GFTD+止损.png

(218.28 KB, 下载次数: 7)

2017-3-27 16:00 上传

GFTD+止损.png

(218.28 KB, 下载次数: 0)

2017-3-27 15:59 上传

GFTD+止损.png

(218.28 KB, 下载次数: 0)

2017-3-27 15:59 上传

GFTD+止损.png

(218.28 KB, 下载次数: 0)

2017-3-27 15:57 上传

量化交易策略matlab交易方案,Matlab量化交易策略之 GFTD+止损 附源码相关推荐

  1. 如何设置交易滑点?精确到tick 测算期货冲击成本(附源码)

    我们在非撮合回测模式下,因为无法获知交易价格当时的真实盘口价差.挂单数量,常主观设定一个滑点均值,比如针对螺纹钢等合约,设置 1 跳,针对某些交易不活跃的品种,设置 2 跳. 但是这种近乎拍脑袋的方法 ...

  2. 基于Matlab使用 System 对象模拟惯性测量单元测量仿真(附源码)

    目录 一.默认参数 二.硬件参数调优 三. 随机噪声参数调谐 四.环境参数调整 五.程序 此示例演示如何使用 System 对象模拟惯性测量单元 (IMU) 测量.IMU 可以包括单个传感器的组合,包 ...

  3. 基于Matlab搭建单站雷达扫描天空仿真平台(附源码)

    目录 一.介绍 二.启动跟踪方案设计器 三.编辑和修改方案 四.设计塔式平台 五.模拟场景 5.1播放控件和时间滚动条 5.2 导出到矩阵 六.运行生成的脚本 6.1 可视化目标和检测 6.2 可视化 ...

  4. 基于Matlab生成并可视化多架飞机轨迹仿真(附源码)

    目录 一.介绍 二.插值器选择 三.航点建设 四.场景生成 4.1 轨迹可视化 4.2 轨迹 1 4.3  轨迹 2 4.4  轨迹 3 4.5  轨迹 4 4.6  轨迹 5 4.7  轨迹 6 五 ...

  5. 基于Matlab多平台雷达网络生成雷达检测仿真(附源码)

    目录 一.带旋转雷达阵列的机载平台 二.带有两个雷达阵列的机载平台 三.带有矩形雷达阵列的地面平台 四.机载目标 五.雷达探测的生成 六.总结 七.程序 此示例演示如何从多平台雷达网络生成雷达检测.该 ...

  6. matlab布林线代码,[转载]布林指标的计算(附源码)

    鉴于通达信软件和其他国内证券分析软件布林带指标与国外Advanced GET 8.0 和 Gannalyst Professional 5.0 分析软件布林指标表示差距过大,特别写一篇博文帮助大家理解 ...

  7. python量化策略源码_【Python量化投资】趋向系统指标策略 ADX、DMI指标用于股票池(附源码)...

    原标题:[Python量化投资]趋向系统指标策略 ADX.DMI指标用于股票池(附源码) [什么是ADX] ADX(average directional indicator) 平均趋向指数,常用的趋 ...

  8. 掘金量化 | 短周期量价策略(附源码)

    可能不少朋友都有阅读过国泰君安<基于短周期价量特征的多因子选股体系>这篇研报,对其内多达191个量价因子印象深刻.该研报是在2017年中旬发布的,时至今日已过去四年时光,为此大家可能会好奇 ...

  9. 基于Matlab的单基地雷达模拟检测和跟踪仿真(附源码)

    目录 一.介绍 1.1 统计雷达模型 1.2 场景管理 1.3 扫描控制 二.场景-空中监视 2.1 雷达系统 2.2 参考目标和雷达环路增益 2.3 构建雷达 2.4 方案和目标 2.5 可检测性 ...

最新文章

  1. 95%粉丝失联,小编感觉像失恋?
  2. mysql gtid 1236_MYSQL主从搭建GTID报错 error 1236 master has purged binary logs containing GTIDs?...
  3. python微信好友分析源代码_Python实现微信好友的数据分析
  4. 基于Node的PetShop,RESTful API以及认证
  5. 关于GeneXus封装方法Model的方法
  6. php hex2bin nodejs,Nodejs Serialport文档翻译
  7. 洛谷P5110:块速递推(特征根方程、光速幂)
  8. nginx http server
  9. LNMP架构介绍与搭建
  10. 摩拜服务器维护,摩拜的后台是云服务器
  11. Win7-64bit下MapX的安装和使用
  12. 分享我开发的视频解析网址
  13. 图形验证码文字识别——pytesseract
  14. Oracle XDB组件的重建
  15. FIFO设计中的注意问题与技巧
  16. puzzle(010.1)自我指涉的选择题
  17. MySQL系列 -2 创建数据库 并 分配用户远程访问权限
  18. Assets, Objects and serialization Assets, Objects与序列化 最佳实践系列3
  19. 显微镜C接口_壁虎支架、AI相机、手机镜头、便携显微镜,十一旅行有它们更精彩...
  20. SeetaFace使用(问题)

热门文章

  1. 苹果mac电脑重装系统,以及重装之后没有声音、热键不能使用的解决办法
  2. 有一个整数,加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?完全平方数:16=4*4
  3. 图的邻接矩阵表示法及顶点入度、出度的计算方法
  4. 增强网络口碑营销效果的5个方法
  5. html网页打不开二级网页,二级网页打不开的解决方法
  6. vue range 双向滚动 取中间值
  7. 2020.11.17【读书笔记】丨ONT 测序平台送样指导——DNA 取样要求
  8. Matlab 中一些符号的含义
  9. js中回调函数的理解 举例说明js回调函数
  10. GO、KEGG富集分析实例讲解