
VWAPブレークトラッキング戦略は,VWAP指標を使用してトレンドの方向を特定する追跡戦略である.それは,最近5つのK線の閉盘価格がVWAPを突破した状況を分析することによって,価格のブレーク方向を判断する.連続3つのK線が同じ方向でVWAPを突破したときに,その方向の3つのK線の最高価格または最低価格を記録する.その後,価格がこの最高価格または最低価格を突破した場合,取引シグナルを生成する.
この戦略の主な利点は,価格突破の機会を迅速に捉え,超ショートラインの追跡取引を実現することです.しかし,ポジションがあまりにも速く蓄積される一定のリスクもあります.ポジションパラメータを適切に調整することによって最適化することができます.
この戦略で使用される主な指標はVWAPである.VWAPは,取引量加重の価格平均線である価格を表す平均取引価格である.市場が認めている価格レベルをよく反映している.
策略内では,5つの閉盘価格のK線とVWAP指標をリアルタイムで計算し,価格が指定された数の連続した突破を発生しているかどうかを検出するための一連の論理判断変数を定義する.
戦略の取引シグナルは,価格の突破によって生み出される新しい高値または新しい低値から来ます.具体的論理は:
したがって,この戦略の核心は,価格の突破方向を識別し,突破から生じる新しい高値や新しい低値を追跡して取引することです.
デフォルトのポジションサイズは,アカウントの利便率の100%である。これは,全ポジションの取引をとることを意味する。戦略の高周波ショートライン特性を考慮して,ポジションのサイズを適当に低くして,リスクを制御することができる。
平仓条件は,価格がVWAP指数を再突破することである.つまり,VWAPをストップ・ロスの追跡点として使って,損失拡大を避けることである.
VWAPのブレイクトラッキング戦略の最大の利点は,短期的な価格トレンドを迅速に捉え,ブレイクトレードをトラッキングすることです.主な利点は以下の通りです.
この戦略は,高周波ショートライン取引に特に適しており,短期利益を迅速にロックすることができます.明らかな波動性のある品種 (原油,金など) で最も効果的です.
VWAPの侵入追跡戦略は迅速で効率的ですが,注意すべきリスクがあります.
これらのリスクに対して,次の方法でさらに最適化できます.
VWAPの突破追跡策は,追跡型の超短線策として,以下のいくつかの次元からさらに最適化することができる.
多指標統合: 波動率,MACDなどの他の指標を統合し,より厳しい取引信号フィルタリング条件を設定し,誤判の可能性を減らす
動的ポジション:市場の波動程度に応じて,動的にポジションのサイズを調整する.大株が揺れ動いているときにポジションを減らす,傾向が明らかであるときにポジションを増加させる
損失を食い止めるための適応: 固定VWAPストップラインを動的なトラッキングストップポイントに変更し,ATR指標と組み合わせてストップ距離を計算し,ストップラインの自律調整を実現する
風力制御装置取引を制限するために,最大保有時間,一日利回り制限,撤回率ラインなど,複数のリスク管理指標を設定します.
機械学習戦略パラメータを深度学習モデルで最適化し,より高い安定性を追求する
VWAPのブレイクトラッキング戦略は,全体的に非常に実用的な高周波取引戦略である.それは,短期的な価格のブレイクチャンスに迅速に反応し,全ポジションの追跡を利用して超ショートラインのブレイクを実現する.同時に,VWAPの内蔵のトラッキングストップメカニズムは,リスクをうまく制御する.
多指標統合,ダイナミックポジション管理,自己適応のストップライン,風力制御メカニズムなどの最適化手段により,この戦略の取引決定をより安定させ,追跡効率を高めることができます.機械学習パラメータの最適化と連携し,VWAPの突破追跡戦略の効果を大きく向上させる余地があります.
これは,高周波取引を好む投資家にとって,検討し,継続的に最適化する価値のある戦略です.
/*backtest
start: 2023-12-12 00:00:00
end: 2023-12-19 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="VWAP Push", initial_capital = 100000, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, currency = 'USD', overlay=true)
//VWAP
vwap = ta.vwap(close)
plot(vwap, color=color.black, title="vwap")
//Last 5 Closes
closeBarPrevious5 = close[5]
closeBarPrevious4 = close[4]
closeBarPrevious3 = close[3]
closeBarPrevious2 = close[2]
closeBarPrevious1 = close[1]
closeBarCurrent = close
//is_1530 = (hour == 15) and (minute == 30)
is_push_up = (closeBarCurrent > closeBarPrevious1) and (closeBarPrevious1 > closeBarPrevious2) and (closeBarPrevious2 > closeBarPrevious3) and (closeBarPrevious4 < vwap) and (closeBarPrevious3 > vwap)
is_push_down = (closeBarCurrent < closeBarPrevious1) and (closeBarPrevious1 < closeBarPrevious2) and (closeBarPrevious2 < closeBarPrevious3) and (closeBarPrevious4 > vwap) and (closeBarPrevious3 < vwap)
var float hi = na
var float lo = na
hi := is_push_up ? high : hi
lo := is_push_down and (close < vwap) ? low : lo
plot(hi, "High", color.green, 1, plot.style_circles)
plot(lo, "Low", color.red, 1, plot.style_circles)
// Conditions
longCondition = ta.crossover(close,hi)
exitLong = ta.crossunder(close,vwap)
shortCondition = ta.crossunder(close,lo) and (close < vwap)
exitShort = ta.crossover(close,vwap)
// Entries Exits
if (longCondition)
strategy.entry("Long", strategy.long)
if (exitLong)
strategy.close("Long")
if (shortCondition)
strategy.entry("Sell", strategy.short)
if (exitShort)
strategy.close("Sell")