
この戦略は,技術指標に基づく日中ショートライン取引システムであり,主要に20周期指数移動平均 ((EMA 20) と,典型的な価格計算に基づく取引量重み平均価格 ((VWAP) の関係を利用して取引信号を決定する.戦略は,動的ストップとターゲットの利潤設定を採用し,ATR ((真波幅平均) と武器 ((シグナル)) のサイズによってリスクと報酬の比率を正確に計算し,リスク制御と利潤の最大化のためのバランスを実現する.この戦略は,特に波動性の高い市場環境で,短期的な価格トレンドの転換点を捉えることで利潤を得るために適しています.
この戦略の核心原則は,2つの均等線 (EMA 20と固定VWAP) と価格がこれらの均等線と相互作用する交差関係に基づいています.具体的には:
入口信号生成機構:
典型的な価格の適用策略: 典型的な価格 ((高価格+低価格+閉店価格) / 3 を使ってVWAPを計算します.これは閉店価格を使用するだけでより包括的な価格情報を提供します.
VWAPは日中に決定する:VWAPは,取引日の開始時にリセットされ,その日の価格と取引量との関係を反映し,当日のトレーダーに適していることを確認します.
ダイナミックなリスク管理:
リスク・リターン比率戦略のデフォルトは1:3のリスク・リターン比率,つまり潜在的利益は潜在的リスクの3倍である.これはプロフェッショナルトレーダーのリスク管理基準に合致する.
総合技術指標の優位融合: EMAのトレンド追跡能力とVWAPの取引量優位性を組み合わせることで,信号はより信頼性が高くなります.
市場変動に適応するダイナミックな止損ATRによるストップポジション計算により,ストップポイントは市場の実際の変動状況に応じて自動的に調整され,固定ストップポイントの異なる変動環境における不適合性を回避します.
体サイズによる目標設定信号の実際の大きさを利用して目標価格を決定する.この方法は,現在の市場の変動特性によりよく適応し,大きな波動時により遠くの目標,小さな波動時により近い目標を設定します.
1日間のVWAP計算を再設定する:VWAPは,取引日ごとに再計算され,現在の取引日の過去のデータへの干渉を避け,より明確な日内価格参照を提供します.
複数の認証メカニズム: 均線交差と価格交差の組み合わせ条件を要求し,偽信号の可能性を減らし,取引の正確性を向上させる.
視覚化効果は直感的に戦略は,取引決定を直感的に理解し実行できるように,買入・出荷のシグナル,ストップ・ロズ,ターゲット・プライスラインを含む明確なグラフィック・マーカーを提供します.
平均線遅れのリスクEMAは単純移動平均よりも反応が速いにもかかわらず,一定の遅延が存在し,急速に変化する市場で最適なエントリーポイントを逃したり,遅延信号を生じさせたりする可能性があります.
VWAP計算は取引量に依存する: 取引量異常の場合,例えば大手機関による単一の大量取引は,VWAPの偏差を引き起こし,信号の正確性に影響する可能性があります.
取引頻度リスク変動する市場では,平均線が頻繁に交差し,過剰取引と取引コストを増加させる可能性があります.
危険を誘発する: 市場が短期的に価格の尖端を発生させ,ストップ・ロスを誘発した後,元のトレンド方向に戻り,不必要な損失を招く可能性があります.
目標価格設定の限界: 個体規模の目標設定は,特に市場構造が変化するときに,すべての市場条件に適合するだけでは不十分である.
解決方法:
パラメータ最適化:
市場環境フィルターを追加:
タイムフィルター:
ストップ・ストップ・損失の最適化:
多時間枠分析統合:
これらの最適化方向の実施は,戦略の安定性および収益性を大幅に向上させることができますが,過度な最適化が過度に適合する問題を引き起こさないように注意する必要があります.各改善は,厳格な反省と前向きなテストによってその有効性を検証する必要があります.
VWAP intraday ダイナミックストップ・ストップ・ロスの量化戦略は,複数の技術分析ツールを組み合わせた総合的な取引システムである.これは,EMA 20と典型的な価格計算のVWAPの関係によって潜在的な取引機会を識別し,ATRと体サイズに基づくダイナミックリスク管理機構を使用してリスクを制御し,利益を最適化します.
戦略の主要な優点は,市場の変動に適応する能力と,複数の技術指標と組み合わせた信号の信頼性にある.しかしながら,平均線遅れや過剰取引などのリスクにも直面しており,追加のフィルタリング条件とパラメータ最適化によって緩和する必要がある.
この戦略は,日交易者にとって,体系化された取引の枠組みを提供し,特に,合理的なリスク管理を維持しながら,短期市場の機会を捉えようとするトレーダーに適しています. 継続的な反省,最適化,実践によって,トレーダーは,自身のリスク承受能力と取引目標に応じて,この戦略をさらに完善させ,個性的で堅固な取引システムにすることができます.
/*backtest
start: 2024-07-25 00:00:00
end: 2025-07-23 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("EMA 20 and Anchored VWAP with Typical Price", overlay=true)
// === INPUTS ===
emaLength = input.int(20, title="EMA Length")
atrMultiplier = input.float(2.0, title="Stop Loss Multiplier (x ATR)", minval=1)
riskRewardRatio = input.float(3.0, title="Risk/Reward Ratio", minval=1, step=0.1) // 1:3 Risk/Reward Ratio
// === CALCULATIONS ===
// EMA 20
ema20 = ta.ema(close, emaLength)
// === TYPICAL PRICE ===
typicalPrice = (high + low + close) / 3
// === VWAP CALCULATION (ANCHOR PERIOD = SESSION) ===
// Reset at the start of each session (new day)
var float cumPriceVol = na
var float cumVol = na
if (dayofweek != dayofweek[1]) // Reset at the start of each day
cumPriceVol := typicalPrice * volume
cumVol := volume
else
cumPriceVol := cumPriceVol + (typicalPrice * volume)
cumVol := cumVol + volume
vwap = cumPriceVol / cumVol // VWAP = cumulative price-volume / cumulative volume
// ATR Calculation
atr = ta.atr(14)
// === BUY CONDITIONS ===
// EMA 20 above VWAP and close crosses EMA 20 from below, OR EMA 20 crosses VWAP from below
buyCondition = (ema20 > vwap and ta.crossover(close, ema20)) or ta.crossover(ema20, vwap)
// === SELL CONDITIONS ===
// EMA 20 below VWAP and close crosses EMA 20 from above, OR EMA 20 crosses VWAP from above
sellCondition = (ema20 < vwap and ta.crossunder(close, ema20)) or ta.crossunder(ema20, vwap)
// === STOP LOSS and TARGET ===
// Buy Stop Loss and Target calculation (Weapon Candle is the signal candle)
buyStopLoss = close - atr * atrMultiplier
// Weapon Candle (signal candle) for Buy
weaponCandleSize = high - low
buyTarget = high + 2 * weaponCandleSize // Target = High of weapon candle + 2 * candle size
// Sell Stop Loss and Target calculation (Weapon Candle is the signal candle)
sellStopLoss = close + atr * atrMultiplier
// Weapon Candle (signal candle) for Sell
weaponCandleSizeSell = high - low
sellTarget = low - 2 * weaponCandleSizeSell // Target = Low of weapon candle - 2 * candle size
// === EXECUTE STRATEGY (Buy and Sell) ===
// Buy order entry
if (buyCondition)
strategy.entry("Buy", strategy.long, stop=buyStopLoss, limit=buyTarget)
// Sell order entry
if (sellCondition)
strategy.entry("Sell", strategy.short, stop=sellStopLoss, limit=sellTarget)
// === PLOTS ===
// Plot EMA 20
plot(ema20, color=color.blue, title="EMA 20", linewidth=2)
// Plot VWAP
plot(vwap, color=color.orange, title="Session Anchored VWAP", linewidth=2)
// Plot Buy and Sell signals on the chart
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY")
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")
// === BACKGROUND COLORS ===
bgcolor(buyCondition ? color.new(color.green, 90) : na, title="Buy Background")
bgcolor(sellCondition ? color.new(color.red, 90) : na, title="Sell Background")