etrink← ホーム

TradingView Webhook 連携

最終更新日: 2026年10月

TradingView のアラートを自動でライブ注文に変換します。アラートが発動すると TradingView が etrink に webhook を送信し、当社の EtrinkAgent があなたの MT5 口座で買い/売りを執行します。パソコンの電源が切れていても24時間365日稼働します。

仕組み

TradingView アラート → etrink webhook(キー、シンボル、数量の上限を検証) → コマンドキュー → MT5 ターミナル上の EtrinkAgent → ブローカー。すべてのシグナルはパネルに記録されます。

ステップごとの設定

  1. パネルで Webhook を開き、紐付ける口座を選んで + 新しいキー をクリックします。
  2. 一度だけ表示される webhook URL をコピーします(注文を出せるため、秘密にしてください):
https://api.etrink.com/hooks/etrk_xxxxxxxxxxxxxxxx
  1. TradingView でアラートを作成します。Webhook URL を有効にし、上記の URL を貼り付けます。
  2. 以下の JSON をアラートの Message(メッセージ)欄に貼り付けます:
{
  "action": "buy",
  "symbol": "EURUSD",
  "volume": 0.01,
  "sl": 0,
  "tp": 0,
  "id": "{{time}}"
}
  1. 保存します。アラートが発動すると、紐付けた口座で注文が執行されます。

メッセージ形式

フィールド必須説明
actionはいbuy · sell · close。close は決済のみを行い、新規注文は決して出しません。
symbolはいブローカーのシンボル(例:EURUSD、XAUUSD)
volumeいいえロットサイズ。buy/sell では必須。口座ごとの数量上限が適用されます。
sl / tpいいえストップロス / テイクプロフィットの価格(0 = なし)
magicいいえ注文の MT5 マジックナンバー(0以上の整数)。戦略ごとに1つ使用してください。close で指定すると、このマジックのポジションのみ決済されます。指定しない場合、そのシンボルのすべてのポジションが決済されます。
closeOppositeいいえtrue = 新規注文の前に、同じシンボルの反対方向を決済します(buy なら sell を、sell なら buy を決済)。magic を指定した場合は同じマジックのポジションのみ。反対方向を決済できない場合、新規注文は出されません。
allowDuplicateいいえ既定値は true。false = そのシンボルで同じ方向(指定時は同じマジック)のポジションをすでに保有している間は、新規注文を出しません。シグナルはパネルにスキップと表示されます。これはエラーではありません。closeOpposite と併用した場合は、まず反対方向を決済し、その後にこのチェックを行います。
commentいいえMT5 で新規注文に書き込まれるコメント。最大31文字まで使用されます。トルコ語の文字はラテン文字に変換され(ç → c)、引用符と絵文字は削除されます。
idいいえ冪等性キー — 同じ id は二度と執行されません
testいいえtrue = 検証のみで、実際の注文は出しません

別の表記も受け付けます:close_opposite、closeopposite、magicNumber、 magic_number、allow_duplicate。また "true"、"false"、"1001" のような文字列値も使えます。

例

売り(sell)

{ "action": "sell", "symbol": "XAUUSD", "volume": 0.05 }

保有ポジションを決済する

{ "action": "close", "symbol": "EURUSD" }

1つの戦略のポジションのみを決済する(magic)

{ "action": "close", "symbol": "XAUUSD", "magic": 1001 }

動的な値(TradingView のプレースホルダー)

TradingView は送信時に {{ticker}}、{{strategy.order.action}}、 {{close}} などを置き換えます:

{ "action": "{{strategy.order.action}}", "symbol": "{{ticker}}", "volume": 0.01 }

戦略のドテン(ロングとショートを1つのアラートで)

1つの戦略アラートで、MT5 上でもチャートどおりに追従します。戦略がロングに転じるとマジック 1001 の sell が決済されて buy が建てられ、ショートに転じるとその逆になります。同じ方向に2つ目のポジションが建つことはありません。

{
  "action": "{{strategy.order.action}}",
  "symbol": "{{ticker}}",
  "volume": 0.01,
  "magic": 1001,
  "closeOpposite": true,
  "allowDuplicate": false,
  "comment": "TV strateji A",
  "id": "{{timenow}}"
}

Pine Script の例

条件が満たされたときにメッセージ(JSON)が webhook に送信されるよう、alert() 呼び出しを使用します:

//@version=5
strategy("etrink signal", overlay=true)

fast = ta.sma(close, 10)
slow = ta.sma(close, 30)

if ta.crossover(fast, slow)
    strategy.entry("Long", strategy.long)
    alert('{"action":"buy","symbol":"EURUSD","volume":0.01}',
          alert.freq_once_per_bar_close)

if ta.crossunder(fast, slow)
    strategy.close("Long")
    alert('{"action":"close","symbol":"EURUSD"}',
          alert.freq_once_per_bar_close)

安全にテストする

任意のメッセージに "test": true を追加します(またはパネルの テストシグナル ボタンを使用します)。すべてのチェックが実行され、 イベントは test として記録されますが、実際の注文は出されません。

セキュリティと信頼性。キーは1つの口座に紐付けることができ、そのシグナルはその口座にのみ影響します。 その口座が停止している場合、次に受信したシグナルで自動的に再起動されるため、自動化は動き続けます。 webhook URL は決して共有しないでください。

トラブルシューティング

  • 「symbol not allowed」(シンボルが許可されていない) — シンボルが許可リストにないか、ブローカーでの名称が異なります(例:EURUSD.m)。
  • 「no running instance」(稼働中のインスタンスがない) — 紐付けた口座が停止しています。自動的に再起動されるので、その後に再送してください。
  • 数量が拒否された — 口座ごとの上限を超えています。volume を下げるか、上限を引き上げてください。
  • シグナルが「スキップ」 — allowDuplicate: false で、同じ方向のポジションがすでにありました。想定どおりの動作です。
  • すべての呼び出しはパネルの シグナル ページに、ステータス、結果(チケット番号またはエラー)、生の JSON とともに表示されます。まずはそちらをご確認ください。

お困りの際は [email protected] までご連絡ください。