
यह रणनीति मूल्य और व्यापारिक मात्रा के संकेतों के साथ-साथ फिबोनाची प्रतिगमन स्तर को जोड़ती है और 15 मिनट और 45 मिनट के समय-सीमा के भीतर एक खरीद और बिक्री संकेत उत्पन्न करती है। यह रणनीति सरल चलती औसत (एसएमए) और सूचकांक चलती औसत (ईएमए) सहित कई चलती औसत (एमए) का उपयोग करती है। इसके अलावा, फिबोनाची प्रतिगमन स्तर को संभावित प्रवेश बिंदु के रूप में उपयोग किया जाता है। इस रणनीति का मुख्य उद्देश्य कीमतों और व्यापारिक मात्रा में महत्वपूर्ण परिवर्तन के दौरान समय पर खरीद और बिक्री के अवसरों को पकड़ना है।
इस रणनीति में मूल्य, व्यापार की मात्रा और फिबोनाची प्रतिगमन के स्तर के संयोजन के माध्यम से कई समय के फ्रेम के भीतर एक खरीद और बिक्री संकेत उत्पन्न होता है। रणनीति का लाभ यह है कि यह कई बाजार कारकों को एकीकृत करता है और कई एमए और ईएमए का उपयोग सहायक संकेतकों के रूप में करता है। हालांकि, रणनीति अस्थिर बाजारों में बहुत अधिक व्यापारिक संकेत उत्पन्न कर सकती है, और ऐतिहासिक डेटा की गणना के संकेतकों पर निर्भर करती है, इसलिए इसकी अनुकूलन और विश्वसनीयता में सुधार के लिए और अधिक अनुकूलन की आवश्यकता होती है। अनुकूलन दिशा में ट्रेंड की ताकत के संकेतकों को शामिल करना, पैरामीटर का अनुकूलन करना, अन्य तकनीकी संकेतकों के संयोजन और जोखिम प्रबंधन उपायों को शामिल करना शामिल है।
/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="Buy/Sell with Volume and Candlestick Signals", overlay=true)
// Fibonacci Retracement Levels
var float[] fibonacciLevels = array.new_float(5)
array.set(fibonacciLevels, 2, 0.47)
array.set(fibonacciLevels, 3, 0.658)
array.set(fibonacciLevels, 4, 0.886)
// Calculate Fibonacci Retracement Levels
fibonacciRetrace(highLevel, lowLevel) =>
priceRange = highLevel - lowLevel
retracementLevels = array.new_float(0)
for i = 0 to array.size(fibonacciLevels) - 1
level = highLevel - array.get(fibonacciLevels, i) * priceRange
array.push(retracementLevels, level)
retracementLevels
fibRetracementValues = fibonacciRetrace(high, low)
fibRetracement = ta.sma(close, 21)
plot(fibRetracement, color=color.purple, title="Fibonacci Retracement")
// Define inputs
fast_ma = input.int(title="Fast MA Period", defval=10)
short_sma_10 = input.int(title="Short SMA 10 Period", defval=10)
short_sma_60 = input.int(title="Short SMA 60 Period", defval=60)
slow_ma = input.int(title="Slow MA Period", defval=30)
ema1Length = input.int(title="EMA 1 Length", defval=3)
fast_ma_9 = input.int(title="Fast MA 9", defval=9)
// Define indicators
fast_ma_val = ta.sma(close, fast_ma)
short_sma_10_val = ta.sma(close, short_sma_10)
short_sma_60_val = ta.sma(close, short_sma_60)
slow_ma_val = ta.sma(close, slow_ma)
up_trend = fast_ma_val > slow_ma_val
down_trend = fast_ma_val < slow_ma_val
volume_up = volume > ta.sma(volume, 20)
volume_down = volume < ta.sma(volume, 20)
// Calculate accuracy values
fast_ema_val = ta.ema(close, fast_ma)
slow_ema_val = ta.ema(close, slow_ma)
ema1_val = ta.ema(close, ema1Length)
fast_ma_9_val = ta.sma(close, fast_ma_9)
ema7_val = ta.ema(close, 7)
accuracy = ta.crossover(close, slow_ma_val) ? fast_ema_val : slow_ema_val
// Define lines
plot(up_trend ? fast_ma_val : na, color=color.green, linewidth=2, title="Up Trend")
plot(down_trend ? fast_ma_val : na, color=color.red, linewidth=2, title="Down Trend")
plot(volume_up ? fast_ma_val : na, color=color.green, linewidth=2, title="Volume Up")
plot(volume_down ? fast_ma_val : na, color=color.red, linewidth=2, title="Volume Down")
plot(accuracy, color=color.yellow, linewidth=1, title="Accuracy Line")
plot(ema1_val, color=color.purple, linewidth=1, title="EMA 1")
plot(fast_ma_9_val, color=color.orange, linewidth=1, title="Fast MA 9")
plot(ema7_val, color=color.blue, linewidth=1, title="EMA 7")
plot(short_sma_60_val, color=color.red, linewidth=1, title="Short SMA 60")
hline(0, color=color.gray, linestyle=hline.style_dotted, title="Zero Line")
// Buy/Sell Signals
buySignal = ta.crossunder(short_sma_60_val, accuracy)
sellSignal = ta.crossover(short_sma_60_val, accuracy)
// Exit Signals
exitLongSignal = ta.crossunder(fast_ma_9_val, ema7_val)
exitShortSignal = ta.crossover(fast_ma_9_val, ema7_val)
// Plot Buy/Sell Signals
plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")
if exitLongSignal
strategy.close("Buy")
if exitShortSignal
strategy.close("Sell")
if buySignal
strategy.entry("Enter Long", strategy.long)
else if sellSignal
strategy.entry("Enter Short", strategy.short)