构建你的第一个交易系统(Checklist)
作者:FXEA Prime | 阅读时间:约 14 分钟
没有计划的交易,无异于闭着眼睛在高速公路上狂奔。前面我们学习了均线、供需区、三重滤网、资金管理等模块,现在是时候将它们组装成一台精密的机器了。本文将手把手带你写出一份属于自己的《交易计划书(Trading Plan)》,并提供高胜率的 Checklist。学会这套流程,你就可以直接将它翻译成 EA 量化代码。
一、引言:从“随性而为”到“机械执行”
问自己一个问题:你上一笔交易是因为什么买入的?
是因为“看着跌到底了”?是因为“感觉非农要利好”?还是因为某位大V的喊单?如果你的回答属于上述任何一种,那么你还没有建立起自己的**交易系统(Trading System)**。
职业交易员的桌面上,通常贴着一张纸。在按下鼠标左键之前,他们会像飞行员起飞前核对仪表盘一样,逐一打勾。只有当所有条件都满足时,才会进场。这份交易计划书,就是你用来抵御心魔、克服恐惧与贪婪的唯一武器。
二、模块一:环境与战场(Where & When)
不打无准备之仗。第一步,你需要界定你的能力圈,绝不在非计划内的品种或时间交易。
- 交易品种(Watchlist): 不要看全市场。选定 1-3 个你最熟悉的品种(如 XAUUSD, EURUSD)。
- 时间框架(Timeframes): 明确你的“三重滤网”。(例如:H4 定方向,H1 找结构,M15 进场)。
- 交易时段(Sessions): 你是做亚洲盘震荡,还是伦敦盘突破?明确规定自己在哪几个小时可以看盘,其余时间强制关机。
三、模块二:入场触发器(The Trigger)
这是交易系统的核心逻辑。你需要用极其具体的语言描述进场条件,消除所有模棱两可的主观判断。

图解:入场决策树。每一个节点都是一个 Yes/No 的判断,最终指向“入场”或“观望”。
🎯 入场逻辑三步走:
- 结构/方向前提: 比如“H4 必须是 HH+HL 上升结构,且价格位于 20 EMA 之上”。
- 关键位置: 比如“价格必须回踩至 H1 级别的供需区(Order Block)或 0.618 斐波那契回调位”。
- 形态确认: 比如“在上述位置必须出现看涨 Pinbar 或孕线假突破(Fakey)”。
注:只有 1、2、3 同时满足,才能将手指放在鼠标上。
四、模块三:防弹衣与降落伞(Risk & Exit)
没有出场规则的系统只是一半的系统。这是区分散户与职业机构的根本。
- 单笔风险: 严格执行固定百分比法(例如,每笔交易风险绝不超过账户总额的 1%)。
- 初始止损(Stop Loss): 根据 ATR 波动率计算(如 1.5 倍 ATR),或放置在关键结构低点外。进场即设,绝不向下移动。
- 止盈与持仓管理(Take Profit / Trailing):
– 策略A:达到 1:2 盈亏比时平仓一半,剩余仓位推保本损(Break-even)。
– 策略B:不设固定止盈,使用 2 倍 ATR 吊灯止损法死死咬住趋势,直到被扫出局。
五、实战演练:一份标准的 Checklist 范本
下面是一套基于“顺势回踩策略”的真实交易清单。你可以直接复制并根据自己的喜好修改。
✅ 狙击手交易清单 (Sniper Setup)
- 环境检测: 当前是否避开了重大新闻发布(如非农)前后 1 小时?
- 时段检测: 现在是否处于伦敦盘或纽约盘的活跃时段?
- 大势确认: H4 趋势是否明确(MACD 柱线是否支持我的方向)?
- 位置确认: 价格是否刚好落在我画的 H1 关键供需区/支撑位上?
- 信号确认: M15 是否出现了明确的裸K反转形态(Pinbar / 吞没)?
- 风控计算: 按照当前的止损距离,计算出的手数是否将风险死死控制在了账户的 1%?
- 盈亏比检测: 预期止盈空间是否至少是止损距离的 2 倍(R:R > 1:2)?
- 情绪核查: 我现在的心态是否平静?是否存在报复交易或 FOMO 的冲动?
🚫 只要有一个勾没打,立刻关闭图表,拒绝开单!
六、量化视角:将计划书转化为状态机
人类在打勾时容易受情绪影响(比如强行说服自己条件满足了),而 EA 不会。你的 Checklist 越清晰,转化为 EA 的代码就越容易。在编程中,这被称为状态机(State Machine)或逻辑与(AND Gates)。
bool CheckEntryConditions() {
// 1. 检查时段与新闻 (Environment)
if (!IsTradingSession()) return false;
if (IsMajorNewsIncoming()) return false;
// 2. 检查大势结构 (Trend)
double ema50 = iMA(Symbol(), PERIOD_H4, 50, 0, MODE_EMA, PRICE_CLOSE, 1);
if (Close[1] < ema50) return false; // 必须是多头趋势
// 3. 检查关键位置 (Location)
double supportLevel = GetNearestSupport();
if (MathAbs(Low[1] - supportLevel) > 10 * Point) return false; // 必须触及支撑
// 4. 检查裸K形态 (Trigger)
if (!IsBullishPinbar(1)) return false; // 必须是看涨Pinbar
// 5. 检查风控与盈亏比 (Risk / Reward)
double stopLossDist = CalculateATRStopLoss();
double takeProfitDist = GetNextResistance() – Ask;
if (takeProfitDist / stopLossDist < 2.0) return false; // 盈亏比必须 >= 2
// 全部条件满足,返回 True 允许开仓!
return true;
}
void OnTick() {
if (OrdersTotal() == 0 && CheckEntryConditions()) {
ExecuteBuyOrder(); // 执行买入及仓位计算
}
}
👨💻 程序员笔记:
写 EA 就是在写一个“拒绝器”。我们不需要写怎么赚钱,我们只需要写大量的 if (xxx) return false;。把所有不符合 Checklist 的糟糕情况全部排除掉,剩下的那 5% 的交易,自然就是赚钱的交易。
七、常见问题 (FAQ)
我们深耕 MQL4 程序开发,提供 定制化指标开发、EA 开发服务,可根据交易策略与习惯打造专属工具,降低操作成本,提升执行效率。





