mt5 内存这样的速度差异就相当明显了mt5 供应的官方 python 库,该具备的生意效力函数都供应了,如要仿制 mql5 的 OnTick OnTimer 这类事项触发机制的函数,也能够变相用少少解决格式来完成,以是正在 python 上开拓出与 mt5 ea 左近水准的 ea 是没有题目的。

  本质运转用 python 写的 ea 跑了一两天,履行压力下单冷静仓测试,集体依旧褂讪的。

  关于念要正在 mt5+python 兴盛 ea 的生意者,最大会立刻遭遇的疾苦是,mt5 现正在还没有供应 python 能够移用 mt5 backtest 的接口,也即是正在 python 上开拓 ea 是无法正在 mt5 上作复盘测试的,只可其余再找 python 的第三方 backtest 库再众写接口来完成。

  复盘不是唯有验证政策的有用性,也饰演调试政策参数的首要劳动,以是复盘关于开拓 ea 是相当首要的闭头。

  其余正在履行速率上,mt5+python ea 的速率自然是无法和单纯在 mt5 开拓的 ea 比拟,这个是本质履行压力测试后获得的结论。由于 mt5+python ea 正在移用目下价钱和 K 线数据举动信号阴谋,和移用生意记载,需求透过 mt5 python 官方库与 mt5 修筑正在当地的一个加密的 socket 毗连来作,读写速率自然是比然而 mt5 ea 直接从 mt5 内存读取行情数据和订单音讯。固然 python 是剧本编程道话,与其他编译型的编程道话次第比自然是不速,可是关于 ea 的使用,如许的慢是不太感觉的到,能够直接感觉到与相似 mt5 ea 的慢,厉重是慢正在与 mt5 间的洪量数据传送和 io 读写分歧上,加倍是相接移用行情数据比力众时,如许的速率分歧就相当明明了。这依旧有优化格式的,能够仿 mql5 目标关于初始和后续的行情读取,接纳精简量的读取格式。

  既然有这些偏差,正在 mt5 开拓 python ea 依旧正在有些范围有不行替换的利益,以是 metaquotes 才会正在 2020 年最终依旧把 python 接口和函数库供应出来。由于现正在很众衍素性生意平台都依然具备了 python api,而经历这些年,python 依然成为量化生意次第最有人气的编程道话,这也让很众生意团队正在修构量化生意的处境,会优先推敲 python。

  其余正在人工智能的量化生意,python 的呆板研习和统计数组解决的第三方库简略是最厚实的编程道话。关于生意政策里有效到 tensorflow 这类呆板研习库,利用 python 来开拓自愿生意次第是最佳的遴选。

  mt5 或是 mt4 ea 受限于当时 metaquotes 自定的限度,只可作单线程运转,当同时触发事项函数如 OnTimer OnTick OnChartEvent,mt5 底层会作互斥锁限度一个线程运转。和大局限编程道话雷同,python 是维持众线程编程的,异步移用汇集数据或平行跑 OpenCl 库,利用众线程架构会更合意。

  然而关于日常型的生意政策,mt5/mt4 ea 依然相当强盛了,终于比起其他的生意平台 比如 multicharts 或是当地文华财经的生意道话,mql5/mql4 是类 c 的编程道话,编程的弹性依然额外足够了。