概要
PositionRelay TV Sync は TradingView のストラテジーアラートを MetaTrader 5 のフォロワー口座に接続します。Pine ストラテジーは StrategyWebhookJson ライブラリで webhook JSON を整形し、PositionRelay がアラートを仮想ソース口座に取り込み、TV Slave EA が各 MT5 slave で建玉の open / close / modify をミラーします。
3 つの EA すべて (競合なし)
同じ PositionRelay アカウントで MT5 Copy と TV Sync を運用できます。EA ごとに専用の MT5 ターミナルを使い、両方の slave EA を同一口座に付けないでください。完全なデプロイ手順は ダッシュボードのセットアップウィザードにあります。
- Master Publisher (
MasterPublisher.mq5) — MT5 マスター口座は1つのみ. 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 はちょうど1つのターミナル — MT5 マスター口座 — でのみ実行してください。
- SlaveSubscriber はマスターをコピーするターミナルのみで使用してください(MT5 Copy 製品)。
- TVEchoSlave は TradingView シグナルをミラーするターミナルのみで使用してください(TV Sync 製品)。
- SlaveSubscriber と TVEchoSlave を同じ MT5 ターミナルに同時に取り付けないでください。
- ターミナルごとにスレーブ EA インスタンスは1つだけ実行してください(チャート1つで十分 — 同じ EA を複数チャートに付けないでください)。
- 各スレーブターミナルに一意の InpAccountLabel を設定してください(ラベルは MT5 コピースレーブと TV スレーブで共有されます)。
- 各ターミナルで Algo Trading を有効にしてください(VPS / 仮想ホスティングを使う場合も)。
- MT5 で https://ea-sync-production.up.railway.app への WebRequest を許可してください(Tools → Options → Expert Advisors)。
- TradingView アラートの webhook URL: https://positionrelay.com/api/webhook(ダッシュボード設定からコピー)。
例: 3つの 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 サブスクリプション(Pro/Ultimate または Starter アドオン)
TV Syncを有効にする
- PositionRelay に登録して契約し、 ダッシュボードのセットアップウィザードを開きます。
- タブ TradingView Sync を選択します。
- Webhook URL、webhook シークレット、Pine の import スニペットをコピーします。
Pine ライブラリ
- 公開済みの TradingView 上の StrategyWebhookJson ライブラリ を開きます(
lifestylemaniacsrt/StrategyWebhookJson)。 - ストラテジーは
//@version=6を1行目にする必要があります(ライブラリは Pine v6 必須)。 - ライブラリページでは 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"))webhook のみのテストには echo.Mode.CloudOnly を使います。 cfg オブジェクトを init() から openMsg と closeMsgに渡します。
アラート設定
- ストラテジーをチャートに適用します。
- アラート作成 → Condition: ストラテジー → Order fills only.
- Message 欄:
{{strategy.order.alert_message}} - 有効にする: Webhook URL にダッシュボードの webhook URL を貼り付け(
https://positionrelay.com/api/webhook). - Trigger: Once per bar close (推奨)。
MT5 テレビ スレーブ EA
- インストール: PositionRelay TV Slave Subscriber 入手先: MQL5 Market。
- 各 MT5 フォロワー口座でチャート1枚に EA を付けます。
- 設定:
InpUserIdを PositionRelay User ID に、一意のInpAccountLabelを各 slave に。 - Algo Trading を有効にし、次の URL で WebRequest を許可します:
https://ea-sync-production.up.railway.app(Tools → Options → Expert Advisors)。
EA は次のホスト上の組み込みエンドポイントを使います: https://ea-sync-production.up.railway.app: /api/positions?source=tv および /api/sync。TradingView アラートは https://positionrelay.com/api/webhookを使います。
レート制限
TradingView はアラートを制限する場合があります(約3分あたり15件)。PositionRelay は再送を signalIdで重複排除します。
セキュリティ
- アラートメッセージにブローカー認証情報を入れないでください。
- webhook シークレットが漏洩したらダッシュボードからローテーションしてください。
トラブルシューティング
- Pine version unspecified または
importエラー: 1行目に//@version=6を追加し、import 行だけでなく Webhook Alert Test ストラテジー全体を貼り付けてください。 - slave EA ごとにソースは1つだけ — 同じ slave で MT5 master と TV シグナルを同時にミラーしないでください。
- セットアップタブを使う前に、プランで TV Sync が有効か確認してください。

