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

DiscordまたはTelegramでMetaTrader 5ボットを設定・操作する

このチュートリアルでは、コミュニティ主導のMetaTrader 5デスクトップボットのインストール、DiscordまたはTelegramへの接続、取引設定の構成、戦略・市場データ・ポジション・レポート・トラブルシューティングに関するコマンドの使用方法を説明します。

DiscordまたはTelegramでMetaTrader 5ボットを設定・操作する

MetaTrader 5ボットの機能

コミュニティ主導のmetatrader-5-botは、ローカルのMetaTrader 5ターミナルをDiscord、Telegram、または両方に接続するWindowsデスクトップアプリケーションです。戦略の選択、取引執行の制御、市場情報の表示、ポジションの監視、実行時設定の変更、レポートの生成を行うチャットコマンドを提供します。

MetaTrader 5ボットのデスクトップ画面プレビュー

スタンドアロンのWindows x64ビルドには、利用可能なモジュールと自動化ルーチンが1つのパッケージに含まれています。ローカルで動作するため、必須のクラウドサービスは必要ありません。メッセージングプラットフォームのトークンとボット設定は、該当するDiscordまたはTelegram APIとの通信を除き、コンピューター上に保持されます。

主な機能

  • ローカル動作: ボットとその設定はWindowsコンピューター上で実行されます。
  • DiscordとTelegramに対応: いずれか一方を有効にすることも、両方のメッセージングフロントエンドを同時に実行することもできます。
  • 戦略の制御: 戦略の一覧表示、アクティブな戦略の選択、パラメーターの確認、実行の一時停止や再開が可能です。
  • 市場と口座の監視: 価格、ローソク足、インジケーター、シグナル、ポジション、注文、残高情報、レポートを取得できます。
  • 設定の編集: ソースコードを変更せずに、権限、コマンドの動作、リスク上限、ロットサイズ、ウォッチリスト、ログ記録、通知を調整できます。
  • 事前設定されたデフォルト: 含まれているデフォルト設定は、編集可能な状態で初期設定の作業を減らすことを目的としています。
  • コミュニティによる開発: バグ報告、設定案、機能リクエストがメンテナンスの方向性に役立ちます。

自動取引には金銭的損失のリスクがあります。すべての設定を確認し、戦略を慎重にテストしたうえで、リアル取引の執行を有効にする前に、ボットが意図したターミナルと口座に接続されていることを確認してください。

必要条件

ボットをインストールする前に、お使いのコンピューターがプロジェクトに記載された要件を満たしていることを確認してください。

  • Windows 10またはWindows 11
  • PowerShell 5.1以降(PowerShell 7を含む)
  • 有効なネットワーク接続
  • Windows x64デスクトップ環境

インストーラーの実行に管理者権限は必要ありません。また、ローカルのMetaTrader 5ターミナルと、有効にするメッセージングプラットフォームの認証情報またはトークンが必要です。

デスクトップ版をインストールする

リポジトリには、手動で依存関係をインストールする手順ではなく、PowerShellセットアップページが用意されています。WindowsコンピューターからプロジェクトのPowerShellセットアップボタンページを開き、表示されるセットアップ手順に従ってください。

ボットのPowerShellセットアップオプション
  1. Windows 10またはWindows 11を使用していることを確認します。
  2. PowerShellを開き、コンピューターで利用可能であることを確認します。
  3. プロジェクトのセットアップページにアクセスし、そこに表示されたインストール手順を確認します。
  4. 通常のユーザーアカウントから、提供されているセットアッププロセスを実行します。READMEによると、管理者権限は必要ありません。
  5. セットアップが完了したら、インストールされたデスクトップ版を起動します。

READMEには、正確なインストール先、実行ファイル名、設定ファイル名、インストーラーに表示されるすべてのプロンプトは記載されていません。リリースによって異なる可能性があるパスやコマンドを推測せず、現在のセットアップページに従ってください。ダウンロードしたPowerShellセットアッププロセスと同様に、実行する前にソースと手順を確認してください。

DiscordとTelegramを設定する

ボットは、アプリケーションとともにインストールされる1つの中央設定ファイルから設定を読み込みます。その隣にはデフォルトのバックアップも含まれています。READMEにはファイルの正確な名前やスキーマが記載されていないため、インストール済みパッケージ内で設定ファイルを見つけ、編集時には既存の構造を維持してください。

  1. ファイルベースの設定を変更する前に、ボットを停止します。
  2. 現在の設定と、付属するデフォルトバックアップのコピーを別途作成します。
  3. アクティブな設定ファイルをプレーンテキストエディターで開きます。
  4. 対応するフィールドにDiscordトークン、Telegramトークン、またはその両方を入力します。
  5. 使用する予定のメッセージングフロントエンドだけを有効にします。
  6. チャンネル権限とロールベースのアクセス制御を設定します。
  7. ファイルを保存し、ボットを再起動して変更を適用します。

トークンは秘密情報として扱ってください。公開されたIssue、スクリーンショット、レポート、共有設定例に貼り付けないでください。プロジェクトによると、トークンはローカルに保持され、該当するプラットフォームAPIにのみ送信されます。

コマンドアクセスを慎重に設定する

設定では、コマンドプレフィックス、スラッシュコマンドの設定、チャンネル権限、ロールベースのアクセス階層に対応しています。一般ユーザーには読み取り専用の情報取得を許可し、取引や設定に関するコマンドは信頼できるロールに限定する構成が実用的です。

  • 読み取り専用の例: /quote、/history、/indicators、/signals。
  • 口座に関わるコマンド: /positions、/orders、/balance。
  • /start trade、/close all、/config setなどの取引制御コマンドには、最も厳格なアクセス制御を設定してください。

初回接続を確認する

戦略を変更したり執行を有効にしたりする前に、情報取得用のコマンドから始めてください。認証済みのDiscordまたはTelegramチャンネルから、次のコマンドを送信します。

/start
/help
/version
/status

/start はボットを起動し、概要を表示します。/help はカテゴリ別にコマンドを一覧表示し、/version はインストール済みビルドのバージョンを表示し、/status は接続状態、アクティブなストラテジー、セッションの稼働時間を報告します。

次に、ボットをローカルのデスクトップターミナルに接続します。

/connect
/status

続行する前に、返されたステータスを確認してください。接続が期待どおりに動作しない場合は、設定を確認し、/logs で最近のアクティビティを調べてください。

ストラテジーを選択・確認する

ボットには、組み込みストラテジーの閲覧や、再起動せずにアクティブな選択を変更するためのコマンドが用意されています。

/strategies
/strategy set
/strategy params
/signals

/strategies は組み込みストラテジーのライブラリを表示します。/strategy set でアクティブなストラテジーを切り替え、その後 /strategy params でパラメータを表示または調整します。README には引数の構文や組み込みストラテジーの名前が記載されていないため、インストール済みビルドに表示されるプロンプトと出力に従ってください。選択したストラテジーの最新出力を確認するには、/signals を使用します。

取引パラメータを設定する

中央設定では、損切りと利確の水準、取引ごとのリスク上限、ロットサイズのルール、銘柄ウォッチリストを設定できます。実行時の設定は、次の設定コマンドでも確認・調整できます。

/config view
/config set

まず /config view を実行し、現在の値を把握してください。リスクやサイズ設定を変更する場合は、一度に1つの設定だけを変更し、続行する前に変更後の設定を確認してください。中央設定ファイルを直接編集した場合は、ボットを再起動して新しい値を読み込ませてください。

市場データと監視コマンドを使用する

取引の実行を許可する前に、ボットが想定される市場情報と口座情報を取得できることを確認してください。

市場情報

/quote
/history
/indicators
/signals
  • /quote は、対応する銘柄の最新の買い値と売り値を取得します。
  • /history は、選択した時間足の最近のローソク足を取得します。
  • /indicators は、利用可能な組み込みインジケーターと現在の値を一覧表示します。
  • /signals は、アクティブなストラテジーの最近の出力を表示します。

ポートフォリオと口座情報

/positions
/orders
/balance
/report
  • /positions は、エントリー価格、数量、含み損益を含むオープンポジションを一覧表示します。
  • /orders は、保留中の注文とトリガー水準を表示します。
  • /balance は、残高、純資産、証拠金使用量を返します。
  • /report は、セッションまたは当日のパフォーマンス概要を生成します。

最新のレポートをローカルに保存するには、/export を使用してください。

取引セッションを管理する

ターミナル接続、アクティブなストラテジー、パラメータ、権限、口座情報を確認した後、利用できるセッション操作は次のとおりです。

/start trade
/pause
/resume
/close all

/start trade は、現在の設定でライブ取引を開始します。/pause はセッションを維持したまま取引の実行を一時停止し、/resume はセッションを再開します。/close all は、ボットが管理するすべてのオープンポジションを決済します。

接続テストとして /start trade を使用しないでください。まずステータス、市場データ、シグナル、口座の各コマンドで設定を検証してください。ライブ取引の実行と /close all は、信頼できるユーザーだけに制限してください。

ログ、通知、復旧

設定では、ログの詳細度と通知の動作を選択できます。通知は、バックグラウンドで静かに動作する設定から、選択したチャンネルに取引ごとの更新を送信する設定まで選べます。次のユーティリティコマンドは、日常的な運用を支援します。

/notify
/logs
/reset
  • /notify は、取引イベントに関するデスクトップ通知とボット通知を切り替えます。
  • /logs は、監視やトラブルシューティングに利用する最近のアクティビティを取得します。
  • /reset は、クリーンな設定が必要な場合に初期値へ戻します。

/reset を使用する前に、カスタマイズした設定をバックアップしてください。ファイルを直接編集した後は、ボットを再起動して設定を再読み込みさせてください。

高度なヒント

情報へのアクセスと実行権限を分離する

市場照会、口座データ、取引操作を区別する権限階層を作成してください。公開または広範なコミュニティロールには限定的な情報へのアクセスを許可し、信頼できるオペレーターだけが設定および実行コマンドを使用できるようにします。

一度に1つのパラメータを変更する

正常に動作している設定のコピーを保持し、1つの値を変更し、必要に応じて再起動して、ステータス、ログ、シグナルを比較してください。これにより、予期しない動作の原因を追跡しやすくなり、ロールバックも簡単になります。

すべてのセッションでレポートを使用する

/report でセッションまたは日次の概要を生成し、/export で保存してください。予期しない動作を調査したり、再現可能なバグレポートを提出したりする際は、関連するログとレポートを組み合わせてください。

プロジェクトの変更を確認する

現在のビルドで何が変更されたかを確認するには、/changelog を使用してください。リポジトリでは、リリースノートを確認し、ローカルのスタンドアロンインストーラーを検証済みのリリースに合わせて維持することを推奨しています。

コミュニティコマンドを使用する

/tips
/changelog
/feedback

/tips は、コミュニティやメンテナーからの実用的な提案を返します。/changelog はビルドの変更内容を表示し、/feedback はアイデアの共有や問題点の報告に利用できます。

役立つバグレポートを作成する

問題を報告する際は、Windowsのバージョン、有効にしているメッセージングプラットフォーム、期待される動作、実際の動作、再現手順、関連するログを記載してください。ファイルやスクリーンショットを共有する前に、トークン、アカウント認証情報、その他の個人情報を削除してください。

まとめ

MetaTrader 5ボットは、Windowsの取引ターミナルとDiscordまたはTelegramを接続するローカルブリッジを提供します。慎重なセットアップでは、PowerShellのインストールページを起点に、安全なトークン設定、制限の厳しいコマンド権限、読み取り専用の確認コマンドを使用します。接続と戦略パラメーターを検証すると、ボットで取引セッションの管理、口座アクティビティの監視、レポートのエクスポート、チャットベースのワークフローによる設定可能な通知のサポートが可能になります。