概要
インテリジェント取引決定モジュールは、構成可能なルールに基づいてポジションを自動的にクローズする高度な取引管理システムで、取引所レベルのストップロス(SL)やテイクプロフィット(TP)注文に依存しません。その代わり、取引を継続的に監視し、以下の要因に基づいて賢い退出決定を行います:
- キャンドルパターンの反転(モメンタムの変化)
- 時間ベースの閾値ルール(動的ストップロス)
- テイクプロフィット乗数ルール(段階的利益確定)
- グローバル安全制限(緊急退出)
構成構造
1. 主要な設定 (IntelligentRuleOptions)
IntelligentRuleOptions:
IsEnabled: true # インテリジェント退出のためのマスタースイッチ
UseOriginalTPAsBase: false # 将来の使用のために予約
EnableAdaptiveThresholds: false # 将来の使用のために予約
MinimumHoldTime: 1 # 退出前の最小保持時間(分)(早すぎるクローズを防止)
MaximumBuyHoldTime: 20 # ロングポジションをN分後に強制クローズ
MaximumSellHoldTime: 10 # ショートポジションをN分後に強制クローズ
主要なパラメータ:
IsEnabled:すべてのインテリジェントルールを無効化し、取引所のSL/TPに依存する場合はfalseに設定MinimumHoldTime:ノイズから保護 - ルールが有効になる前に取引がこの時間(分)経過する必要がありますMaximumBuyHoldTime/MaximumSellHoldTime:最終的な安全装置 - 利益/損失に関係なく退出を強制
2. キャンドルベースの退出ルール(モメンタム反転検出)
CandleExitRules:
IsEnabled: false # キャンドルパターン退出を有効化
OppositesCandlesCount: 2 # 退出をトリガーする連続した反対キャンドルの数
ExitPercentage: 100 # クローズする割合(100 = 完全退出、50 = 部分退出)
RuleName: "モメンタム反転退出"
RequireMinimumProfit: null # オプション:利益がこの%以上の場合にのみ退出(例:2.0)
仕組み:
- ロング取引:
OppositesCandlesCount連続した赤キャンドルが現れると退出 - ショート取引:
OppositesCandlesCount連続した緑キャンドルが現れると退出 - 使用例:損失になる前に素早いモメンタム反転を捉える
例:
# ロングで3連続赤キャンドル後にポジションの50%を退出
CandleExitRules:
IsEnabled: true
OppositesCandlesCount: 3
ExitPercentage: 50
RequireMinimumProfit: 1.5 # すでに1.5%以上の利益がある場合にのみトリガー
3. 閾値ルール(時間ベースのストップロスと利益保護)
閾値ルールは特定の時間間隔で有効になり、利益/損失が閾値を越えると取引をクローズします。
ロング取引の閾値
LongTrade:
ThresholdRules:
- Minutes: 30 # 30分後
ThresholdPer: -80.0 # 損失が80%以上の場合クローズ(ストップロス)
RuleName: "クイックストップロス - ロング"
- Minutes: 360 # 6時間後
ThresholdPer: -60.0 # 損失が60%以上の場合クローズ(より厳しいSL)
RuleName: "拡張ストップロス - ロング"
- Minutes: 720 # 12時間後
ThresholdPer: -50.0 # 損失が50%以上の場合クローズ(利益保護)
RuleName: "利益保護 - ロング"
ショート取引の閾値
ShortTrade:
ThresholdRules:
- Minutes: 15
ThresholdPer: -30.0 # ショートに厳しいSL(より変動性が高い)
RuleName: "クイックストップロス - ショート"
- Minutes: 60
ThresholdPer: -20.0
RuleName: "タイトストップロス - ショート"
- Minutes: 180
ThresholdPer: -15.0
RuleName: "利益保護 - ショート"
解釈:
- 負の値 = ストップロス保護(利益が閾値以下に下がるとクローズ)
- 正の値 = 利益確定(利益が閾値に戻るとクローズ)
- ルールは累積的 - 各間隔で適用可能なすべてのルールがチェックされます
4. テイクプロフィットルール(段階的利益確定)
テイクプロフィットルールは、利益のマイルストーンに達するとポジションの一部を売却し、元のTPターゲットの乗数に基づいています。
LongTrade:
TakeProfitRules:
- TpMultiplier: 0.2 # 元のTPの20%で(例:10% TP → 2%でトリガー)
SellPer: 100 # ポジションの100%を売却
RuleName: "10%ターゲット - ロング"
IsEnabled: true
UseMarketOrder: true
複数のTPレベルの例:
# 元のTPターゲットが10%と仮定
TakeProfitRules:
- TpMultiplier: 0.5 # 5%の利益でトリガー(0.5 × 10%)
SellPer: 25 # ポジションの25%を売却
IsEnabled: true
- TpMultiplier: 1.0 # 10%の利益でトリガー(1.0 × 10%)
SellPer: 30 # さらに30%売却(合計55%売却)
IsEnabled: true
- TpMultiplier: 2.0 # 20%の利益でトリガー
SellPer: 25 # さらに25%売却(合計80%売却)
IsEnabled: true
- TpMultiplier: 5.0 # 50%の利益でトリガー
SellPer: 20 # 残りの20%を売却(完全クローズ)
IsEnabled: true
主な機能:
- 累積追跡:システムは売却した量を記憶します(
tp_sold_cumulative) - 重複防止:各TPレベルは1回のみ実行されます
- 残余量:常に残りのポジションに基づいて売却し、元のポジションではない
5. グローバル安全設定
IntelligentGlobalSettings:
MinProfitToEnableTP: 0.0 # TPルールが有効になる前の最小利益%
MaxLossBeforeForceClose: -30.0 # 緊急:損失がこの値を上回ると強制クローズ
パラメータ:
MinProfitToEnableTP:変動性の高い市場でTPルールが有効になるのを防止MaxLossBeforeForceClose:最終的な保護 - 他のすべてのルールを上書き
決定優先順位フロー
システムは以下の厳密な順序でルールを評価します:
- 🚨 緊急ストップ(
MaxLossBeforeForceClose) - 最優先 - ⏳ 最小保持時間 - 早すぎる退出を防止
- 🕐 最大保持時間 - 時間制限後に退出を強制
- 🕯️ キャンドル退出ルール - モメンタム反転検出
- ⏱️ 閾値ルール - 時間ベースのストップロス/利益保護
- 🎯 テイクプロフィットルール - 段階的利益確定
- ➡️ 継続 - 条件が満たされない場合は何もせず
取引スタイルごとの最適化設定
⚡ スキャルピング取引(1-15分)
IntelligentRuleOptions:
IsEnabled: true
MinimumHoldTime: 1 # 非常に短い保持
MaximumBuyHoldTime: 15 # 15分後にロング退出
MaximumSellHoldTime: 10 # 10分後にショート退出
CandleExitRules:
IsEnabled: true
OppositesCandlesCount: 2 # 素早い反転検出
ExitPercentage: 100 # 反転時に完全退出
RequireMinimumProfit: 0.5 # 0.5%以上の利益の場合にのみ退出
LongTrade:
ThresholdRules:
- Minutes: 5
ThresholdPer: -15.0 # 厳しいストップロス
- Minutes: 10
ThresholdPer: -10.0
TakeProfitRules:
- TpMultiplier: 0.3 # 素早い利益(TPの30%)
SellPer: 50
- TpMultiplier: 0.6
SellPer: 50
IntelligentGlobalSettings:
MinProfitToEnableTP: 0.0
MaxLossBeforeForceClose: -20.0 # 厳しい緊急ストップ
📊 デイトレーディング(15分 - 4時間)
IntelligentRuleOptions:
IsEnabled: true
MinimumHoldTime: 5
MaximumBuyHoldTime: 240 # 最大4時間
MaximumSellHoldTime: 180 # 最大3時間
CandleExitRules:
IsEnabled: true
OppositesCandlesCount: 3
ExitPercentage: 50 # 反転時に部分退出
RequireMinimumProfit: 1.0
LongTrade:
ThresholdRules:
- Minutes: 30
ThresholdPer: -30.0
- Minutes: 120
ThresholdPer: -20.0
- Minutes: 180
ThresholdPer: -15.0
TakeProfitRules:
- TpMultiplier: 0.5
SellPer: 30
- TpMultiplier: 1.0
SellPer: 40
- TpMultiplier: 2.0
SellPer: 30
IntelligentGlobalSettings:
MinProfitToEnableTP: 0.5
MaxLossBeforeForceClose: -35.0
📈 スイングトレーディング(4時間 - 3日)
IntelligentRuleOptions:
IsEnabled: true
MinimumHoldTime: 30
MaximumBuyHoldTime: 4320 # 3日
MaximumSellHoldTime: 2880 # 2日
CandleExitRules:
IsEnabled: true
OppositesCandlesCount: 5 # より多くの確認が必要
ExitPercentage: 40
RequireMinimumProfit: 2.0
LongTrade:
ThresholdRules:
- Minutes: 240 # 4時間
ThresholdPer: -50.0
- Minutes: 1440 # 24時間
ThresholdPer: -35.0
- Minutes: 2880 # 48時間
ThresholdPer: -25.0
TakeProfitRules:
- TpMultiplier: 0.5
SellPer: 20
- TpMultiplier: 1.0
SellPer: 30
- TpMultiplier: 2.0
SellPer: 25
- TpMultiplier: 3.0
SellPer: 25
IntelligentGlobalSettings:
MinProfitToEnableTP: 1.0
MaxLossBeforeForceClose: -50.0
🏔️ 長期取引(3日以上)
IntelligentRuleOptions:
IsEnabled: true
MinimumHoldTime: 120 # 最小2時間
MaximumBuyHoldTime: null # 時間制限なし(または43200で30日)
MaximumSellHoldTime: null
CandleExitRules:
IsEnabled: false # 無効化 - ファンダメンタルズに焦点
LongTrade:
ThresholdRules:
- Minutes: 1440 # 1日
ThresholdPer: -60.0
- Minutes: 10080 # 1週間
ThresholdPer: -40.0
- Minutes: 43200 # 1ヶ月
ThresholdPer: -30.0
TakeProfitRules:
- TpMultiplier: 1.0
SellPer: 20
- TpMultiplier: 2.0
SellPer: 20
- TpMultiplier: 5.0
SellPer: 30
- TpMultiplier: 10.0
SellPer: 30
IntelligentGlobalSettings:
MinProfitToEnableTP: 5.0 # 5%以上の利益でのみ確定
MaxLossBeforeForceClose: -70.0
デモモードサポート
システムは、取引がシミュレーションされるデモモードを完全にサポートします:
General:
demo_mode: true # シミュレーションモードを有効化
デモモードの機能:
- ✅ 実際の取引所注文なしで理論的なPnLを計算
- ✅ 部分売却と累積利益を追跡
- ✅ すべての決定を
[DEMO]プレフィックスで記録 - ✅ ライブモードと同一の取引状態を更新
ベストプラクティス
- 保守的に開始
- より広いストップロスと長い最小保持時間から始める
- 市場の動きを理解するにつれて徐々に厳しくする
- 最初にデモモードでテスト
- 新しい構成は常にデモモードで検証
- 予期しない動作について決定ログを監視
- 保護を重ねる
- キャンドル退出 + 閾値ルール + TPルールを組み合わせる
- 各層は異なる失敗モードを捉える
- ショート特有の考慮事項
- ショートにはより厳しいストップロスを使用(変動性が高い)
- ショートには短い保持時間(平均回帰リスク)
- 低いTP乗数(弱気な動きでの貪欲さを避ける)
MinProfitToEnableTPの監視- 損失を生むTPを避けるために、通常のスプレッド + 手数料以上に設定
- スキャルピングでは低く、スイング/長期では高く設定
- 緊急ストップの距離
MaxLossBeforeForceCloseは「最悪の場合」の許容可能な損失であるべき- 一般的:-20%(スキャルピング)、-35%(デイ)、-50%(スイング)、-70%(長期)
一般的なパターン
積極的スキャルピング
MinimumHoldTime: 1
MaximumBuyHoldTime: 10
CandleExitRules: { OppositesCandlesCount: 2, ExitPercentage: 100 }
ThresholdRules: [{ Minutes: 3, ThresholdPer: -10.0 }]
保守的スイング
MinimumHoldTime: 60
MaximumBuyHoldTime: 7200 # 5日
CandleExitRules: { IsEnabled: false }
ThresholdRules: [{ Minutes: 1440, ThresholdPer: -40.0 }]
モメンタムスキャルパー
CandleExitRules: { IsEnabled: true, OppositesCandlesCount: 2, ExitPercentage: 50 }
TakeProfitRules: [
{ TpMultiplier: 0.2, SellPer: 50 },
{ TpMultiplier: 0.4, SellPer: 50 }
]
トラブルシューティング
| 問題 | 解決策 |
|---|---|
| 取引が早すぎる退出 | MinimumHoldTimeを増やす、閾値の割合を広げる |
| 損失状態で長く保持しすぎ | 閾値の割合を下げる、キャンドル退出を有効化 |
| TPがトリガーされない | MinProfitToEnableTPを確認、乗数計算を検証 |
| キャンドル退出が機能しない | IsEnabled: trueであることを確認、キャンドル履歴が入力されているかチェック |
| デモPnLが不正確 | directionフィールドが正しいか確認(ロング/ショート/任意) |
モニタリングとログ
システムはすべての決定を記録します:
✅ BTCUSDTの決定:部分売却(25%) - テイクプロフィットトリガー(ロング):12.50%の利益 >= 10.00%の閾値、25%売却 - 早期利益確定
📊 部分TP実行:25%売却(合計:25%)、PnL:125.40
🏁 ETHUSDTの取引完全クローズ:ステータス=勝利、総PnL=543.20
主要な指標:
- 🎯 決定タイプ(継続/完全クローズ/部分売却)
- 📊 実行確認(ライブモード)
- 🤖 シミュレーション取引のための
[DEMO]プレフィックス - 🏁 PnL概要付きの最終クローズ
まとめ
インテリジェント取引決定モジュールは、取引所レベルのSL/TP注文に依存せず、高度なルールベースの取引管理を提供します。モメンタム分析(キャンドル)、時間ベースの保護(閾値)、段階的利益確定(TP乗数)を組み合わせることで、スキャルピングから長期保有まであらゆる取引スタイルに適した柔軟で適応性のある取引管理を提供します。