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