「株テック | Kabutech Lab.」は、日本株トレードを初心者向けに解説するメディアです。

ツールの使い方や考え方、環境構築方法を学ぶ場として、主に以下の内容を解説しています:

  • TradingViewを使ったバックテスト・ストラテジーの実践情報
    (プログラミング知識がなくても始めやすい検証ツールです)
  • 三菱UFJ eスマート証券のkabu APIを使った環境構築
    (日本株の発注が可能な数少ないAPI接続サービスです)

バックテストは自作プログラム(Pandasなど)で応用可能、発注は他の証券会社のRSSなどでも対応できます。
特定の証券会社やツールを強く推奨するものではありません。

以下の点にご留意ください:

  • 個別銘柄の売買や投資判断の助言は行いません。
  • サンプルのストラテジーやコードは学習・検証用の参考資料であり、実際の売買や利益を保証しません。
  • バックテストは過去データに基づく結果であり、将来の成果を保証しません。
  • 自動売買環境はエラーハンドリングと十分な整備が必須です。
  • 市場変動、システム障害、予期せぬ遅延やエラーなどのリスクがあります。

投資はあくまで自己責任です。リスクを理解して慎重に取り組んでください。

当サイトでは一部アフィリエイト広告を利用しています (プライバシーポリシー)。

ご質問はこちらまでお気軽にどうぞ。

kabu API連携 | Node.jsで受信環境を構築・localtunnelで外部公開するステップガイド

更新情報

自動売買環境構築シリーズを刷新しました(✅ 旧版購入者様への特典あり)

この度、 自動売買 環境構築シリーズを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 は提供されておらず、 ネットワーク状況やサービス側の都合で接続が切れる場合があります。

✅ コマンド実行

続いて、ターミナルで以下のコマンドを順番に実行します:

  1. localtunnel をインストール

    npm install -g localtunnel
    
  2. ポート 3000(server.js)を外部公開

    lt --port 3000
    
  3. 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 を設定しアラートを送る

  1. TradingView チャート を開き、任意の条件で アラート を作成します。

  2. アラート 作成画面の「通知方法」で「 Webhook URL」をオンにし、

    ステップ ② で発行された localtunnel の URL(例:https://xxxxxx.loca.lt/webhook) を入力します。

  3. 通知メッセージは 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) 環境構築代行サービス詳細はこちら

🧭 はじめての方へ:基礎 → 実践 → 設計 → 検証 → 理論。最短で再現性に辿り着くためのロードマップ
👉️ Kabutech Lab.のおすすめの進め方

自動売買環境構築 無料学習ステップ一覧

本シリーズは、自動売買環境構築を基礎から応用まで実践的に学べる構成です。
STEP1: 体験 → STEP2: 事前ガイド → STEP3以降: 実践活用

※ 環境構築からVPS設定・Cloudflare・Slack連携などすべて丸投げで代行するプランもあります

📈 【無料】テクニカル分析

テクニカル指標をTradingViewで実践活用

詳しく見る

🛠️ 自動売買の構築

TradingView, kabu API を使った環境構築

詳しく見る

📊 戦略設計

戦略を検証し、改善するための手法と実装

詳しく見る

🔧 ストラテジー作成

Pineスクリプトでの戦略実装をガイド

詳しく見る

📦 システム拡張

Slack連携/プロセス監視で安定・拡張

詳しく見る
背景画像
「戦略が、自律する。」