更新情報
自動売買環境構築シリーズを刷新しました(✅ 旧版購入者様への特典あり)
この度、
自動売買
環境構築シリーズを2026年最新版へとアップデートしました。
本シリーズはこれまで有料記事として提供してまいりましたが、今回の刷新を機に主要ステップを無料公開いたしました。
📢 旧シリーズ(有料記事)をご購入いただいた方へ
これまで多くのフィードバックをいただき、心より感謝申し上げます。旧版をご購入いただいた皆様には、特典をご用意しております。
特典の受け取り方法や代行の詳細については、下記の案内ページをご確認ください。
👉️ (KFO) 環境構築代行・優待特典のご案内
なお、ご購入済みの旧記事(アーカイブ)も引き続き閲覧可能です。
👉️ 旧シリーズ:自動売買環境構築 2025 を見る
Webhook 自動売買入門| TradingView×Node.js でローカル受信する方法
前回の記事では、三菱 UFJ e スマート証券の kabu ステーション
API
を使って、
Node.js
から株の発注処理を行う方法を紹介しました。
👉 kabu ステーション API の認証と発注の基本|自動売買を始める第一歩
今回はその続編として、
TradingView
の
アラート
から送られた
Webhook
通知を、
Node.js
側で受け取る仕組みを構築していきます。
👥 この記事は誰向け?
この記事は以下のような方におすすめです。
-
自動売買
を始めてみたいけど、いきなり本番は不安な方
-
TradingView
の
アラート
を活用して株の売買を自動化したい方
-
Node.js
やサーバーに少し興味はあるけど、専門知識ゼロから始めたい方
💡 初心者でもわかるように、ステップごとに丁寧に解説しています。環境構築の知識がなくても安心です。
📦 テンプレート販売について
👉 TradingView × Node.js × kabu API 自動売買テンプレートから有料でダウンロード可能です。
シリーズ記事の手順通りでも自力構築は可能です。時間を節約したい方・すぐ動かしたい方はご活用ください。
⚠️ 購入するだけで
自動売買
環境が完成するものではありません。記事に沿って設定・
API
接続・動作確認を行う必要があります。
【環境構築代行 KFO(Kabutech Flex Order)】
「自分でコードを書いてデバッグする時間は、ない」 「とにかく安定環境で運用を始めたい」
という方は、構築を丸投げして「最短距離」で実戦に入ってください。
👉 KFO(Kabutech Flex Order) 環境構築代行サービス詳細はこちら
📌 この記事のゴール
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
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\",\"qty\":100,\"action\":\"BUY\"}'
正常に動作していれば、サーバー側のコンソールに以下のようなログが表示されます:
[2025-08-07T01:42:25.855Z] ✅ Webhook受信: {"symbol":"8306","qty":100,"action":"BUY"}
これで
POST
リクエストを正しく受け取れていることが確認できました 🎉
ステップ ②: localtunnel で外部公開
ローカルで動かしているサーバー(http://localhost:3000)は、あくまで自分のパソコン内で動いているものなので、
外部の
TradingView
などのサービスからは直接アクセスできません。
そこで、ローカルのサーバーをインターネット上からアクセス可能な
URL として公開するために「localtunnel」というツールを使います。
npm でインストールし、数秒で外部アクセス用の URL が取得できます:
⚠️
localtunnel
無料プランは安定性に難あり
公式ドキュメント上でも、明確な稼働保証や SLA は提供されておらず、
ネットワーク状況やサービス側の都合で接続が切れる場合があります。
✅ コマンド実行
続いて、ターミナルで以下のコマンドを順番に実行します:
-
localtunnel
をインストール
npm install -g localtunnel
-
ポート 3000(server.js)を外部公開
lt --port 3000
-
localtunnel
http 3000 を実行すると、こんな表示が出てきます:
your url is: 例: https://xxxxxx.loca.lt
これで
localtunnel
での外部公開は完了です 🎉
表示された URL が、
TradingView
に設定する
Webhook
の送信先になります!
このとき表示される https://xxxxxx.loca.lt の部分は、環境ごとに毎回変わります。
※ 上記 URL はあくまでサンプルです。ご自身の
localtunnel
実行結果に表示された URL を必ず使ってください。
curl で localtunnel に向けた POST リクエスト送信テスト
先ほどのローカルサーバーへのリクエストと同じく、
curl
コマンドで
localtunnel
にリクエストを試してみましょう。
⚠️ lt --port 3000 実行時に表示された URL を、下記の https://xxxxxx.loca.lt の部分に置き換えてください。
curl.exe -X POST https://xxxxxx.loca.lt/webhook -H "Content-Type: application/json" -d '{\"symbol\":\"8306\",\"qty\":100,\"action\":\"BUY\"}'
正常に動作していれば、サーバー側のコンソールに以下のようなログが表示されます:
[2025-08-07T01:42:25.855Z] ✅ Webhook受信: {"symbol":"8306","qty":100,"action":"BUY"}
ステップ ③: TradingView に Webhook URL を設定しアラートを送る
-
TradingView
で
チャート
を開き、任意の条件で
アラート
を作成します。
-
アラート
作成画面の「通知方法」で「
Webhook
URL」をオンにし、
ステップ ② で発行された
localtunnel
の URL(例:https://xxxxxx.loca.lt/webhook) を入力します。
-
通知メッセージは
JSON
形式で送信されるので、テスト用に以下のような内容を入れてみましょう。
{
"symbol": "8306",
"qty": 100,
"action": "BUY"
}
✅ アラート発動の確認できたら成功
アラート
を発動させて、
Node.js
サーバーのコンソールにデータが受信されているか確認しましょう。
ここまでで、
TradingView
から送られた
JSON
データが
localtunnel
経由で
Node.js
に届いていれば成功です 🎉
[2025-08-07T01:42:25.855Z] ✅ Webhook受信: {"symbol":"8306","qty":100,"action":"BUY"}
📝
TradingView
の無料プランでは日本株の
リアルタイム株価
はみれません
※無料プランではリアルタイム表示ができず、20 分程度の遅延表示になります。
👉
TradingView のリアルタイム株価の購読手順はこちら
🔄 次回予告|受信したデータから発注処理へ
Webhook
を受信できるようになったことで、
自動売買
の“入り口”は整いました。
あとは、届いたデータを解析して「本当に発注する」処理を組み込めば完成です。
まとめ
-
Express
と
localtunnel
を使って、ローカルで
Webhook
受信環境を構築しました。
-
TradingView
の
Webhook
機能を活用することで、
自動売買
のトリガーを受け取る基盤が完成します。
次回は以下のような内容を解説していきます:
- /webhook で受け取った
JSON
の中身を解析し、注文条件を判別
- action が “BUY” や “SELL” のときに、それぞれ発注処理を実行
- 前回までに作成した kabu ステーション
API
の関数を組み込む
📌 これにより、
TradingView
からの
アラート
で実際に株を発注する
自動売買
システムが完成します。
次の STEP では、受信した
Webhook
データをもとに、実際の株発注処理を行う方法を解説します。
アラート
内容に応じて「買い」「売り」の注文を出し、ログ出力などの実践的な運用にも対応します。
👉 TradingViewのWebhookで株を自動発注|Node.jsで処理実装&ログ対応ガイド
もし「理解はできるけど、自分で組むのは大変そう…」と感じたら、それは普通です。
本記事の構成は、本業エンジニアが設計するレベルの内容も含んでいます。 「コードのデバッグに時間を溶かすより、戦略を考える時間に集中したい」 そんな方は、環境構築そのものを丸投げできるサービスも用意しています。
👉 KFO(Kabutech Flex Order) 環境構築代行サービス詳細はこちら