产品展示 / TradingView → MT5 / 设置

TradingView → MT5

TradingView 设置

将 Pine 脚本警报连接到 PositionRelay 和 MT5 从站。

概述

PositionRelay TV Sync 将 TradingView 策略警报连接到 MetaTrader 5 跟随账户。您的 Pine 策略通过 StrategyWebhookJson 库格式化 webhook JSON;PositionRelay 将警报摄入虚拟源账户;TV Slave EA 在每个 MT5 slave 上镜像开仓、平仓与修改操作。

所有三个 EA(无冲突)

您可以在同一个 PositionRelay 账户上同时运行 MT5 Copy 和 TV Sync。请为每个 EA 使用独立的 MT5 终端——切勿将两个 slave EA 挂到同一账户。完整部署指南见 仪表盘设置向导。

  • Master Publisher (MasterPublisher.mq5) — 仅一个 MT5 主账户. POST /api/sync(发布主账户持仓).
  • Slave Subscriber (SlaveSubscriber.mq5) — 每个 MT5 跟单从账户. GET /api/positions(镜像主账户).
  • TV Slave (TVEchoSlave.mq5) — 每个 MT5 TV 镜像账户. GET /api/positions?source=tv(镜像 TradingView).

规则

  • 在每个 EA 上使用相同的 PositionRelay User ID。
  • 仅在一个终端上运行 MasterPublisher — 即您的 MT5 主账户。
  • 仅在复制主账户的终端上使用 SlaveSubscriber(MT5 Copy 产品)。
  • 仅在镜像 TradingView 信号的终端上使用 TVEchoSlave(TV Sync 产品)。
  • 切勿将 SlaveSubscriber 和 TVEchoSlave 挂到同一 MT5 终端。
  • 每个终端仅运行一个从 EA 实例(一个图表即可 — 不要把同一 EA 挂到多个图表)。
  • 为每个从终端设置唯一的 InpAccountLabel(标签在 MT5 跟单从账户与 TV 从账户之间共享)。
  • 在每个终端启用 Algo Trading(如使用 VPS / 虚拟主机也请启用)。
  • 在 MT5 中允许对 https://positionrelay.com 的 WebRequest(Tools → Options → Expert Advisors)。
  • TradingView 警报 webhook URL:https://positionrelay.com/api/webhook(从仪表盘设置复制)。

示例:同时运行全部三个 EA: 终端 1 — master → MasterPublisher ((可选标签)); 终端 2 — prop copy → SlaveSubscriber (FTMO_01); 终端 3 — TV mirror → TVEchoSlave (TV_FTMO_01). TradingView 警报发送到 https://positionrelay.com/api/webhook — 不经过 MasterPublisher。

要求

  • TradingView Plus 或更高套餐(Webhook URL 字段)
  • TradingView 账户已启用 2FA
  • 含 TV Sync 的有效 PositionRelay 订阅(TV Sync 套餐,或包含 TV Sync 的 Pro/Ultimate)

启用TV Sync

  1. 在 PositionRelay 注册并订阅,然后打开 仪表盘设置向导。
  2. 选择 TradingView Sync 选项卡。
  3. 复制您的 Webhook URL、webhook 密钥以及 Pine import 代码片段。

Pine 库

  1. 打开已发布的 TradingView 上的 StrategyWebhookJson 库 (lifestylemaniacsrt/StrategyWebhookJson)。
  2. 您的策略必须以 //@version=6 作为第 1 行开头(库需要 Pine v6)。
  3. 在库页面仅对 import 行使用 Copy to clipboard 。

测试策略

将下方完整的 Webhook Alert Test 策略粘贴到新的 Pine strategy 中(不是 indicator)。用设置向导中的 webhook 密钥替换。不要只粘贴 import 行——这会导致「Pine version unspecified」错误。

Webhook Alert Test(复制整个脚本)

//@version=6
strategy("Webhook Alert Test", overlay=true)
import lifestylemaniacsrt/StrategyWebhookJson/1 as wh

var wh.Config cfg = wh.init("YOUR_WEBHOOK_SECRET", wh.Mode.CloudOnly)

float fastMa = ta.sma(close, 14)
float slowMa = ta.sma(close, 28)

if ta.crossover(fastMa, slowMa) and strategy.position_size == 0
    strategy.entry("Long", strategy.long,
      alert_message = wh.openMsg(cfg, "Long", "buy", 0.1, close * 0.99, close * 1.02))

if ta.crossunder(fastMa, slowMa) and strategy.position_size > 0
    strategy.close("Long",
      alert_message = wh.closeMsg(cfg, "Long"))

使用 echo.Mode.CloudOnly 进行仅 webhook 测试。将 cfg 对象从 init() 传入 openMsg 和 closeMsg。

警报配置

  1. 将策略应用到图表。
  2. 创建警报 → Condition:您的策略 → Order fills only.
  3. Message 字段: {{strategy.order.alert_message}}
  4. 启用 Webhook URL 并粘贴仪表盘中的 webhook URL(https://positionrelay.com/api/webhook).
  5. Trigger: Once per bar close (推荐)。

MT5 电视从机 EA

  1. 安装 PositionRelay TV Slave Subscriber 来自 MQL5 Market。
  2. 在每个 MT5 跟随账户上将该 EA 挂到一张图表。
  3. 将 InpUserId 设为您的 PositionRelay User ID,并为每个 slave 设置唯一的 InpAccountLabel 。
  4. 启用 Algo Trading,并为 https://positionrelay.com 允许 WebRequest(Tools → Options → Expert Advisors)。

该 EA 使用 https://positionrelay.com上的内置端点: /api/positions?source=tv 和 /api/sync。TradingView 警报使用 https://positionrelay.com/api/webhook。

速率限制

TradingView 可能会限制警报(约每 3 分钟 15 条)。PositionRelay 通过 signalId对重试去重。

安全性

  • 切勿在警报消息中放入经纪商凭据。
  • 若 webhook 密钥泄露,请从仪表盘轮换密钥。

故障排除

  • Pine version unspecified 或 import 错误:将 //@version=6 作为第 1 行,并粘贴完整的 Webhook Alert Test 策略,而不是仅粘贴 import 行。
  • 每个 slave EA 只运行一个源——不要在同一 slave 上同时镜像 MT5 master 和 TV 信号。
  • 使用设置选项卡前,请确认您的套餐已启用 TV Sync。

← TradingView 产品页面