Produtos / TradingView → MT5 / Configuração

TradingView → MT5

Configuração TradingView

Conecte alertas de script Pine aos escravos PositionRelay e MT5.

Visão geral

O PositionRelay TV Sync conecta alertas de estratégias do TradingView a contas seguidoras no MetaTrader 5. Sua estratégia Pine formata o JSON do webhook via a biblioteca StrategyWebhookJson; o PositionRelay ingere os alertas em uma conta fonte virtual; o TV Slave EA espelha abertura, fechamento e modificação em cada slave MT5.

Todos os três EAs (sem conflitos)

Você pode executar MT5 Copy e TV Sync na mesma conta PositionRelay. Use um terminal MT5 dedicado para cada EA — nunca anexe ambos os slave EA à mesma conta. O guia completo de implantação está no assistente de configuração do painel.

  • Master Publisher (MasterPublisher.mq5) — Apenas uma conta master MT5. POST /api/sync (publica posições do master).
  • Slave Subscriber (SlaveSubscriber.mq5) — Cada conta slave de cópia MT5. GET /api/positions (espelha o master).
  • TV Slave (TVEchoSlave.mq5) — Cada conta MT5 espelho de TV. GET /api/positions?source=tv (espelha TradingView).

Regras

  • Use o mesmo PositionRelay User ID em cada EA.
  • Execute o MasterPublisher em exatamente um terminal — sua conta master MT5.
  • Use o SlaveSubscriber apenas em terminais que copiam o master (produto MT5 Copy).
  • Use o TVEchoSlave apenas em terminais que espelham sinais do TradingView (produto TV Sync).
  • Nunca anexe SlaveSubscriber e TVEchoSlave ao mesmo terminal MT5.
  • Execute apenas uma instância de slave EA por terminal (um gráfico basta — não anexe o mesmo EA a vários gráficos).
  • Defina um InpAccountLabel exclusivo em cada terminal slave (os rótulos são compartilhados entre slaves de cópia MT5 e slaves de TV).
  • Ative Algo Trading em cada terminal (e em VPS / hospedagem virtual se usar).
  • Permita WebRequest para https://ea-sync-production.up.railway.app no MT5 (Tools → Options → Expert Advisors).
  • URL do webhook de alerta do TradingView: https://positionrelay.com/api/webhook (copie da configuração do painel).

Exemplo: os três EAs ao mesmo tempo: Terminal 1 — master → MasterPublisher ((rótulo opcional)); Terminal 2 — cópia prop → SlaveSubscriber (FTMO_01); Terminal 3 — espelho TV → TVEchoSlave (TV_FTMO_01). Os alertas do TradingView vão para https://positionrelay.com/api/webhook — não pelo MasterPublisher.

Requisitos

  • Plano TradingView Plus ou superior (campo Webhook URL)
  • 2FA ativada na sua conta TradingView
  • Assinatura PositionRelay ativa com TV Sync (Pro/Ultimate ou add-on Starter)

Ativar TV Sync

  1. Cadastre-se e assine no PositionRelay, depois abra o assistente de configuração do painel.
  2. Selecione a aba TradingView Sync .
  3. Copie sua Webhook URL, o segredo do webhook e o snippet de import Pine.

Biblioteca Pine

  1. Abra a biblioteca StrategyWebhookJson publicada no TradingView (lifestylemaniacsrt/StrategyWebhookJson).
  2. Sua estratégia deve começar com //@version=6 na linha 1 (bibliotecas exigem Pine v6).
  3. Use Copy to clipboard na página da biblioteca apenas para a linha import.

Estratégia de teste

Cole a estratégia inteira Webhook Alert Test abaixo em um novo Pine strategy (não um indicator). Substitua o segredo do webhook do assistente de configuração. Não cole apenas a linha import — isso causa erros «Pine version unspecified».

Webhook Alert Test (copie o script inteiro)

//@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"))

Use echo.Mode.CloudOnly para testes só de webhook. Passe o objeto cfg de init() para openMsg e closeMsg.

Configuração de alerta

  1. Aplique sua estratégia a um gráfico.
  2. Criar alerta → Condition: sua estratégia → Order fills only.
  3. Campo Message: {{strategy.order.alert_message}}
  4. Ative Webhook URL e cole a URL do webhook do painel (https://positionrelay.com/api/webhook).
  5. Trigger: Once per bar close (recomendado).

MT5 Escravo de TV EA

  1. Instale PositionRelay TV Slave Subscriber do MQL5 Market.
  2. Anexe o EA a um gráfico em cada conta seguidora MT5.
  3. Defina InpUserId com seu PositionRelay User ID e um InpAccountLabel único por slave.
  4. Ative Algo Trading e permita WebRequest para https://ea-sync-production.up.railway.app (Tools → Options → Expert Advisors).

O EA usa endpoints embutidos em https://ea-sync-production.up.railway.app: /api/positions?source=tv e /api/sync. Alertas do TradingView usam https://positionrelay.com/api/webhook.

Limites de taxa

O TradingView pode limitar alertas (~15 a cada 3 minutos). O PositionRelay deduplica novas tentativas por signalId.

Segurança

  • Nunca coloque credenciais da corretora na mensagem do alerta.
  • Rotacione o segredo do webhook no painel se for exposto.

Solução de problemas

  • Pine version unspecified ou erros import : adicione //@version=6 como linha 1 e cole a estratégia completa Webhook Alert Test, não só a linha import.
  • Execute apenas uma fonte por slave EA — não espelhe master MT5 e sinais TV no mesmo slave ao mesmo tempo.
  • Confirme que o TV Sync está habilitado no seu plano antes de usar a aba de configuração.

← Página do produto TradingView