Webhook 自動売買入門| TradingView×Node.js でローカル受信する方法
前回の記事では、三菱 UFJ e スマート証券の kabu ステーション
API
を使って、Node.js から株の発注処理を行う方法を紹介しました。
👉 kabu ステーション API の認証と発注の基本|自動売買を始める第一歩
今回はその続編として、
TradingView
のアラートから送られた Webhook 通知を、Node.js 側で受け取る仕組みを構築していきます。
📌 この記事のゴール
TradingView
の Webhook 通知を Node.js で受け取り、将来的に株式発注へつなげる基盤構築の解説記事です。
TradingView
の
チャート
に仕込んだアラートをトリガーとして、Webhook 通知を Node.js(ローカルサーバー)で受信できる状態を作ることです。
今回使うのは、Expressとlocaltunnelという 2 つのツールだけです。
- Express:Node.js で簡単にサーバーを立てられる軽量フレームワーク
- localtunnel:ローカルサーバーを一時的にインターネット公開できる便利なツール
どちらも無料で使えて、初心者でもすぐセットアップできます。
この記事でわかること
- Node.js と Express で Webhook 受信サーバーを簡単に作る方法
- localtunnel を使ってローカルサーバーをインターネット公開にする方法
- TradingView 側で Webhook URL を設定し、実際に通知を飛ばす手順
- Webhook を受信して動作確認する基本の流れ
ステップ ①: Node.js で Webhook 受信用サーバーを作成
まずは Express を使って
TradingView
からの Webhook を受信するサーバーを作ります。
自動売買体験記事で登場した「体験くん」の、本番環境向けバージョンを作成します。
1: プロジェクトに追加 & パッケージインストール
📌 今回の処理は、前回記事で作成した kabu-api-demo フォルダに 機能を追加する形で実装していきます。
- まだフォルダを削除していない場合は、そのまま kabu-api-demo フォルダを使ってください。
- ターミナルで kabu-api-demo フォルダを開きましょう。
cd path/to/kabu-api-demo
💡 コマンド操作に慣れていない方は、エクスプローラーから kabu-api-demo フォルダを右クリック → 「ターミナルで開く」でも OK です。
■ 必要なパッケージの追加インストール
npm install express
※ express は、Webhook(
TradingView
側からの通知)を受け取るために必要なモジュールです。
2: Webhook 受信サーバーを作成
新しいファイル server.js を作成しましょう。
// server.js
const express = require("express");
const app = express();
app.use(express.json());
app.get("/", (req, res) => {
res.send("サーバーは正常に動作しています!");
});
app.post("/webhook", (req, res) => {
const timestamp = new Date().toISOString();
console.log(`[${timestamp}] ✅ Webhook受信: ${JSON.stringify(req.body)}`);
res.status(200).json({ message: "OK", received: req.body });
});
app.listen(3000, () => {
console.log(
"🚀 サーバー起動中:[http://localhost:3000](http://localhost:3000/)"
);
});
3: server 起動
node server.js
起動後、手元のブラウザで http://localhost:3000 にアクセスしてみましょう!
「サーバーは正常に動作しています!」というテキストが表示されれば OK です。
🛡️ Windows 環境の場合、最初に「このアプリへのアクセスを許可しますか?」というファイアウォール通知が出ることがあります。
開発用のローカル環境であれば、「許可」して問題ありません。
4: curl で POST リクエストの動作テスト
curl(カール)とは、コマンドラインから HTTP リクエストを送るためのツールです。
これを使うと、簡単にサーバーに対してデータを送って動作確認ができます。
まずは
TradingView
の設定をする前に、curl コマンドを使って POST リクエストの受信テストをしてみましょう。
🪟 補足: Express を起動しているターミナルとは 別のウィンドウ(またはタブ) で、以下のコマンドを実行してください。
curl.exe -X POST http://localhost:3000/webhook -H "Content-Type: application/json" -d '{\"symbol\":\"8306\",\"side\":2,\"qty\":100,\"cashMargin\":1}'
正常に動作していれば、サーバー側のコンソールに以下のようなログが表示されます:
[2025-08-07T01:42:25.855Z] ✅ Webhook受信: {"symbol":"8306","side":2,"qty":100,"cashMargin":1}
これで POST リクエストを正しく受け取れていることが確認できました 🎉
ステップ ②: localtunnel で外部公開
ローカルで動かしているサーバー(http://localhost:3000)は、あくまで自分のパソコン内で動いているものなので、
外部の
TradingView
などのサービスからは直接アクセスできません。