この戦略は,歴史的な高突破率と月間移動平均フィルターに基づくトレンドフォローシステムである.これは,前回の歴史的な高値を超える価格ブレイクをモニタリングすることによって買い信号を生成し,月間タイムフレームで8期間のシンプル・ムービング・平均値 (8 SMA) を販売フィルターとして使用して偽のブレイクリスクを軽減する.戦略デザインは"トレンド継続"の市場特性に準拠し,特に強い上昇市場における主要なトレンドを把握するのに適している.
基本的な論理は2つの重要な要素で構成されています.
この戦略は,明確な論理を持つ戦略を踏まえて,よく設計されたトレンドである.歴史的な高いブレイクアウトと月間移動平均を組み合わせることで,効果的なトレンドキャプチャと合理的なリスク制御の両方を達成する.遅滞と誤ったブレイクアウトの固有のリスクがある一方で,提案された最適化方向はさらなるパフォーマンス改善の可能性を提供している.この戦略は,明確なトレンドを持つ市場に特に適しており,中長期投資のための重要な参照ツールとして機能することができる.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-11 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Buy Signal on Close Greater Than Previous All-Time High Strategy", overlay=true) // Initialize the previous all-time high var float prevAllTimeHigh = na // Update the all-time high, excluding the current bar's high (use previous bar's high) if (na(prevAllTimeHigh) or high[1] > prevAllTimeHigh) prevAllTimeHigh := high[1] // Monthly closing price and 8 SMA on monthly time frame monthlyClose = request.security(syminfo.tickerid, "M", close) monthlySMA = ta.sma(monthlyClose, 8) // Variables to track the last signal type var int lastSignal = 0 // 0 = None, 1 = Buy, 2 = Sell // Debugging output to check the all-time high and conditions plot(prevAllTimeHigh, color=color.blue, linewidth=1, title="Previous All-Time High") plot(monthlySMA, color=color.green, linewidth=1, title="8 SMA (Monthly)") // Buy signal: when the latest close is greater than the previous all-time high buySignal = close > prevAllTimeHigh and lastSignal != 1 // Sell signal: when the monthly close is below the 8 SMA sellSignal = monthlyClose < monthlySMA and lastSignal != 2 // Update the last signal type after triggering a signal if (buySignal) lastSignal := 1 if (sellSignal) lastSignal := 2 // Execute the strategy orders if (buySignal) strategy.entry("Buy", strategy.long) if (sellSignal) strategy.close("Buy") // Optional: Plot buy and sell signals on the chart for visual reference plotshape(series=buySignal, style=shape.labelup, location=location.belowbar, color=color.green, text="BUY", size=size.small) plotshape(series=sellSignal, style=shape.labeldown, location=location.abovebar, color=color.red, text="SELL", size=size.small)