यह रणनीति फिबोनाची रिट्रेसमेंट लेवल पर आधारित एक उन्नत ट्रेंड-फॉलोइंग और रिवर्सल ट्रेडिंग सिस्टम है। यह स्वचालित रूप से सात प्रमुख फिबोनाची रिट्रेसमेंट लेवल (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")