加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

在MT5下利用python作策略统计分析-阴阳K线比

(2021-02-14 21:54:08)
标签:

mt5

python

分类: MT5
pyhon 拥有完整的统计库例如 numpy, pandas, scipy,也可以调用 Google 的人工智能机器学习库 tensorflow,对于作数组统计分析或开发机器学习交易策略,有相当的优势。

mt5 的官方 python 库内部也是调用 numpy 来转换取得的 K 线数组,数组的格式是 K 线的 open time, open price, high price, low price, close price, tick_volume, spread, real_volume。既然 mt5 返回的是 numpy array,后续的数据分析沿用 numpy 丰富的数组处理函数来操作是更加便利。

先写一个简单 python 程序从 mt5 下载个别商品不同周期的 K 线数组,分别以每个月的 csv 档格式先保持于本地便于后续作数据分析。

在MT5下利用python作策略统计分析-阴阳K线比

再写一个简单的 python 统计分析程序,分析从 2017-2020 年过去4年 GBPUSD 1小时 K 的阴阳线比例:

在MT5下利用python作策略统计分析-阴阳K线比

阳线和阴线的百分比分别是 51.06% 和 48.94%,相当接近的比例,所以不管行情如何变化,这个比例如此接近还是有些意外。

再多用 EURUSD 和 USDJPY 再跑一次得到的结果也是非常类似:

在MT5下利用python作策略统计分析-阴阳K线比

在MT5下利用python作策略统计分析-阴阳K线比

回到 GBPUSD 如果把 K 线实体小于 5pips 的 K 线过滤掉再作一次统计:

在MT5下利用python作策略统计分析-阴阳K线比

阳线和阴线的百分比降到 29.09% 和 28.57% 不过比例还是相当接近。

因为 mt5+python 来设计 ea,最大的缺点是无法使用 mt5 强大的 backtest 环境,只能依赖 python 第三方的 backtest 库,所以从 python 的统计结果来写 ea 最好的方式还是回到 mt5 ea 的编程环境。

把上面的统计结果转换成一个交易思维,如果 GPBUSD 1小时 K 线实体大于 5pips 当过去 200 根 K 线的阳线比大于 33% (参考上面统计结果 29.09% 再多一些比例),下空单,期望后续阴阳线比例回归,多单信号则是反向判断。实际编程 mt5 ea 还多加了一些逆势加仓和平仓的技巧,复盘 2020 年得到的复盘结果是:

在MT5下利用python作策略统计分析-阴阳K线比

初始资金 10000 美元,复盘结束增长到 21769,净值增长 117%。结果看起来理想,打开复盘图表,开单的位置其实是不太理想的,能得到这样的结果完全是靠优异的逆势加仓和平仓处理。

虽然预期阴阳线比会回归到历史平均值,这个交易策略最大的问题是,回归前的多空K线大小没有考虑在这个策略统计里。不过透过统计分析来生成策略,还是可以先得到一个较完整的思考模式。


个人提供 MT4/MT5 EA 或 指标定制编程代写服务,有兴趣可透过邮件 boolapi@qq.com 或 QQ 1034612103 联系 (加好友后即可立即留言)

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有