この戦略は,フィボナッチリトレースメントレベルをベースとした高度なトレンドフォローおよびリバーストレードシステムである.このシステムは,潜在的サポートおよびレジスタンスレベルを特定するために,7つの主要なフィボナッチリトレースメントレベル (0%, 23.6%, 38.2%, 50%, 61.8%, 78.6%,および 100%) を自動的に計算し,プロットするために,価格の高低を動的に識別する.このシステムは,上昇傾向における長時間チャンスと下落傾向における短時間チャンスの両方を把握できる双方向取引メカニズムを使用する.
基本的な論理はいくつかの重要な要素に基づいています
この戦略は,クラシックなフィボナッチリトラセメント理論と近代的な定量的な取引技術を組み合わせて包括的な取引システムを構築する.その強みは,主要価格レベルと明確な取引シグナルを自動的に識別し,戦略パフォーマンスに対する市場環境の影響を意識することにある.提案された最適化方向性によって,戦略の安定性と収益性がさらに向上することができる.
/*backtest start: 2024-01-06 00:00:00 end: 2025-01-05 00:00:00 period: 3h basePeriod: 3h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Fibonacci Retracement Strategy for Crypto", overlay=true) // Input parameters lookback = input.int(50, title="Lookback Period", minval=1) plotLevels = input.bool(true, title="Plot Fibonacci Levels?") compactLines = input.bool(true, title="Compact Fibonacci Lines?") // Calculate highest high and lowest low for the lookback period highestHigh = ta.highest(high, lookback) lowestLow = ta.lowest(low, lookback) // Fibonacci retracement levels diff = highestHigh - lowestLow level0 = highestHigh level23_6 = highestHigh - diff * 0.236 level38_2 = highestHigh - diff * 0.382 level50 = highestHigh - diff * 0.5 level61_8 = highestHigh - diff * 0.618 level78_6 = highestHigh - diff * 0.786 level100 = lowestLow // Plot Fibonacci levels (compact mode to make lines shorter) // if plotLevels // lineStyle = compactLines ? line.style_dashed : line.style_solid // line.new(bar_index[lookback], level0, bar_index, level0, color=color.green, width=1, style=lineStyle) // line.new(bar_index[lookback], level23_6, bar_index, level23_6, color=color.blue, width=1, style=lineStyle) // line.new(bar_index[lookback], level38_2, bar_index, level38_2, color=color.blue, width=1, style=lineStyle) // line.new(bar_index[lookback], level50, bar_index, level50, color=color.orange, width=1, style=lineStyle) // line.new(bar_index[lookback], level61_8, bar_index, level61_8, color=color.red, width=1, style=lineStyle) // line.new(bar_index[lookback], level78_6, bar_index, level78_6, color=color.red, width=1, style=lineStyle) // line.new(bar_index[lookback], level100, bar_index, level100, color=color.green, width=1, style=lineStyle) // Long trade: Buy when price crosses above 61.8% retracement longCondition = ta.crossover(close, level61_8) if longCondition strategy.entry("Long", strategy.long, alert_message="Price bounced off Fibonacci level - Enter Long") // Short trade: Sell when price crosses below 38.2% retracement shortCondition = ta.crossunder(close, level38_2) if shortCondition strategy.entry("Short", strategy.short, alert_message="Price crossed below Fibonacci level - Enter Short") // Exit conditions exitLong = close >= level23_6 if exitLong strategy.close("Long", alert_message="Price reached 23.6% Fibonacci level - Exit Long") exitShort = close <= level78_6 if exitShort strategy.close("Short", alert_message="Price reached 78.6% Fibonacci level - Exit Short")