KabuLink

稼働までの手順

KabuLinkは、利用者自身がTradingViewで作成したアラートを、利用者自身の証券口座接続へ中継するサービスです。登録後は、まず接続を1つ作成して接続テストから始めます。売買シグナル、投資判断、銘柄推奨は提供しません。試行モードの違いは 試行モード にまとめています。

全体の流れ

  1. アカウント登録と利用規約・プライバシーポリシー・リスク説明への同意。
  2. 必要に応じてStarter trialまたはProを開始。試用後はStarterへ継続課金します。既存契約の変更は契約管理から行います。
  3. 登録後は、まず接続を1つ作成し、最初は試行モードで確認。
  4. 接続テストを実行し、接続一覧の状態がOKになることを確認。
  5. TradingViewのWebhook URLとMessage JSONを設定。
  6. Webhookテストと注文ログで、意図した銘柄・数量・口座・戦略IDが記録されることを確認。
  7. ライブ取引へ進む場合だけ、少額・最小数量で最終確認。

1. アカウント登録

KabuLink画面のアカウント欄にメールアドレスとパスワードを入力し、3つの確認チェックを入れて登録します。登録後、API Tokenが自動入力されます。

2. 契約と接続数

1つの契約内で複数の証券口座接続を持てます。口座を増やすために同じユーザーで複数契約する必要はありません。

接続数がプラン上限を超える場合や、一時的に使わない接続がある場合は、接続一覧の「停止」「再開」でWebhook処理対象にする接続だけを稼働させます。停止中の接続はWebhook処理と異常通知の対象から外れます。

3. 接続状況と通知設定

既に接続済みの場合は、まずKabuLink画面の「接続状況」と「接続一覧」を確認します。

4. 接続作成

接続は「発注先口座・リスク設定・Webhook URL」の単位です。同じ証券口座と同じリスク設定であれば、複数のTradingView戦略や複数銘柄で同じWebhookを使い回せます。

5. 口座ID(Account ID)の取得方法

口座ID(Account ID)は、証券会社のAPIやGatewayが返す口座識別子を入力します。形は証券会社ごとに異なります。

6. Webullの場合

WebullはOpenAPI Key/Secret署名方式で扱います。通常時はKabuLinkがバックグラウンドで読み取りAPIを確認し、異常時のみユーザー対応を促します。

7. Saxoの場合

SaxoはAccountKeyで口座を選び、さらに銘柄ごとにSaxo側のUicとAssetTypeを解決してから接続を保存します。TradingViewのtickerだけではSaxoの発注先銘柄を一意に決められない場合があるためです。

  1. ブローカーでSaxoを選び、Saxo Environmentは最初はSIMを選択します。
  2. Saxo Developer PortalのSIM 24時間トークン、またはOAuthで取得したAccess Tokenを入力します。
  3. 「Saxo口座候補取得」を押し、発注したい口座を選びます。ここで保存される口座ID(Account ID)はSaxoのAccountKeyです。
  4. Saxo銘柄検索にAAPL、NVDA、ISIN、銘柄名などを入力し、「Saxo銘柄候補取得」を押します。
  5. 候補のSymbol、Description、Currency、Exchange、AssetTypeを確認し、「この銘柄を使う」を押します。これでUic、AssetType、Saxo側Symbolが口座プロファイルに反映されます。
  6. 「接続を作成」または既存接続なら「接続を更新」を押して、AccountKey、Uic、AssetType、Saxo側Symbolを保存します。
  7. 接続一覧で対象接続を選び、接続テスト、Webhookテストの順に確認します。最初はdry_runのまま進めます。

8. Agent型ブローカー初回導入

kabuステーション API、IBKR、moomooなど、利用者PC側のアプリが必要な接続はKabuLink Agentを使います。AgentはKabuLinkへアウトバウンド接続するため、利用者PCのローカルAPIをインターネットへ公開する必要はありません。

迷った場合は、PC側アプリの起動、Agent対象ブローカー選択、ペアリングコマンド発行、配布ZIPダウンロード、ZIP展開、OS別実行コマンド実行、Agentオンライン確認、接続作成、接続テスト、API状態、Webhookテスト、注文一覧確認の順に進めます。証券会社別の細かな設定は Agent設定Tips にまとめています。

SBI NeoTradeなどは現在準備中です。対応が確定したら同じ手順に追加するため、現時点ではIBKR・moomoo・kabuステーションを優先して案内してください。

  1. KabuLink画面のKabuLink Agentセクションで、Agent名を任意で入力し、このAgentが担当するブローカーを選択します。
  2. 「ペアリングコマンド発行」を押します。顧客は一時コードを意識せず、画面に表示されたOS別コマンドをコピーして実行します。
  3. 「配布ZIPダウンロード」を押し、画面に表示されたSHA256と、Windowsの Get-FileHash .\kabulink-agent.zip -Algorithm SHA256 の結果が一致することを確認します。
  4. ZIPを展開します。Windowsでは例として C:\KabuLinkAgent、Linux/macOS/WSLでは例として ~/kabulink-agent に展開すると、その後の説明と合わせやすくなります。
  5. Windowsでは、展開した同じフォルダで画面に表示されたPowerShellコマンドを実行します。コマンドはKabuLink画面からコピーしてください。
  6. 権限エラーで Register-ScheduledTask が拒否される場合、自動起動タスク登録が失敗しています。管理者権限のPowerShellで同コマンドを再実行してください(他ユーザーの既存タスクがある場合は事前に削除)。
  7. KabuLinkのAgent一覧で、状態が「オンライン」、対応ブローカーに選択したブローカー、最終確認が現在時刻に近いことを確認します。更新推奨が出た場合は、同じフォルダへ最新の配布ZIPを上書きし、update-windows-agent.ps1 を実行します。
  8. kabuステーションの場合は、kabuステーションを起動し、ログイン済み、API有効、注文画面が見える状態にします。
  9. kabuステーション接続では、Agent側の kabulink-agent.envKABU_STATION_API_PASSWORDKABU_STATION_ORDER_PASSWORDKABU_STATION_BASE_URL、dry_run/readonly/liveフラグを設定します。
  10. 検証時は http://localhost:18081/kabusapi、本番口座確認時は http://localhost:18080/kabusapi を使います。最初は必ず KABU_STATION_DRY_RUN=1KABU_STATION_READONLY=1KABU_STATION_ENABLE_LIVE=0 で確認します。
  11. KabuLinkで対象ブローカーの接続を作成し、登録済みAgentを選択します。接続テスト、API状態、Webhookテストの順に確認します。
  12. ライブへ進む前に、注文一覧で証券会社側の状態とKabuLink注文ログが一致することを確認します。最初の実注文は対象銘柄を限定し、最小数量または十分に小さい数量で行います。

サポートからログ取得を依頼された場合は、Agentフォルダで powershell.exe -ExecutionPolicy Bypass -File .\agent-service\kabulink-agent-diagnostics.ps1 を実行します。診断ZIPではAgent tokenや証券会社パスワードはマスクされます。

9. Agent型接続が止まった場合

kabuステーションやAgentは利用者PC上で動くため、PC再起動、ログアウト、アプリ終了、ネットワーク切断で一時的に止まることがあります。復旧時は、新しいTradingViewシグナルを止めてから状態確認します。

  1. KabuLinkの接続一覧で対象接続を選び、「停止」を押します。
  2. 証券会社アプリを起動し直し、ログイン済み、API有効、注文一覧が見える状態にします。
  3. Agentがオフラインの場合は、KabuLink Agentフォルダで powershell.exe -ExecutionPolicy Bypass -File .\agent-service\kabulink-agent-register-task.ps1 を実行し、常駐タスクを再登録・起動します。
  4. 1〜2分待ってもAgentがオンラインにならない場合は、KabuLink画面で「ペアリングコマンド発行」を押し、新しいペアリングコマンドを同じAgentフォルダで実行します。
  5. それでもオンラインにならない場合だけ、最新の配布ZIPを上書きまたは再展開し、ペアリングコマンドを再発行して入れ直します。
  6. KabuLinkでAgentがオンラインになったことを確認します。
  7. 同じ接続で「接続テスト」「API状態」「注文一覧」の順に押します。
  8. 証券会社画面とKabuLink注文ログを見比べ、未完了注文の有無を確認します。
  9. 状態が確認できた場合だけ「再開」を押します。注文状態が不明な場合は停止のままサポートへ連絡してください。

「停止」は新しいKabuLink処理を止める操作です。証券会社側に既に出ている注文を自動で取消すものではありません。

10. 取引可能銘柄の確認

KabuLinkのAllowed Symbolsは安全のための許可リストであり、「この証券会社で取引できる銘柄一覧」を示すものではありません。

11. TradingView設定

接続作成後、Webhook URL欄で対象接続を選択し、表示されたURLをTradingView AlertのWebhook URLに貼り付けます。MessageにはJSONを設定します。

バックテストページの詳細設定からコピーする内容はTradingView側の戦略パラメータです。Webhook URLとMessage JSONは、KabuLink画面で接続ごとに生成されたものを使います。バックテストは過去データでの検証であり、将来の利益や損失回避を保証するものではありません。

{
  "alert_id": "{{ticker}}-{{time}}",
  "strategy_id": "swing-v1",
  "strategy_name": "Swing v1",
  "signal_time": "{{time}}",
  "symbol": "AAPL",
  "side": "buy",
  "quantity": 1,
  "order_type": "market"
}

12. 稼働前チェック

13. ライブ取引へ進む場合

ライブ取引は最後の段階です。dry_runやreadonlyで一連の流れを確認した後、最小数量・限定銘柄・少ない注文数で確認してください。