止盈

亦称:TP, 获利目标, 目标位

止盈是附加在持仓上的一个价格水平,价格触及时经纪商会自动平仓,把盈利落袋。它和止损一样挂在经纪商的服务器上,由交易者在开仓之前就定下来。

止盈 — MT5 glossary overview

一览

术语类型
MT5 平台
难度
入门
适用场景
策略设计 · MT5 操作 · 风险管理
MQL5 函数
CTrade::PositionModify(ticket, sl, tp)

一句话讲清

这笔交易「已经赚够了」的那个价格。止损说的是你允许自己错到什么程度;止盈说的是对到什么程度就够了。

为什么重要

止盈是策略收下自己优势的地方,也是交易者事后最爱挪动的那个数字。在入场时定死,它就把风险回报比变成一个可以检验的主张。

  • 它和止损一起定出盈亏平衡胜率:1 ÷ (1 + 止盈 ÷ 止损)。挪动其中任何一个数,策略必须跨过的门槛就跟着动。
  • 它在经纪商的服务器上执行,所以夜里触及的止盈照样把盈利落袋,不管终端有没有开着。
  • 它的距离决定了交易记录的性格。近的止盈赢得频繁而微小;远的止盈要熬过漫长的平坦期,等那几笔替其余所有交易买单的盈利。

在 MetaTrader 5 中

在 MT5 的什么位置

  • 新建订单(New Order)对话框(F9)→ 止盈(Take Profit)—— 在入场时设定,填的是价格
  • 市场报价(Market Watch)→ 右键点击品种 → 规格(Specification)—— 止损位限制(Stops level)那一行也是这家经纪商对止盈接受的最小距离
  • 策略测试器(Strategy Tester)→ 输入参数(Inputs)—— EA 的止盈是一个可优化的输入参数,也是最容易过拟合的参数之一

EA 如何使用它

  • 在入场时通过 MqlTradeRequest 的 tp 字段发送,填的是价格。EA 要自己把打算用的距离换算成价格水平。
  • 当策略需要先拿到真实成交价时,事后用 TRADE_ACTION_SLTP 挂上去。
  • 当策略以比率来表述时,从止损推导出来。这里 18 份止盈一致的记录声明的是止损的 0.88 到 4.19 倍,中位数 1.5。
  • 很少是唯一的离场方式。这 18 份里有 11 份同时搭载移动止损、定时平仓或保本位移动,而在那些版本上,止盈只平掉了 25.85% 的盈利单。

常见设置

设置项 常见取值 备注
按比率定的止盈 止损距离的 1.5–3 倍 EA 里最常见的写法;这里出厂的中位数正好是 1.5。
出厂止盈,这里的 18 个止盈一致的 EA 25–300 点,中位数 107 这些版本实际发送出去的值。有三个出厂时止盈比止损还窄 —— 100 对 114。
ATR 倍数 2–4 × ATR(14) 这个目录里 17 个带 ATR 字样的输入参数,没有一个控制止盈;它们全都用来把关入场。

常见运行问题

  • 买价(bid)触及了止盈,但空单是按卖价(ask)平仓的,所以正好设在某个水平上的止盈,可能就差一个点差的宽度而迟迟不成交。
  • 五位报价上 point 与 pip 会撞车:本想设 100 点(pip)的止盈,发出去却变成 100 个 point,测试就会打出一个高得可疑的胜率。
  • 服务器拒绝落在止损位限制以内的止盈,于是持仓在盈利一侧毫无出口地跑着。发出请求之后要把 POSITION_TP 回读一遍。

相关 MT5 函数

MqlTradeRequest.tp
随订单一起发送的止盈价格;为零表示没有止盈。
CTrade::PositionModify(ticket, sl, tp)
给一笔已开持仓挂上或挪动止盈。
PositionGetDouble(POSITION_TP)
回读实际生效的止盈。

示例

同一条入场规则,两个止盈距离,两个相差悬殊的必须跨过的胜率门槛。

止损距离
30 点
止盈 A
30 点(1:1)
扣除成本前的盈亏平衡胜率为 50%。
止盈 B
90 点(3:1)
扣除成本前的盈亏平衡胜率为 25%。
每笔交易付出的点差
1.5 点
占止盈 A 的 5%,占止盈 B 的 1.7% —— 同一笔过路费,不同的份额。

止盈 A 赢得频繁得多,却把其中大部分交还给成本,以及和盈利一样大的亏损。它们不是同一个产品。

计算 1 ÷ (1 + 1) = 50% · 1 ÷ (1 + 3) = 25%

结果 同一条入场规则得出两个不同的产品

怎么使用

把止盈放在止损旁边读,也放在实现的结果旁边读。EA 实际做到了什么,比它瞄准了什么更能说明问题。

区间 含义
平均盈利远低于设定的止盈 有别的东西先一步平掉了交易。在这里声明了另一种离场方式的 11 份记录上,盈利中位数只有止盈的 0.5% 到 45%。
平均盈利接近止盈 止盈说到做到。在只有止盈或止损离场的 7 份记录上,96.43% 到 100% 的盈利单在它的 2% 以内平仓。
止盈只有点差的几倍 成本吃掉每一笔盈利的一大块;策略需要异乎寻常的胜率才能扛得住。
不设止盈,只靠移动止损离场 对趋势策略来说是正当的,但风险回报比必须来自实现的交易,而不是一句声明。
  • 从交易记录里算出实现的比率 —— 按金额计的平均盈利除以平均亏损 —— 再放到声明的比率旁边。这里 18 份记录里有 15 份的金额比率低于声明值。
  • 止盈很小时,把点差加进止盈距离里。点差 1.5 点时设 10 点止盈,在别的什么都还没发生之前就先让出了 15% 的收益。
  • 在与入场不同的时间窗口上优化止盈;一起拟合出来的这一对共享同样的噪音,也会一起失效。

这里每一个 EA 都公开自己的离场规则和交易记录;本页的数字全部来自那些回测交易记录(EXP-TARGET-REACH-001)。

常见误区

入场之后挪动止盈

因为一笔交易走得顺就把止盈往外推,等于改写了你据以入场的那个比率。诚实的风险回报比是开仓那一刻存在的那一个。

忽略是点差的哪一侧平掉这笔交易

多单按买价(bid)平仓,空单按卖价(ask)平仓。正好设在整数关口上的止盈可能迟迟不成交,而画着买价的图表看上去已经碰到了它。

把声明的比率当成实现的比率来读

在这里止盈平掉 96–100% 盈利单的 7 个版本上,金额比率仍有 7 个中 6 个落在声明比率之下,最低 0.90 倍。点差、佣金和隔夜利息吃掉的就是这么多;移动止损或保本位移动吃掉的要多得多。

深入说明

已公开的 3,965 笔盈利交易,对那道本该平掉它们的止盈做了什么

每一个商品页面都附上自己的平仓交易清单,所以每一笔盈利离场都紧挨着它的 止盈。31 份记录里有 18 份对每一笔订单都发送同一个止盈距离。

止盈一致的 18 份记录,3,965 笔盈利交易数值
在出厂止盈 ±2% 以内平仓的盈利单42.02%(1,666)
未到止盈就平仓的盈利单56.77%(2,251)
越过止盈才平仓的盈利单1.21%(48)
没有移动止损、定时平仓和保本位移动的 7 份记录97.87% 在止盈平仓,最低 96.43%
声明了其中之一的 11 份记录25.85% 在止盈平仓
声明的比率,止盈 ÷ 止损0.88–4.19,中位数 1.5
金额比率低于声明比率18 份中 15 份

第四行和第五行是第一行的拆分。三个带移动止损的版本在 114 点止损和 34 点 移动止损后面挂着 100 点的止盈;移动止损平掉了它们 83–86% 的盈利单, 中位数 21–24 点,金额比率落在 0.32–0.36,而声明的是 0.88。四个带保本位 移动的版本,盈利中位数正好是 1 点。第三行是成交中对你有利的一面:跳空 穿过该水平时按下一个价格成交,最大的一笔设定 67 点、实际成交在 112.6 点。

相关术语与接下来该核对什么

在声明了移动止损或保本位移动的版本上,把止盈当作上限来看,并从交易记录里 读出实现的平均盈利。把它和定出风险回报比 另一半的止损放在一起读;当策略没有天然水平时, 拿它和移动止损权衡;再到目录里 去读每一个智能交易系统写明的离场规则。

常见问题

EA 应该用固定止盈还是移动止损?
取决于策略的形状。均值回归和突破系统有一个价格理应到达的天然水平,固定止盈能把它表达得很好。趋势系统没有这样的水平,固定的上限会截断那些替亏损买单的行情。
止盈距离取多少比较合适?
要和止损配成一个站得住脚的比率,并且远远离开点差。这里 18 份止盈一致的记录出厂值为 25 到 300 点,中位数 107,声明比率的中位数是止损的 1.5 倍。
价格到了止盈,为什么我的止盈没有触发?
因为多单按买价(bid)平仓,空单按卖价(ask)平仓。空单要卖价触及止盈才行,而图表通常画的是买价。
我的终端关着,止盈还有效吗?
有效。一旦被接受,它就挂在经纪商的服务器上并在那里执行,这正是它胜过在 EA 代码里按水平平仓的原因 —— 终端未必一直在运行。
EA 的止盈实际平掉交易的频率有多高?
取决于还有什么别的能平掉它。在 18 份公开记录的 3,965 笔盈利回测交易中,42.02% 在出厂止盈的 2% 以内平仓。在没有移动止损、定时平仓和保本位移动的 7 个版本上,这个比例是 97.87%。