MagicTradeBot ボットインスタンスは、Windows、Linux、macOS をサポートするクロスプラットフォーム実行ファイルです。単体でも複数インスタンスと並行しても実行可能で、構成は中央の .yaml
ファイルを通じて管理されます。
各ボットインスタンスは、MagicTradeBot 管理アプリの API に接続し、認証、トレードの実行、市場のリアルタイムスキャンを行います。このドキュメントでは、構成パラメータとセキュアな通信のベストプラクティスを解説します。
📄 YAML構成構造
各ボットインスタンスの基本構成は config.yaml
ファイルに保存されます。以下はその参照レイアウトです:
server:
# 名前
botName: "Bybit_Mainnet_Trading_Bot" # ボットインスタンスの一意な名前
# ライセンスキー
licenseKey: "hRnWOLo91ESUiZ8SkN986w" # ボットインスタンスの有効化と認証に必要
# デモモード設定
isDemo: true # true = シミュレーションモード;false = 本番取引
# API構成
api: "https://localhost:7225/" # MagicTradeBot 管理APIのURL
# 実行制御
refreshRate: 5 # 市場スキャン間隔(秒)
totalConcurrentTrades: 0 # 同時取引の最大数(0 = 無制限)
# リスク管理(0 = 無効)
maxLoss: 0 # 累積損失がこの値に達するとボットが停止
maxProfit: 0 # 累積利益がこの値に達するとボットが停止
# アカウント設定
exchangeId: 0 # 取引に使用するアカウントID(管理アプリから取得)
# テンプレート設定
templateId: 0 # 特定戦略用テンプレートID(0 = デフォルト)
# トレーディング戦略
strategy: 0 # 戦略ID(下記参照)
strategyMaxCount: 55 # 最大ステップ数(0 = 無制限)
# 戦略IDリスト:
# 0: 戦略なし
# 1: マーチンゲール 2: 逆マーチンゲール
# 3: フィボナッチ 4: 逆フィボナッチ
# 5: 3-2-6-3 6: 逆3-2-6-3
# 7: ダランベール 8: 逆ダランベール
timeZone: "UTC" # スケジュールと取引操作用のタイムゾーン
# システム設定
debug: true # 詳細ログを有効にする
🔐 セキュア通信ガイドライン
ボットインスタンスは、シンボルの取得、市場スキャン、トレード実行のために管理APIと通信します。この通信の安全性を確保することが重要です。以下は推奨事項です:
1. APIエンドポイントにHTTPSを使用する
api
フィールドがHTTPS URLを使用していることを確認- トラフィック暗号化のため、有効なTLS証明書(例:Let's Encrypt)を使用
- HTTP接続はすべて拒否
2. JWT認証を適用
- 起動時、ボットインスタンスは認証情報を使用してJWTトークンを要求
- 検証後、管理アプリが署名済みトークンを返却
- すべてのAPIリクエストで
Authorization
ヘッダーにJWTを付加 - トークンは短い有効期間に設定し、メモリ上で安全に保持
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
3. IPホワイトリストでアクセス制限
- 管理APIへのアクセスは、既知のボット設置IPに限定
- 不正アクセスをブロックするためファイアウォールを設定
4. APIキーとライセンスキーの保護
- ソースコード内でのハードコーディングやログ出力は避ける
- 環境変数または暗号化されたシークレット管理ツールで読み込む
- 定期的にライセンスキーとAPI認証情報をローテーション
5. 各ボットインスタンスを分離
botName
をユニークに設定し、コンテナまたは仮想環境で隔離- OSレベルでアクセス制御が可能なら最小権限に設定
6. API使用状況の監視と監査
- 管理アプリで監査ログを有効化
- すべてのJWT認証試行と不正アクセスをログ記録
- 異常検出のためにSentry、Pushover、LogDNAなどで通知を設定
✅ 推奨事項
- 📌 すべてのサービス間で強力なパスワードと暗号化通信を使用
- 📌 ボットインフラをパブリックネットワークから隔離
- 📌 管理アプリおよびボットのソフトウェアを定期的にアップデート
- 📌 ボット設定および取引履歴の自動バックアップをスケジュール