資源の読み込みに... 荷物...

動的ポジションスケーリングシステムを持つ多レベル機関オーダーフロー量的な戦略

作者: リン・ハーンチャオチャン開催日:2024年12月27日 15:01:36
タグ:PCTVOLマルチOB

img

概要

この戦略は,機関的なオーダーフローをベースとしたインテリジェントな取引システムで,市場におけるオーダーブロックを特定することによって潜在的な価格逆転点を予測する.このシステムは,ポジション管理を最適化し収益を最大化するために3段階のターゲットを搭載したダイナミックなポジションスケーリング管理アプローチを採用している.戦略の核心は,高値と低値の統計分析を通じて,機関的な取引行動によって残された価格足跡を捕捉することにある.

戦略の原則

この戦略は,いくつかの重要な要素に基づいています.

  1. オーダーブロック識別 - ろうそくパターンの分析を通じて購入・販売オーダーブロックを特定するために20期回顧窓を使用する.購入ブロックは,以前の下落キャンドルと現在の上昇キャンドルの組み合わせによって確認され,販売ブロックは反対パターンに従う.
  2. 取引時間管理 - 取引は,市場開閉時と閉閉時の間に高い変動期間を避けるために,09:30~16:00のメインセッションに制限されています.
  3. 入場論理 - 取引時間中に価格が購入オーダーブロックを超えるとロングポジションが開かれ,価格が販売オーダーブロックを下回るとショートポジションが開かれます.
  4. ポジションスケーリング - 0.5%,1.0%,1.5%の目標に対応する50%-30%-20%の三階層スケーリングシステムを実装する.

戦略 の 利点

  1. スマートオーダー検出 - 高値と低値のダイナミックな分析を通じて,大きな資本ポジションが構築または閉鎖される主要な価格レベルを正確に把握します.
  2. リスク分布 - 3つのレベルでのポジションスケーリングは,リスクを効果的に分散し,利益を確保し,トレンドが完全に発展することを可能にします.
  3. 時間フィルタリング - 取引時間の制限により,高い変動期間を避け,取引の安定性を向上させる.
  4. ビジュアルサポート - ストラテジーは,トレーダーが市場構造を理解するのに役立つ明確なオーダーブロックビジュアライゼーションを提供します.

戦略リスク

  1. 誤ったブレイクリスク - 変動市場では複数の誤った信号が発生し,変動指標のフィルタリングが必要であることを示唆する.
  2. スリップ効果 - 低流動性の市場では,ポジションスケーリングの終了は,スリップに直面し,適切な目標間隔調整を必要とする可能性があります.
  3. トレンド依存性 - トレンド市場では戦略がうまく機能するが,変動条件で頻繁に取引を生む可能性がある.

戦略の最適化

  1. 波動性調整 - 市場波動性に基づいて目標パーセントを動的に調整するためにATR指標を組み込むことを推奨します.
  2. オーダーフロー・ボリューム分析 - オーダーブロック確認の信頼性を高めるためにボリューム分析を組み合わせることを検討する.
  3. ダイナミック・タイム・ウィンドウ - 戦略の適応性を向上させるため,市場状況に基づいて回顧期間をダイナミックに調整することを検討する.
  4. リスク管理の強化 - 戦略の安定性を高めるため,最大引き上げ制限と日々の損失制限を追加する.

概要

この戦略は,機関的なオーダーフロー分析とダイナミックなポジション管理を通じて完全な取引システムを構築する.オーダーブロックの識別と複数のレベルの利益採取設定を通じて,効果的なリスク管理を実施しながら,大規模な資本取引からの機会を把握する.トレーダーは,市場状況を注意深く検討し,ライブ取引の特定の状況に応じてパラメータを調整することをお勧めする.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=6
strategy("Institutional Order Flow Strategy", overlay=true)

// Input settings
inputSession = input("0930-1600", "Trading Session") // Trading session
lookbackPeriod = input.int(20, "Order Block Lookback Period", minval=1) // Lookback for Order Blocks
target1Pct = input.float(0.5, "Target 1 (% move)", step=0.1, minval=0.1) // First profit target
target2Pct = input.float(1.0, "Target 2 (% move)", step=0.1, minval=0.1) // Second profit target
target3Pct = input.float(1.5, "Target 3 (% move)", step=0.1, minval=0.1) // Third profit target

// Order Block identification
highestHigh = ta.highest(high, lookbackPeriod)
lowestLow = ta.lowest(low, lookbackPeriod)
orderBlockBuy = ta.valuewhen(close[1] < open[1] and close > open, highestHigh, 0)
orderBlockSell = ta.valuewhen(close[1] > open[1] and close < open, lowestLow, 0)

// Entry logic
inSession = true
longCondition = close > orderBlockBuy and inSession
shortCondition = close < orderBlockSell and inSession

// Strategy entries
if longCondition
    strategy.entry("Long", strategy.long)

if shortCondition
    strategy.entry("Short", strategy.short)

// Calculate targets for scaling out
longTarget1 = strategy.position_avg_price + strategy.position_avg_price * target1Pct / 100
longTarget2 = strategy.position_avg_price + strategy.position_avg_price * target2Pct / 100
longTarget3 = strategy.position_avg_price + strategy.position_avg_price * target3Pct / 100

shortTarget1 = strategy.position_avg_price - strategy.position_avg_price * target1Pct / 100
shortTarget2 = strategy.position_avg_price - strategy.position_avg_price * target2Pct / 100
shortTarget3 = strategy.position_avg_price - strategy.position_avg_price * target3Pct / 100

// Exit logic with scaling out
if strategy.position_size > 0
    strategy.exit("Target 1", from_entry="Long", limit=longTarget1, qty_percent=50)
    strategy.exit("Target 2", from_entry="Long", limit=longTarget2, qty_percent=30)
    strategy.exit("Target 3", from_entry="Long", limit=longTarget3, qty_percent=20)

if strategy.position_size < 0
    strategy.exit("Target 1", from_entry="Short", limit=shortTarget1, qty_percent=50)
    strategy.exit("Target 2", from_entry="Short", limit=shortTarget2, qty_percent=30)
    strategy.exit("Target 3", from_entry="Short", limit=shortTarget3, qty_percent=20)

// Visualize Order Blocks
plot(orderBlockBuy, "Order Block Buy", color=color.green, linewidth=2, style=plot.style_line)
plot(orderBlockSell, "Order Block Sell", color=color.red, linewidth=2, style=plot.style_line)


関連性

もっと