
この戦略は,超トレンド指標,移動平均散散発指標,取引量重み平均価格の3つの技術指標を融合させ,トレンドの方向を確認し,取引量重み平均価格との価格の接近度を考慮することによって,潜在的な入場と退出点を識別することを目的としています. この戦略は,止損,停止メカニズムとトラッキングストップを組み合わせて,利益をロックします.
入学条件
トレンド確認: 戦略は,超トレンド指標とMACD指標を使用してトレンドの方向を確認する. 二重確認は,誤った信号をフィルターして,トレンドを正確に識別する可能性を高める.
VWAPの確認: 戦略は,価格と取引量加重平均価格の接近度を考慮する. この動的レベルは,サポートまたは抵抗として,入場決定のための追加の根拠を提供することができる.
退出条件
MACD交差: MACD指標線と信号線が下向きに交差するとき,平仓は多頭ポジション;指標線と信号線が上向きに交差するとき,平仓は空頭ポジション.
リスク管理
自制ストップ:戦略は,わずかな価格変動を許容できるストップ区間を設定する.この自制的アプローチは,市場の変動を考慮し,ストップが過早に触発するのを防ぐのに役立ちます.
トラッキングストップ: 戦略は,トレードが予想の方向に動くと,潜在的に収益性を向上させるため,トラッキングストップメカニズムを利潤にロックするために追加します.
双指標確認:超トレンド指標とMACD指標の組み合わせでトレンドを確認する.これは,この戦略のユニークな特徴である. 入場信号にフィルタリング層を追加し,正確性を向上させる.
ダイナミックVWAP:取引量重み平均価格を意思決定プロセスに組み込むことで,戦略のダイナミクスを高めます.VWAPはしばしば機関トレーダーによって使用され,その導入は市場情緒の洞察を提供することができます.
適応ストップと追跡ストップ: 適応ストップの区間と追跡ストップを採用する戦略は,変化する市場環境でリスクをより効果的に管理し,利益を保護することができます.
部分ストップ: MACD指標の逆交差時に部分ストップを考慮することが推奨される.これは,利益の維持と同時にポジションを維持することを確実にするための実用的な方法である.
裏返し:実際の取引にどんな戦略も適用する前に,様々な市場条件下でのパフォーマンスを理解するために,歴史的なデータで全面的に裏返しすることが必要である.
リスク管理: 戦略にはリスク管理の仕組みが組み込まれていますが,ポジションのサイズとポートフォリオ全体のリスクを慎重に管理する必要があります.
市場条件:すべての市場条件に当てはまる戦略はありません. 柔軟性を持つことが重要であり,特に不安定なまたは予測不能な時期に戦略を調整したり取引を避ける.
継続的な監視: 戦略に自動化要素が含まれている場合でも,取引や市場の状況を継続的に監視することが必要である.
適応性: 市場が時間とともに変化する. 取引者は,変化する市場動力に合わせて戦略をいつでも調整する準備が必要である.
複数の時間枠:この戦略は,より長期のトレンドを利用して,より高い時間枠に適用できます.
パラメータ最適化:ATRサイクルの長さ,止損範囲など,異なるパラメータの組み合わせをテストして,最適なパラメータを探します.
部分停止:特定のパーセントの利益時に停止するなど,より明確な部分停止ルールを設定できます.
条件最適化:条件の組み合わせの最適なバランスを探すために,特定の入場条件や退出条件の追加または削除をテストすることができます.
この戦略は,トレンド,動力,取引量指標をうまく組み合わせて,トレンドを確認し,潜在的なエントリーポイントを識別するための比較的ユニークな方法を提供します. 二重確認とダイナミック・ストップ・ローズなどの特性は,一定の優位性を持っています.
/*backtest
start: 2023-12-25 00:00:00
end: 2024-01-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Trend Confirmation Strategy", overlay=true)
// Supertrend Indicator
atrPeriod = input(10, "ATR Length")
factor = input.float(3.0, "Factor", step = 0.01)
[supertrend, direction] = ta.supertrend(factor, atrPeriod)
// MACD Indicator
fast_length = input(title="Fast Length", defval=12)
slow_length = input(title="Slow Length", defval=26)
macd_src = input(title="Source", defval=close)
signal_length = input.int(title="Signal Smoothing", minval = 1, maxval = 50, defval = 9)
macd_sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"])
macd_sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"])
fast_ma = macd_sma_source == "SMA" ? ta.sma(macd_src, fast_length) : ta.ema(macd_src, fast_length)
slow_ma = macd_sma_source == "SMA" ? ta.sma(macd_src, slow_length) : ta.ema(macd_src, slow_length)
macd = fast_ma - slow_ma
signal = macd_sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)
// VWAP Indicator
vwap_hideonDWM = input(false, title="Hide VWAP on 1D or Above")
vwap_src = input(title="VWAP Source", defval=hlc3)
vwap_value = ta.vwap(vwap_src)
vwap_value_long = vwap_value
vwap_value_short = vwap_value
// Entry Criteria
confirm_up_trend = direction > 0 and macd > signal
confirm_down_trend = direction < 0 and macd < signal
// VWAP Confirmation
price_above_vwap = close > vwap_value_long
price_below_vwap = close < vwap_value_short
// Stop Loss and Take Profit
stop_loss_range = input(2, title="Stop Loss Range")
trail_offset = input(0.5, title="Trailing Stop Offset")
stop_loss_long = close - stop_loss_range
stop_loss_short = close + stop_loss_range
// Strategy Entry
if not (vwap_hideonDWM and timeframe.isdwm)
if confirm_up_trend and price_above_vwap
strategy.entry("Buy", strategy.long)
if confirm_down_trend and price_below_vwap
strategy.entry("Sell", strategy.short)
// Strategy Exit
if macd < signal and macd[1] >= signal[1]
strategy.close("Buy", comment="MACD Crossover")
if macd > signal and macd[1] <= signal[1]
strategy.close("Sell", comment="MACD Crossover")
// Plot Supertrend and VWAP
plot(supertrend, color=direction > 0 ? color.green : color.red, title="Supertrend")
plot(vwap_value_long, color=color.blue, title="VWAP Long")
plot(vwap_value_short, color=color.orange, title="VWAP Short")
// Plot MACD Histogram
hist = macd - signal
hist_color = hist >= 0 ? color.green : color.red
plot(hist, style=plot.style_histogram, color=hist_color, title="MACD Histogram")