1

OriginalSL指标

OriginalSL 指标(原始止损指标)- 会在图表上每笔历史交易的原始止损位绘制一个与价格对齐的标记。所用止损值均为订单成交时的初始设定值,不受后续任何追踪止损或手动修改的影响,这样能帮助您清晰复盘:初始止损位是否设置在了危险区域、后续的修改是挽回了损失还是扩大了亏损、以及止损位是否密集出现在特定价格区间。这项指标可用于 MetaTrader 5 及 cTrader。

MetaTrader 5 和 cTrader 都可以在图表上显示您的历史交易。然而,这两个平台都没有相应的内置功能,无法在这些历史交易的图表标记中显示您的初始止损位。

而这正是 OriginalSL 指标发挥作用的时候,因为两个平台都在其交易历史中保留了交易执行时的止损价——MT5 将它保存在入场成交记录中,cTrader 则储存在开仓订单中。两者之间具体的数据路径和图表视觉效果略有不同。

该指标最直接的用途,是对比您的原始止损位与交易的实际走势,尤其是当您使用了追踪止损、盈亏平衡位或类似的入场后止损调整技术时。

各版本如何获取数据

MetaTrader 5

MT5 会将订单执行时设定的止损值,存储为每笔入场成交的一项属性。MT5 版 OriginalSL 直接从平台的成交历史记录中读取该数值。

该指标订阅 OnTrade() 事件,并在有新的成交进入历史记录时自动刷新(通过 HistoryDealsTotal() 变化检测来避免因订单修改而产生不必要的重新加载,因为订单修改不会产生成交记录)。在 MT5 中,触发止损的检测是确定无疑的:一笔带有 DEAL_REASON_SL 的平仓成交记录可以明确无误地标记为一次止损触发。

cTrader

cTrader 版 OriginalSL 指标使用 HistoricalOrders 集合,其中每笔开仓订单都带有 StopLoss 和 StopLossPips 属性,并保存了订单下达时设置的止损位。

刷新由 Positions.Closed 事件驱动。然而,在 cTrader 中是无法检测到某笔头寸是否因触及止损而平仓的。因此,与 MT5 版本不同,适用于 cTrader 的 OriginalSL 指标不提供按该参数进行筛选的功能。

各版本之间的视觉差异

由于每个平台的图表对象集各不相同,每个版本都会调用其最简洁的可用对象来渲染标记:

  • MT5——价格标签 + 趋势线:在止损价位处,从入场 K 线开始,向紧随其后的下一根 K 线绘制一条短水平趋势线,并附带一个文本标签。线条宽度和样式均可配置。

  • cTrader——价格标签 + 短划线:在与入场 K 线对应的止损价位上放置一个带价格的文本标签。并有一条从标签拖出的短线,直接指向图表中的原始止损位。

两个版本均将买单标记和卖单标记设为不同的颜色(默认为买单红色,卖单蓝色)。

输入参数

两个版本的共有参数

  • DirectionFilter (默认 = 两者) - 限制为仅买单、仅卖单或两者皆可。

  • DaysBack (默认 = 0) - 仅标记在过去指定天数内平仓的交易。0 = 无限制,标记所有交易。

  • ObjectPrefix (默认 = "OSL_") - 图表对象的前缀,以免该指标的标记与其他指标的对象发生冲突。

MetaTrader 5 的特有参数

  • OutcomeFilter (默认 = 所有) - 限制为仅盈利单、仅亏损单、仅止损触发单或所有结果。按止损触发单筛选在回测分析中最有用,因为它仅会显示那些由止损平仓的交易。

  • MagicFilter (默认 = -1) - 限制为具有特定魔术号的交易。-1 = 任意。

  • BuyLineColor (默认 = clrCrimson) - 买单止损标记的线条和文本颜色。

  • SellLineColor (默认 = clrDodgerBlue) - 卖单止损标记的线条和文本颜色。

  • LineWidth (默认 = 1) - 在入场 K 线上标记止损价的趋势线段的宽度。

  • LineStyle (默认 = STYLE_SOLID) - 线条样式:实线、虚线、点线、点划线、双点划线。

  • TextFont (默认 = "Verdana") - 价格标签所用的字体。

  • TextFontSize (default = 10) - 价格标签的字体大小。

  • ObjectsInBack (默认 = false) - 将标记绘制在价格走势后方,而非前方。

cTrader 的特有参数

  • OutcomeFilter (默认 = 所有) - 限制为仅盈利单和仅亏损单。cTrader 不支持按头寸是否由止损还是其他方式平仓进行筛选。

  • LabelFilter (默认 = "") - 仅限开仓时附带确切标签的交易。cTrader 使用字符串标签代替 MQL5 的整数魔术号;留空则可以匹配任何标签。

  • BuyColor (默认 = Crimson) - 买单止损标记的文本颜色。

  • SellColor (默认 = DodgerBlue) - 卖单止损标记的文本颜色。

  • TextFontSize (默认 = 10) - 文本标签的字体大小。

如何在 MT5 中使用

单独将该指标附加至图表并不能提供太多有用信息。您还需要在图表上启用交易历史显示,以便您理解所显示的原始止损价位与已平仓头寸之间的关系。

如要在 MetaTrader 5 图表上启用交易历史,请用右键单击图表并选择属性(也可以直接按键盘上的 F8)。转到显示选项卡,并勾选显示交易历史。

图表上会显示蓝色或红色的向上或向下的箭头,分别代表买单和卖单。多头头寸的入场及出场箭头由蓝色趋势线连接。空头头寸的入场及离场箭头由红色趋势线连接。

如何在 cTrader 中使用

如要在 cTrader 中启用交易历史,只需用右键单击图表,然后在查看选项下勾选成交历史(Deal map)选项。

cTrader 的标记由橙色(亏损头寸)和绿色(盈利头寸)箭头组成,并用实线连接。将鼠标悬停在上面会显示详细的入场及离场信息。

MT5 示例

下图为 EUR/USD 货币对上的两笔历史多头交易,其原始止损价位标记在入场 K 线上。两个止损标记均为深红色(买单止损标记的默认颜色)。而价格标签给出了确切的止损值,将鼠标悬停在任意标记上即可查看订单号以及止损距入场点的距离。

OriginalSL-MT5

cTrader 实例

在此处,您可以在此看到两笔 EUR/USD 交易:一笔买单和一卖单。原始止损价位标记在开仓 K 线上。止损标记的颜色用于识别方向(深红为买单,浅蓝为卖单),而价格标签则给出以价格和距离显示的精确止损价位。

OriginalSL-cTrader