前阵子看监管那边又出了条关于程序化交易报备的新闻,心里咯噔一下,想着自己那点半吊子编程水平,是不是也该认真把EA这块搞明白了。目前环境是Win11 64位,MT5 build 4260,MT4也装着(build 1420),Python 3.11配了MetaTrader5模块,VPS是某家便宜货,2核4G挂着跑。
我现在的水平大概就是能看懂MQL4的现成代码,简单改改参数、加个均线条件还行,但要从零写一个带仓位管理、移动止损、还得分批平仓的EA,就完全没底了。前两天试着把一段网上抄来的黄金突破策略拼到自己的模板里,编译直接给我甩脸:'OrderSend' - wrong parameters count,还有几个'CTrade' - undeclared identifier,我照着文档把参数补了,又加了#include <Trade\Trade.mqh>,结果回测跑起来一单都不开,日志里全是invalid price。MT4那边更别提,OrderSend的参数顺序我老是记混,止损止盈算出来是0,挂单直接被拒。
我也试过笨办法,拿Strategy Tester单步调试,可断点打在OnTick里根本停不住,不知道是不是我VPS上远程桌面卡的原因。还试过把逻辑拆成一个个小函数单独测,但一涉及跨周期取数据、用iCustom调指标缓冲区,就又绕晕了。论坛里翻了不少帖子,有人说会写for循环和if就够了,也有人讲必须吃透订单状态机和滑点处理,我现在就卡在中间,不上不下。
所以想请教下走过这条路的汇友:你们判断“能写EA”的临界点到底在哪?是能独立跑通一个带风控的完整策略,还是说必须会处理重连、部分成交、隔夜利息这些边角情况才算入门?我这种能改不能写的,下一步该先啃MQL5官方手册的哪一章比较省时间?🙏
我现在的水平大概就是能看懂MQL4的现成代码,简单改改参数、加个均线条件还行,但要从零写一个带仓位管理、移动止损、还得分批平仓的EA,就完全没底了。前两天试着把一段网上抄来的黄金突破策略拼到自己的模板里,编译直接给我甩脸:'OrderSend' - wrong parameters count,还有几个'CTrade' - undeclared identifier,我照着文档把参数补了,又加了#include <Trade\Trade.mqh>,结果回测跑起来一单都不开,日志里全是invalid price。MT4那边更别提,OrderSend的参数顺序我老是记混,止损止盈算出来是0,挂单直接被拒。
我也试过笨办法,拿Strategy Tester单步调试,可断点打在OnTick里根本停不住,不知道是不是我VPS上远程桌面卡的原因。还试过把逻辑拆成一个个小函数单独测,但一涉及跨周期取数据、用iCustom调指标缓冲区,就又绕晕了。论坛里翻了不少帖子,有人说会写for循环和if就够了,也有人讲必须吃透订单状态机和滑点处理,我现在就卡在中间,不上不下。
所以想请教下走过这条路的汇友:你们判断“能写EA”的临界点到底在哪?是能独立跑通一个带风控的完整策略,还是说必须会处理重连、部分成交、隔夜利息这些边角情况才算入门?我这种能改不能写的,下一步该先啃MQL5官方手册的哪一章比较省时间?🙏
