Produits / TradingView → MT5 / Configuration

TradingView → MT5

Configuration TradingView

Connectez les alertes de script Pine aux esclaves PositionRelay et MT5.

Aperçu

PositionRelay TV Sync relie les alertes de stratégies TradingView aux comptes suiveurs MetaTrader 5. Votre stratégie Pine formate le JSON webhook via la bibliothèque StrategyWebhookJson ; PositionRelay ingère les alertes dans un compte source virtuel ; le TV Slave EA reflète les actions d’ouverture, de fermeture et de modification sur chaque slave MT5.

Les trois EA (aucun conflit)

Vous pouvez exécuter MT5 Copy et TV Sync sur le même compte PositionRelay. Utilisez un terminal MT5 dédié pour chaque EA — n’attachez jamais les deux slave EA au même compte. Le guide de déploiement complet se trouve dans l’ assistant de configuration du tableau de bord.

  • Master Publisher (MasterPublisher.mq5) — Un seul compte maître MT5. POST /api/sync (publie les positions du master).
  • Slave Subscriber (SlaveSubscriber.mq5) — Chaque compte slave de copie MT5. GET /api/positions (miroir du master).
  • TV Slave (TVEchoSlave.mq5) — Chaque compte MT5 miroir TV. GET /api/positions?source=tv (miroir TradingView).

Règles

  • Utilisez le même PositionRelay User ID sur chaque EA.
  • Exécutez MasterPublisher sur exactement un terminal — votre compte maître MT5.
  • Utilisez SlaveSubscriber uniquement sur les terminaux qui copient le master (produit MT5 Copy).
  • Utilisez TVEchoSlave uniquement sur les terminaux qui mirent les signaux TradingView (produit TV Sync).
  • N'attachez jamais SlaveSubscriber et TVEchoSlave au même terminal MT5.
  • Exécutez une seule instance d'EA slave par terminal (un graphique suffit — n'attachez pas le même EA à plusieurs graphiques).
  • Définissez un InpAccountLabel unique sur chaque terminal slave (les labels sont partagés entre slaves de copie MT5 et slaves TV).
  • Activez Algo Trading sur chaque terminal (et sur VPS / hébergement virtuel si vous l'utilisez).
  • Autorisez WebRequest pour https://ea-sync-production.up.railway.app dans MT5 (Tools → Options → Expert Advisors).
  • URL webhook d'alerte TradingView : https://positionrelay.com/api/webhook (copiez depuis la configuration du tableau de bord).

Exemple : les trois EA en même temps: Terminal 1 — master → MasterPublisher ((label optionnel)); Terminal 2 — copie prop → SlaveSubscriber (FTMO_01); Terminal 3 — miroir TV → TVEchoSlave (TV_FTMO_01). Les alertes TradingView vont vers https://positionrelay.com/api/webhook — pas via MasterPublisher.

Exigences

  • Plan TradingView Plus ou supérieur (champ Webhook URL)
  • 2FA activée sur votre compte TradingView
  • Abonnement PositionRelay actif avec TV Sync (Pro/Ultimate ou add-on Starter)

Activer TV Sync

  1. Inscrivez-vous et abonnez-vous sur PositionRelay, puis ouvrez l’ assistant de configuration du tableau de bord.
  2. Sélectionnez l’onglet TradingView Sync .
  3. Copiez votre Webhook URL, le secret webhook et l’extrait d’import Pine.

Bibliothèque Pine

  1. Ouvrez la bibliothèque StrategyWebhookJson publiée sur TradingView (lifestylemaniacsrt/StrategyWebhookJson).
  2. Votre stratégie doit commencer par //@version=6 à la ligne 1 (les bibliothèques exigent Pine v6).
  3. Utilisez Copy to clipboard sur la page de la bibliothèque uniquement pour la ligne import.

Stratégie de test

Collez toute la stratégie Webhook Alert Test ci-dessous dans un nouveau Pine strategy (pas un indicator). Remplacez le secret webhook de l’assistant de configuration. Ne collez pas seulement la ligne import — cela provoque des erreurs « Pine version unspecified ».

Webhook Alert Test (copiez tout le script)

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

Utilisez echo.Mode.CloudOnly pour un test webhook uniquement. Passez l’objet cfg depuis init() à openMsg et closeMsg.

Configuration des alertes

  1. Appliquez votre stratégie à un graphique.
  2. Créer une alerte → Condition : votre stratégie → Order fills only.
  3. Champ Message : {{strategy.order.alert_message}}
  4. Activez Webhook URL et collez l’URL webhook du tableau de bord (https://positionrelay.com/api/webhook).
  5. Trigger : Once per bar close (recommandé).

MT5 Esclave TV EA

  1. Installez PositionRelay TV Slave Subscriber depuis le MQL5 Market.
  2. Attachez l’EA à un graphique sur chaque compte suiveur MT5.
  3. Définissez InpUserId avec votre PositionRelay User ID et un InpAccountLabel unique par slave.
  4. Activez Algo Trading et autorisez WebRequest pour https://ea-sync-production.up.railway.app (Tools → Options → Expert Advisors).

L’EA utilise des endpoints intégrés sur https://ea-sync-production.up.railway.app: /api/positions?source=tv et /api/sync. Les alertes TradingView utilisent https://positionrelay.com/api/webhook.

Limites de taux

TradingView peut limiter les alertes (~15 toutes les 3 minutes). PositionRelay déduplique les nouvelles tentatives via signalId.

Sécurité

  • Ne mettez jamais les identifiants du courtier dans le message d’alerte.
  • Faites tourner le secret webhook depuis le tableau de bord s’il est exposé.

Dépannage

  • Pine version unspecified ou erreurs import : ajoutez //@version=6 en ligne 1 et collez la stratégie Webhook Alert Test complète, pas seulement la ligne import.
  • N’exécutez qu’une seule source par slave EA — ne mirrorez pas simultanément le master MT5 et les signaux TV sur le même slave.
  • Confirmez que TV Sync est activé sur votre forfait avant d’utiliser l’onglet de configuration.

← Page produit TradingView