メインコンテンツへ移動
AIチュートリアル

NinjaTrader BotをDiscordとTelegram向けに設定して使う

このチュートリアルでは、WindowsへのNinjaTrader Botのインストール方法、階層化された設定の確認方法、DiscordまたはTelegramのコマンドの使い方、ペーパーモードの有効化、プロファイルの管理、ログの確認、問題の診断、設定のバックアップ方法を説明します。自動取引ワークフローをカスタマイズする前に必要な手順を確認できます。

NinjaTrader BotをDiscordとTelegram向けに設定して使う

NinjaTrader Botの機能

NinjaTrader Botは、DiscordまたはTelegramを通じたNinjaTraderのワークフローを補助するために開発された、コミュニティ主導のスタンドアロンWindowsアプリケーションです。ステータスの確認、設定の管理、ログの確認、環境設定の切り替え、問題の診断、バックアップの管理を行うチャットコマンドを提供します。

NinjaTrader Botプロジェクトのプレビュー

このパッケージは、個別の依存関係やバックグラウンドサービスなしで動作するよう設計されています。戦略モジュール、自動化フック、通知、取引ジャーナルなどの機能はあらかじめ設定されており、わかりやすい設定によって、利用する銘柄、スケジュール、リスクルールに合わせてBotを調整できます。

自動売買には経済的なリスクがあります。すべての設定を確認し、まずはペーパーモードを使用して、ライブ環境で自動シグナル執行を有効にする前にリスク上限を確認してください。

主な機能

  • スタンドアロンのデスクトップ版:自己完結型のWindows x64パッケージに必要なコンポーネントが含まれており、容量は約1.6 GBとされています。
  • 事前設定済みの機能:READMEに記載された範囲では、別途アクティベーションやライセンス手続きを行わなくても、機能が有効化され整理された状態で提供されます。
  • 階層型設定:グローバルのデフォルト、ユーザープロファイル、一時的なセッション上書きを分けることで、通常のカスタマイズを配布時の設定から分離できます。
  • 独立した機能切り替え:戦略エンジン、通知リレー、取引ジャーナル、ペーパーモードを個別に制御できます。
  • 検証:起動時のチェックにより、取引開始前に構文エラー、不審な数値範囲、競合する依存関係を特定します。
  • ホットリロード:アクティブなプロファイルは保存後に再読み込みでき、/reloadで設定を明示的に読み直すこともできます。
  • メンテナンスツール:ヘルス情報、最近のログ、診断情報、バージョン、バックアップ、復元オプションをコマンドから利用できます。
  • ポータブルなプロファイル:名前付きプロファイルをバックアップ、共有し、異なる戦略やセッションに使用できます。

要件と準備

Botをインストールする前に、コンピューターが文書化された要件を満たしていることを確認してください。

  • x64デスクトップ環境のWindows 10またはWindows 11
  • PowerShell 5.1以降。プロジェクトではPowerShell 7以降も推奨されています
  • インストーラースクリプトとパッケージをダウンロードするためのインターネット接続
  • 標準のWindowsユーザーアカウント
  • これらのチャット環境を通じてBotを操作する場合は、DiscordまたはTelegramへのアクセス

READMEによると、コアパッケージはインストール後、ローカルかつオフラインで実行できます。一方で、ダウンロード、更新、コミュニティサポートには引き続きネットワーク接続が関係します。DiscordやTelegramの認証情報を作成する詳しい手順は記載されていないため、プラットフォーム固有の接続手順については、プロジェクトの最新のヘルプやリリース資料を確認してください。

Botをインストールする

リポジトリでは、インストーラーページからPowerShellインストーラーを提供しています。READMEには、具体的なPowerShellコマンド、パッケージのチェックサム、詳細なインストール記録がないため、無関係な情報源のコマンドをコピーしないでください。

  1. リポジトリを開き、現在のファイル、Issue、リリース情報、インストーラーの提供先を確認します。
  2. インストーラーのソースがプロジェクトからリンクされているものか確認します。ダウンロードしたPowerShellスクリプトは、実行前に内容を確認してください。
  3. Windows 10またはWindows 11のコンピューターで、文書化されたPowerShellインストーラーを使用します。
  4. 展開したスタンドアロン版は専用フォルダーに置きます。複数のコンピューターにインストールする場合は、設定の衝突を防ぐため、コピーごとに別のフォルダーを使用してください。
  5. 標準ユーザーとして実行ファイルを起動します。初回起動時に、実行ファイルと同じ場所へ初期設定ファイルが作成されます。
  6. 続行する前に検証メッセージを確認します。報告された構文、範囲、依存関係の問題は回避せずに修正してください。

実行ファイルのインストーラーと取引ソフトウェアはセキュリティ上慎重に扱う必要があるため、セキュリティツールでダウンロードファイルをスキャンし、実行前にスクリプトを確認して、まずは分離された環境または本番環境ではない環境でアプリケーションをテストしてください。

初回起動時の設定

生成された設定ファイルをプレーンテキストエディターで開きます。初期ファイルにはコメント付きのセクションと保守的なデフォルト値が含まれています。実際のワークフローに設定を接続する前に、次の4つの領域を確認してください。

1. セットアップを識別する

アカウントとセッションのメモに、識別しやすいラベルを設定します。複数のプロファイルやインストールを管理する場合に特に便利です。

2. ウォッチリストを定義する

監視または取引する銘柄シンボルだけを追加します。READMEによると、ウォッチリストから除外された銘柄には変更が加えられません。

3. 注文のデフォルトを確認する

デフォルトの数量、注文タイプ、Time in Forceを確認します。配布時の値が、自分の口座、銘柄、戦略に適しているとは限りません。

4. リスクガードレールを設定する

1日の損失上限、保有できるオープンポジションの最大数、1取引あたりの上限を確認します。これらの安全策は、明示的に変更しない限り有効です。

READMEには、設定ファイルの正確な構文やキー名は公開されていません。新しいキーを独自に作成せず、生成されたファイルの既存の形式とコメントを維持してください。編集内容を保存し、プロファイルウォッチャーに反映させるか、/reloadを実行します。初回設定では、Botを再起動することでも起動時の検証が行われます。

設定の優先順位を理解する

Botは設定を3つの層で解決します。後の層が前の層を上書きします。

  1. グローバルデフォルト: ビルドに含まれる安定した設定です。
  2. ユーザープロファイル: バックアップや移行が可能な、永続的な個人設定です。
  3. セッション上書き: 1回の実行中に実験するための一時的な値です。

たとえば、保守的なグローバルデフォルトを維持し、通常使用するウォッチリストと制限をユーザープロファイルに保存し、一時的なペーパートレードのテストにはセッション上書きを使用します。これにより、短期間の実験で長期的なプロファイルが上書きされるのを防げます。

ペーパーモードから始める

ライブ自動化を検討する前に、ペーパーモードを有効にし、シミュレートされた約定を使ってワークフロー全体をテストしてください。プロファイルの検証に合格し、ボットの動作を確認するまで、戦略エンジンは無効にしておきます。

  1. 生成された設定にすでにある切り替えを使ってペーパーモードを有効にします。
  2. ライブ取引フラグが無効になっていることを確認します。ボットは、ペーパー設定とライブ設定が競合している場合に拒否するはずです。
  3. 取引ジャーナルを有効にして、アクションをレビュー用にローカルへ記録します。
  4. 主要なイベントを選択したチャット画面に送信する場合は、通知リレーを設定します。
  5. プロファイルを保存して、/reloadを実行します。
  6. /diagnose、/status、/featuresを使って、適用後の状態を確認します。

基本コマンドを使う

コマンドはスラッシュコマンド形式に従います。まず、次の基本的な手順を実行します。

/start
/status
/features
/config
/diagnose
/ping
/help
  • /startは、現在のプロファイル、アクティブなモジュール、導入ツアーを含むウェルカムカードを表示します。
  • /statusは、接続状態、稼働時間、読み込まれた機能、スタンドアロンビルドのバージョンを報告します。
  • /featuresは、現在のビルドで有効化されている機能を分類して一覧表示します。
  • /configは、読み込まれた設定の概要を表示します。キー名を指定することもできますが、READMEには正確な引数構文が記載されていません。
  • /diagnoseは、ボットのサブシステムを確認し、平易な言葉でレポートを返します。
  • /pingは、簡単な往復接続チェックを実行します。
  • /helpは、インストールされているビルドのコマンド一覧を生成します。コマンド名を渡すと、詳しい使い方と利用可能なオプションが表示されます。

サポートされる引数はリリースごとに変わる可能性があるため、オプション名を推測せず、/helpを利用してください。ボットは、不足している権限を説明し、生データのダンプではなく読みやすいメッセージを返すように設計されています。

設定変更を適用して確認する

プロファイルを編集した後は、次の手順を使用します。

/reload
/config
/status
/logs
/diagnose

/reloadは完全に再起動せずに設定を再読み込みし、変更内容を報告します。/configは、すべてのレイヤーを適用した後の有効な設定を確認します。続けて/statusと/diagnoseを実行して正常性を確認し、その後/logsで最近のアクティビティを調べます。

ログコマンドは件数オプションと、警告またはエラーの重大度フィルターに対応していますが、READMEにはそれらの正確な構文が記載されていません。インストールされているビルドで/help logsを実行し、有効な例を取得してください。

プロファイルと通知を管理する

/profileを使うと、表示名、デフォルトスケジュール、通知スタイルなどの個人設定を表示または調整できます。変更はすぐに適用され、セッション間で保持されます。名前付きプロファイルは、日によって異なる戦略を実行する場合に便利です。

コミュニティのお知らせは任意です。

/subscribe
/unsubscribe

/subscribeはプロジェクトの更新情報とリリースノートの通知を有効にし、/unsubscribeは無効にします。

安全にバックアップと復元を行う

ボットは、構造的な変更を行う前に、以前の設定を自動的にスナップショットとして保存します。スナップショットを明示的に管理することもできます。

/backup
/restore

/backupはタイムスタンプ付きの設定スナップショットを作成し、その場所を報告します。/restoreは利用可能なバックアップを一覧表示してから、1つを選択するよう求めます。リスクルールの変更、自動化の有効化、または別のユーザーから受け取ったプロファイルへの置き換えを行う前に、手動バックアップを作成してください。

高度なヒント

実験には上書きを使う

一時的なテストはユーザープロファイルを変更せず、セッションレイヤーに配置します。セッションが終了しても、永続的な設定はそのまま維持されます。

インストールを分離する

ポータブルビルドを複数のコンピューターに展開する場合、または1つのシステム上に複数のコピーを保持する場合は、各コピーを別々のフォルダーに保存します。これにより、隣接する設定ファイルが誤って共有されたり上書きされたりするのを防げます。

共有プロファイルを検証する

プロファイルは自己完結型で移植可能と説明されていますが、インポートしたすべてのウォッチリスト、注文デフォルト、機能切り替え、リスク制限を確認してください。コミュニティプロファイルを使用する前に、ペーパーモードで検証を実行します。

インストール済みのバージョンを確認する

/versionを実行すると、正確なビルド識別子、リリースチャンネル、検証日が表示されます。問題を報告する際はこの情報を含め、他のユーザーが同じビルドを比較できるようにしてください。

トラブルシューティングに役立つ情報を収集する

ボットが予期しない動作をした場合は、次の順序で情報を収集します。

/status
/diagnose
/logs
/version

完全なエラーメッセージと関連するログ抜粋を保存してください。重複した報告を作成する前に、既存のプロジェクトディスカッションを検索し、ログを公開する前にアカウント情報やその他の機密情報を削除します。

フィードバックとコミュニティサポートを利用する

/feedbackコマンドは、バグ、アイデア、または一般的なコメントをメンテナに送信します。READMEでは、プロジェクトのDiscordまたはTelegramコミュニティを通じて、Issue、プルリクエスト、ドキュメントの改善、テストに関するフィードバック、ディスカッションも推奨しています。

コマンドリファレンス

  • /start — ウェルカムカードと初回ツアーを開きます。
  • /status — ヘルス状態、接続性、稼働時間、機能、ビルド情報を確認します。
  • /features — 有効化されている機能をカテゴリ別に一覧表示します。
  • /config — すべての有効な設定を表示するか、1つの設定を確認します。
  • /reload — ディスクから設定を再読み込みします。
  • /profile — 個人設定とプロフィール関連の設定を管理します。
  • /subscribe — コミュニティの更新情報とリリースノートを受け取ります。
  • /unsubscribe — コミュニティ更新通知を停止します。
  • /logs — 件数と重大度を指定して、最近のアクティビティを取得します。
  • /diagnose — サブシステムのチェックを実行します。
  • /backup — タイムスタンプ付きの設定スナップショットを作成します。
  • /restore — 利用可能なスナップショットを選択して復元します。
  • /version — ビルド識別子、チャンネル、検証日を表示します。
  • /ping — 往復通信をテストします。
  • /feedback — メンテナにフィードバックを送信します。
  • /help — 現在のコマンドドキュメントとオプションを表示します。

まとめ

NinjaTrader Botは、スタンドアロンのWindowsパッケージに、チャットベースの管理、階層化されたプロファイル、設定の検証、診断、バックアップツールを組み合わせています。必ず検証済みのソースからのみインストールし、控えめな設定とペーパーモードから始め、インストールしたビルドの正式なリファレンスとして/helpを使用してください。自動化を有効にしたり変更したりする前に、重要なプロファイルをすべてバックアップしてください。