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

标签:
mt5python |
分类: 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
档格式先保持于本地便于后续作数据分析。
再写一个简单的 python 统计分析程序,分析从 2017-2020 年过去4年 GBPUSD 1小时 K
的阴阳线比例:
阳线和阴线的百分比分别是 51.06% 和
48.94%,相当接近的比例,所以不管行情如何变化,这个比例如此接近还是有些意外。
再多用 EURUSD 和 USDJPY 再跑一次得到的结果也是非常类似:
回到 GBPUSD 如果把 K 线实体小于 5pips 的 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 年得到的复盘结果是:
初始资金 10000 美元,复盘结束增长到 21769,净值增长
117%。结果看起来理想,打开复盘图表,开单的位置其实是不太理想的,能得到这样的结果完全是靠优异的逆势加仓和平仓处理。
虽然预期阴阳线比会回归到历史平均值,这个交易策略最大的问题是,回归前的多空K线大小没有考虑在这个策略统计里。不过透过统计分析来生成策略,还是可以先得到一个较完整的思考模式。
个人提供 MT4/MT5 EA 或 指标定制编程代写服务,有兴趣可透过邮件 boolapi@qq.com 或 QQ
1034612103 联系 (加好友后即可立即留言)