如何创建订购交易机器人的需求规范:从零梳理让程序员一次看懂的算法交易 Brief(基础篇)
📋

如何创建订购交易机器人的需求规范:从零梳理让程序员一次看懂的算法交易 Brief(基础篇)

(1/3)· 多数交易者卡在「说不清策略」而非「找不到 developer」,本篇先把需求规范的底层骨架搭明白

实战向 第 1/3 篇
不少人在自由职业版块贴一句「做个均线金叉 EA」就等报价,结果拿到的机器人连滑点和错单处理都没写。先把买卖规则、仓位计算和环境异常写成书面规范,后续沟通成本能砍掉一大半。

「把交易想法写成机器人需求规范」

在 MT5 上找人开发 EA 或指标,第一步不是写代码,而是把你的交易逻辑拆成机器能执行的规范。很多交易者直接丢一句「帮我写个顺势加仓的机器人」,结果交付物完全跑偏——因为「顺势」在 H1 和 M1 上不是同一件事。 需求规范至少要固定三件事:标的时间框架、入场与退出的可量化条件、以及仓位与风控规则。例如「在 EURUSD 的 H4 图表上,当收盘价突破 20 周期布林带上轨且 RSI(14) 低于 70 时做多」,就比「突破时做多」可被验证得多。 MetaQuotes 官方论坛 2018-08-23 发布的示例帖累计被查看 16 052 次、收到 29 条跟帖,说明这类规范化需求模板在 MT5 用户里有稳定需求。外汇与贵金属杠杆交易高风险,规范写得越模糊,实盘试错成本越高。

◍ 下单前先写清楚你要什么

在自由职业版块找人写 EA 之前,最容易被忽略的一步是先把需求规范(spec)写明白。很多订单描述只有一句话:「帮我做个能赚钱的黄金剥头皮机器人」,结果来回改稿三四轮,最后双方都不满意。 一份像样的规范至少覆盖这些点:策略总体思路、信号如何描述与存活多久、在什么时刻下单开仓、仓位和订单怎么管理、出错和环境异常怎么处理、手数怎么算。若涉及柱线开盘价交易还是柱线内交易、是否做逐笔剥头皮、是否用网格或马丁格尔,都必须提前写明——这些技术的回撤特征差异极大。 如果你自己写不出规范,可以去 MQL5 自由职业版块的示例区看别人通过的需求文档,照结构填空比凭空写快得多。注意:外汇和贵金属杠杆交易高风险,任何策略在历史回测中表现好,都不代表实盘概率不变。 程序员能写代码,但不能替你凭空发明一个「稳定获利」的逻辑。你给不出明确的信号定义和风控边界,对方只能按自己理解猜,猜错成本由你承担。

先定规则再谈写机器人

交易机器人本质是跑算法的程序,算法只做一件事:监听特定事件然后触发动作。最典型的事件是‘新柱线形成’,柱线一闭合,机器人就去扫信号、决定下不下单。 在找人写 EA 或自己动手前,你得先有一套规则明确的交易系统——买什么、卖什么、什么时机进场,这些必须写成可执行的硬条件。复杂系统也是从‘定义买卖信号’这个地基搭起来的,之后才谈得上加移动止损、分批平仓这类管理逻辑。 没多年 MT5 实操经验不算门槛。网上能搜到几百种已验证的策略骨架,挑一个改就行;代码写不利索也不要紧,MQL5 自由职业板块能直接雇到开发者。 动手前建议先翻三篇东西:无空闲时间怎么做机器人、一次性客户的避坑提示、怎么提需求规范才能让开发者交付你要的 EA。这些读一遍,后面沟通成本能降一大截。

「把交易逻辑写成机器能懂的规矩」

找人写 EA 或自己动手前,先把策略拆成明确的正式规则:进场条件、平仓逻辑、异常处理、风控开关,一样都不能模糊。机器人只认代码不猜意图,你给的描述越细,后期返工和扯皮的概率越低。 哪怕不打算外包,只是想自己撸一套智能交易系统,也得从书面的交易规则起步。把测试和优化要求写进需求里:比如你假设均线周期在 20~60 之间寻优,就要写明评判稳定性的准则,以及为什么这个区间对你重要。 把开发全过程记进需求文档,数周或数月后你回看时,思路不会断片。算法交易不是周末消遣,而是一条长线深坑,每一步都得留档。 养成写开发日记的习惯,下次想验证新想法,直接翻旧账就能比对参数演变,不用从头推演。外汇和贵金属杠杆高,文档再全也得用小资金先跑实盘验证风险。

◍ MACD 均线趋势 EA 的入场平仓规则拆解

一个可直接在 MT5 标准包里翻到的 MACD 样本 EA,把交易逻辑拆成趋势判向和信号交叉两层。趋势只用一条指数移动均线(周期由 InpMATrendPeriod 控制):ema_current > ema_previous 算上涨,反过来算下跌,没有任何花哨过滤。 信号层很直白——MACD 主线向上穿信号线且当前趋势为涨,才视为买入触发;向下穿且趋势为跌,才是卖出触发。具体写成条件就是 macd_current > signal_current && macd_previous < signal_previous(买),macd_current < signal_current && macd_previous > signal_previous(卖)。 开仓限定在新柱开盘时市价执行,回测用开盘价跑,所以不用写柱内禁单函数。弱信号靠 open_level(点数)卡掉:买入要 Abs(macd_current) > open_level,卖出要 macd_current > open_level,避免零线附近瞎抖造成的毛刺单。 平仓比入场多一道 close_level 过滤:多单平掉需 macd_current > close_level,空单平掉需 Abs(macd_current) > close_level。止盈在开仓时按 InpTakeProfit 点数挂好;TrailngStop 则在浮盈超过 InpTrailingStop 后启动,只跟盈利方向、绝不拉大亏损。外汇和贵金属杠杆高,这类均线交叉系统在震荡市里容易被来回扫,实盘前先用策略测试器跑几年 tick 数据验证。

把交易想法写进需求文档的边界

写 EA 需求的第一步,是把脑子里那句『价格两次撞阻力没过,第三次可能突破』先原样记下来,不急着给阻力位、突破判定、『可能』的概率下精确定义。故意留一点抽象,是为了后面能换指标、加过滤器、调输入参数去繁衍出多个策略版本,而不是一上来被技术细节锁死。 但抽象归抽象,思路里出现的每个概念都得单独定义。比如策略依赖趋势,就要写明用哪个指标判方向和多空强度——这些数字特征后来就是策略测试器里能优化的输入参数。需求文档里建议把术语和定义单开一段,关键概念加粗、输入参数用斜体,必要时配图。 交易信号那段是整份文档最硬的部分。买入条件要落到可量化的参数上,例如移动平均线的平滑类型和周期;卖出条件必须单独写清,哪怕只是买入的反面——『Value > 0』对应的平仓最好明确成『Value < 0』还是『Value <= 0』,否则程序员很容易误读。附加过滤器配市场截图,将来 EA 漏掉明显信号或在烂点位成交时,这些直观材料能帮你复盘。 持仓怎么退场、挂单怎么撤,要和开仓信号同等对待:写明多长时间后或什么事件下取消信号。若用止损止盈,得给计算算法,可选尾随止损也要写触发与修改逻辑,并注明是按逐笔报价还是柱线开盘改价——这个选项会直接改变策略测试器的回测结果,相关风险参见真实逐笔报价测试的文章。外汇与贵金属杠杆高,任何信号逻辑都只是概率倾向,实盘前务必在 MT5 策略测试器用历史数据验证。

让小布替你跑这套
这些诊断小布盯盘的 AIGC 已内置,打开对应品种页即可看到策略信号结构是否完整,把重复劳动交给小布,你专注决策。

常见问题

可以。重点是把交易系统的买卖条件、仓位计算逻辑和异常处理用自然语言写清楚,自由职业版块的开发者会将其转为代码。
倾向要写。明确你打算用哪些假设检验策略稳定性,以及选参准则,能减少数月后回看时自己都看不懂当时思路的情况。
应点明这类技术的阴暗面与爆仓风险,外汇贵金属属高风险,程序员不会替你做风控决策,需客户自己定义平仓与取消订单边界。
小布盯盘目前内置的是信号结构诊断与品种页速览,可辅助你核对规范遗漏点,但完整 Brief 仍建议人工补交易哲学与假设部分。
至少覆盖交易策略总体思路、信号描述与生存期、开平仓规则、仓位计算、错误与环境状态处理,这几块缺一则开发易跑偏。