手動取引入力システム – ユーザーガイド

概要

マニュアルトレードエントリーシステムでは、通常のシグナル生成を待たずに、ユーザーが手動で取引機会を入力でき、ボットがそれを自動的に監視・実行します。手動で市場をチェック中に良い機会を見つけたとき、ボットに見逃してほしくない場合に最適です。

仕組み

🔄 自動ホットリロード

  • ボット稼働中に settings/manual_trade_symbols.yaml にエントリーを追加
  • 変更は自動的に30秒以内(次の処理サイクル)に反映
  • 再起動不要!

🎯 取引実行フロー

  1. あなたが YAMLファイルに取引エントリーを追加
  2. ボットが 次のサイクル(≤30秒)で新規エントリーを検知
  3. ボットが検証
    • シンボルがボットの取引リストに存在するか
    • そのシンボルに実行中の注文がないか
    • 価格条件を満たしているか(閾値設定時)
  4. ボットが 取引を自動実行
  5. 成功後エントリー削除(重複防止)

設定ファイルの場所

settings/manual_trade_symbols.yaml

フィールドリファレンス

Symbol(必須)

  • 取引所固有フォーマットの取引ペア
  • 例: BTCUSDT, ETHUSDT, 1000PEPEUSDT
  • ボットのシンボルリストに完全に一致させる必要あり

Price(必須)

  • 0 = ボットが現在の市場価格を取得して使用(推奨)
  • > 0 = 指定した価格をエントリー基準とする
  • 0の場合、ボットは:
    • 現在の市場価格を取得
    • YAML内の該当フィールドを更新
    • 以降のサイクルで閾値計算に使用

Direction(必須)

  • Long = 買い / ロングポジション
  • Short = 売り / ショートポジション

Amount(必須)

  • 0 = ボットのデフォルトポジションサイズを使用
  • > 0 = 指定した金額(クォート通貨基準)で上書き
  • 例:
    • 1000.0 = $1000のポジションサイズ
    • 2500.5 = $2500.50のポジションサイズ

ExecuteThresholdPerfect(必須)

  • 0 = 即時実行(価格変動不要)
  • > 0 = 価格がこのパーセント分動くまで待機して実行
  • ロングポジション:価格がこの%分下落するのを待つ
  • ショートポジション:価格がこの%分上昇するのを待つ

Timestamp(任意)

  • null を使用するかフィールド自体を省略
  • ボットが処理時に自動で現在時刻を設定
  • 将来的に有効期限チェックなどに利用可能

使用例

例1:即時エントリー(今チャンスを掴む)

Trades:
 - Symbol: 'BTCUSDT'
 Price: 0 # 現在価格を使用
 Direction: Long # ロング
 Amount: 0 # デフォルトサイズ
 ExecuteThresholdPerfect: 0 # 即実行
 Timestamp: null

ユースケース:BTCがブレイクアウトしているのを見て今すぐ入りたい場合。


例2:ディップ買い(5%プルバック戦略)

Trades:
 - Symbol: 'ETHUSDT'
 Price: 0 # ボットが現在価格を取得(例:$3000)
 Direction: Long
 Amount: 1000 # $1000ポジション
 ExecuteThresholdPerfect: 5 # 5%下落待ち(約$2850で実行)
 Timestamp: null

ユースケース:ETHが強いが少し伸びすぎ。5%調整したら買いたい場合。


例3:積極ディップ買い(10%リトレースメント)

Trades:
 - Symbol: '1000PEPEUSDT'
 Price: 0
 Direction: Long
 Amount: 2000 # $2000ポジション
 ExecuteThresholdPerfect: 10 # 10%下落待ち
 Timestamp: null

ユースケース:PEPEが強くポンプ中。大きな押し目で追加買い(積み増し)したい場合。


例4:ポンプをショート(3%上昇待ち)

Trades:
 - Symbol: 'SOLUSDT'
 Price: 0 # ボットが現在価格を取得(例:$100)
 Direction: Short # ショートポジション
 Amount: 1500
 ExecuteThresholdPerfect: 3 # 3%上昇で実行(約$103)
 Timestamp: null

ユースケース:SOLが過熱気味。もう3%ポンプしたらショートしたい場合。


例5:複数レベルでの分割エントリー

Trades:
  # 即時エントリー
 - Symbol: 'BTCUSDT'
 Price: 0
 Direction: Long
 Amount: 500
 ExecuteThresholdPerfect: 0 # 今すぐエントリー
 Timestamp: null
  # 5%押し目で追加
 - Symbol: 'BTCUSDT'
 Price: 0
 Direction: Long
 Amount: 1000
 ExecuteThresholdPerfect: 5 # 5%調整でポジション追加
 Timestamp: null
  # 10%押し目でさらに追加
 - Symbol: 'BTCUSDT'
 Price: 0
 Direction: Long
 Amount: 1500
 ExecuteThresholdPerfect: 10 # 10%調整で強力な積み増し
 Timestamp: null

ユースケース:BTCを複数価格帯でドルコスト平均法(DCA)的に買い増し。


重要事項

やるべきこと

  • ✅ YAMLファイルの形式を正しく保つ(インデント、文法エラーなし)
  • ✅ Timestampはnullを使用(None禁止)
  • ✅ DirectionはLongまたはShort(0/1禁止)
  • ✅ シンボル名が取引所のフォーマットと完全に一致するか確認
  • ✅ 追加後最低30秒待ってボットが認識するのを待つ

やってはいけないこと

  • ❌ TimestampにNoneを使用しない(nullか省略)
  • ❌ Directionに01を使用しない
  • ❌ ボットが監視していないシンボルは追加しない
  • ❌ ボットがファイルを保存中に編集しない(稀な競合リスク)

🔒 安全機能

  • 重複実行防止:実行後にエントリー自動削除
  • 競合防止:進行中の注文があれば実行しない
  • 価格検証:0設定時に自動で現在価格を取得・更新
  • タイムスタンプ追跡:各エントリーの作成時刻を記録

📊 モニタリング

ログで処理状況を確認できます:

  • logs/orders.YYYY-MM-DD.log — 全取引実行記録(JSON)
  • logs/trade_summary.YYYY-MM-DD.log — 高レベルサマリー
  • logs/debug.YYYY-MM-DD.log — 詳細ログ(デバッグモード時)

ワークフロー例

ステップ1:チャート分析中にETHUSDTがレジスタンスをブレイク

# manual_trade_symbols.yaml に追加
Trades:
 - Symbol: 'ETHUSDT'
 Price: 0
 Direction: Long
 Amount: 1000
 ExecuteThresholdPerfect: 0
 Timestamp: null

ステップ2:ファイルを保存(ボットは稼働中)

ステップ3:30秒以内にボットが実行:

  • ファイル読み込み
  • ETH現在価格取得(例:$3000)
  • YAMLのPriceフィールドを3000に更新
  • Timestampを現在時刻に設定
  • ETHUSDTに進行中注文がないか確認
  • 取引実行
  • YAMLからエントリー削除

ステップ4:ログで実行完了を確認

✅ ETHUSDTの取引が正常に実行されました
💾 マニュアルトレード設定を更新・保存(実行済み項目削除)

プロTips

💡 ボラティリティが高い市場:閾値を高め(10〜20%)にしてより良いエントリーポイントを狙う

💡 即時チャンスExecuteThresholdPerfect: 0 + Amount: 0 で素早いエントリー+標準サイズ

💡 スケールイン:同じシンボルに閾値を段階的に上げて複数エントリー追加

💡 リスク管理0ではなく具体的な金額を指定してポジションサイズを精密に制御

💡 複数シンボル:似た戦略をYAML内でグループ化して管理しやすく


覚えておいてください:このシステムは手動分析を補完するものであり、置き換えるものではありません。ボットの通常シグナルサイクルで見逃すかもしれない機会を賢く捉えるために活用しましょう! 🚀

📎 Related Topics