ユーザーガイド — グローバルレバレッジの構成と管理

概要

このガイドでは、tradesettings.yaml一般設定にあるレバレッジ設定オプションを使用して、取引所のすべての取引シンボルに対してレバレッジを管理する方法を説明します。


1. SetLeverageStartup

SetLeverageStartup: false

目的: ボット起動時に定義されたレバレッジをすべての取引シンボルに適用する。

有効にするタイミング (true)

  • 初回設定: すべてのシンボルに対して最初にレバレッジを設定する必要がある場合
  • レバレッジ設定変更後: 希望するレバレッジを変更した場合
  • 新しいシンボル追加後: 取引所に新しい取引ペアが追加された場合

無効にするタイミング (false)

  • レバレッジ更新成功後: 不要なAPI呼び出しを避けるため
  • 通常運用: 再起動ごとにレバレッジをリセットしないようにするため
  • レバレッジがすでに設定済みの場合: すべてのシンボルが正しいレバレッジを持っている場合

⚠️ 重要な注意事項

  • レバレッジが正常に更新された後は常にfalseに設定して、以下を避けてください:
    • 初期化ごとの不要なAPI呼び出し
    • 取引所からの潜在的なレート制限
    • 起動時間の遅延
# ステップ1: レバレッジ更新のために有効化
SetLeverageStartup: true

# ステップ2: ボットを起動 (レバレッジが適用される)
# ステップ3: ボットを停止

# ステップ4: 次回起動前に無効化
SetLeverageStartup: false

ワークフロー例

1. 設定で希望するレバレッジを設定 (例: 10x)
2. SetLeverageStartup: true を有効化
3. ボットを起動 → すべてのシンボルにレバレッジが適用
4. ボットを停止
5. SetLeverageStartup: false を無効化
6. 通常の取引のためにボットを再起動

2. SetMaxLeverage

SetMaxLeverage: false

目的: 設定されたレバレッジ値の代わりに、各シンボルに対して取引所が許可する最大レバレッジを自動的に使用する。

仕組み

falseの場合 (デフォルト):

  • すべてのシンボルに対して設定されたレバレッジ値を使用
  • サポートされていない場合、API呼び出しが失敗する可能性がある

trueの場合:

  • 各シンボルに対してサポートされる最大レバレッジを取得
  • 設定値と取引所の最大値の低い方を使用

シナリオ例

# シナリオ1: シンボルがあなたのレバレッジをサポート
あなたの設定: 20x
シンボル最大: 50x
結果:       20x

# シナリオ2: シンボルの最大レバレッジが低い場合
あなたの設定: 20x
シンボル最大: 5x
結果:       5x
ボット出力: "ℹ️ XYZUSDTの最大レバレッジは5x、20xの代わりに5xを使用"

# シナリオ3: シンボルの最大レバレッジが高い場合
あなたの設定: 10x
シンボル最大: 125x
結果:       10x

有効にするタイミング (true)

  • ✅ レバレッジ関連のエラーを避ける安全なアプローチ
  • ✅ 異なるレバレッジ制限を持つ混合シンボルタイプ
  • ✅ 制限に自動調整する保守的な取引
  • ✅ 異なるルールを持つ複数取引所ボット

無効にするタイミング (false)

  • ✅ すべてのシンボルで一貫したレバレッジがサポートされている場合
  • ✅ 戦略が正確なレバレッジ値を必要とする場合
  • ✅ パフォーマンス最適化 (API呼び出しの削減)

symbols.jsonとの統合

レバレッジ更新の流れ

1. ボットがtradesettings.yamlからレバレッジを読み込む
2. SetMaxLeverage: true の場合 → 最大レバレッジを取得
3. 最終レバレッジを計算 (設定値と最大値の最小値)
4. 取引所APIを介してレバレッジを適用
5. ✅ 実際に適用されたレバレッジでsymbols.jsonを更新
6. ボットは取引にsymbols.jsonのレバレッジを使用

symbols.json更新が重要な理由

  • 取引所との一貫性を保証
  • 再起動間で持続
  • 実際に使用されたレバレッジの可視的追跡

⚠️ 重要: 同期タイミング

# ❌ 間違った方法
SetLeverageStartup: true
SetMaxLeverage: true

# ✅ 正しい方法 (一回限りの更新)
SetLeverageStartup: true
SetMaxLeverage: true
# 成功後:
SetLeverageStartup: false
SetMaxLeverage: false

推奨される設定ワークフロー

初期設定 (新規ボット)

# tradesettings.yaml
Leverage: 10
SetLeverageStartup: true
SetMaxLeverage: true
  1. 上記の設定を構成
  2. ボットを起動 → レバレッジが適用され、symbols.jsonが更新
  3. ボットを停止
  4. 両方の設定を無効化
  5. 通常運用のために再起動

レバレッジ値の変更

# tradesettings.yaml
Leverage: 15
SetLeverageStartup: true
SetMaxLeverage: true
  1. レバレッジ値を更新
  2. SetLeverageStartupを有効化
  3. ボットを起動 → 新しいレバレッジが適用
  4. ボットを停止
  5. 次回起動前に再度無効化

通常運用 (推奨)

# tradesettings.yaml
Leverage: 10
SetLeverageStartup: false
SetMaxLeverage: false

ボットはすでに設定および更新済みのsymbols.jsonからレバレッジを読み込みます。

新しいシンボルの追加

# tradesettings.yaml
Leverage: 10
SetLeverageStartup: true
SetMaxLeverage: true
  1. 取引所に新しいシンボルを追加
  2. SetLeverageStartupを有効化
  3. ボットを起動 → すべてのシンボルにレバレッジ適用
  4. ボットを停止
  5. 通常取引前に無効化

トラブルシューティング

  • 問題: ボットがレバレッジをリセットし続ける
    原因: SetLeverageStartup: trueが有効のまま
    解決策: 初期設定後にfalseに設定
  • 問題: レバレッジが適用されない
    原因: 更新中にSetLeverageStartup: false
    解決策: 一時的に有効化して再起動
  • 問題: レバレッジ制限に関するAPIエラー
    原因: 設定されたレバレッジが取引所の最大値を超過
    解決策: SetMaxLeverage: trueを有効化
  • 問題: symbols.jsonの不一致
    原因: 手動変更または同期の問題
    解決策: SetLeverageStartup: trueを一度有効にして再同期

ベストプラクティス

✅ やるべきこと

  • 更新成功後にSetLeverageStartup: falseを設定
  • 初回設定でSetMaxLeverage: trueを使用
  • symbols.jsonのレバレッジ値を確認
  • 変更前にバックアップを保持
  • すべてのシンボルに適用する前に1つのシンボルでテスト

❌ やってはいけないこと

  • 通常運用でSetLeverageStartup: trueを維持
  • SetLeverageStartupを有効にせずにレバレッジを変更
  • symbols.jsonを手動で編集
  • 両方を繰り返し有効化 (APIの負荷を引き起こす)

クイックリファレンス表

シナリオ SetLeverageStartup SetMaxLeverage 使用タイミング
初期設定 true true ボットを初めて実行する場合
通常取引 false false 日常的な運用
レバレッジ変更 true true レバレッジ値の変更後
新しいシンボル追加 true true 取引所に新しいペアが追加された場合
保守モード false true 取引所の制限に自動調整
パフォーマンスモード false false API呼び出しの最小化

サポート

  1. ボットのログでエラーを確認
  2. 取引所のAPI権限にレバレッジ変更が含まれているか確認
  3. すべてのシンボルが取引所に存在するか確認
  4. symbols.jsonで正しいレバレッジを確認
  5. 取引所固有のレバレッジ制限を確認

📎 Related Topics