
এই কৌশলটি মূল্য এবং লেনদেনের পরিমাণের সংকেত এবং ফিবোনাচি প্রত্যাহারের স্তরকে একত্রিত করে, 15 মিনিট এবং 45 মিনিটের সময়সীমার মধ্যে ক্রয়-বিক্রয় সংকেত তৈরি করে। এই কৌশলটি একাধিক মুভিং এভারেজ (এমএ) ব্যবহার করে যা প্রবণতা এবং গতিশীলতার সূচক, যার মধ্যে রয়েছে সরল মুভিং এভারেজ (এসএমএ) এবং সূচকীয় মুভিং এভারেজ (ইএমএ) । এছাড়াও, ফিবোনাচি প্রত্যাহারের স্তরকে সম্ভাব্য প্রবেশের জায়গা হিসাবে ব্যবহার করা হয়। এই কৌশলটির মূল লক্ষ্য হ’ল দাম এবং লেনদেনের পরিমাণে উল্লেখযোগ্য পরিবর্তন হলে সময়মতো ক্রয়-বিক্রয় সুযোগগুলি ধরা।
এই কৌশলটি মূল্য, লেনদেনের পরিমাণ এবং ফিবোনাচি প্রত্যাহারের স্তরের সমন্বয় করে একাধিক সময় ফ্রেমের মধ্যে ক্রয়-বিক্রয় সংকেত তৈরি করে। কৌশলটির সুবিধা হল যে এটি একাধিক বাজার উপাদানকে সমন্বিতভাবে বিবেচনা করে এবং একাধিক এমএ এবং ইএমএকে সহায়ক সূচক হিসাবে ব্যবহার করে। যাইহোক, কৌশলটি অস্থির বাজারে অত্যধিক ট্রেডিং সংকেত তৈরি করতে পারে এবং historicalতিহাসিক ডেটা গণনা করা সূচকগুলির উপর নির্ভর করে, তাই এর উপযুক্ততা এবং নির্ভরযোগ্যতা বাড়ানোর জন্য আরও অপ্টিমাইজেশনের প্রয়োজন। অপ্টিমাইজেশনের দিকনির্দেশগুলির মধ্যে রয়েছে প্রবণতা শক্তি সূচক, অপ্টিমাইজেশন প্যারামিটার, অন্যান্য প্রযুক্তিগত সূচকগুলির সাথে সংহতকরণ এবং ঝুঁকি পরিচালনার ব্যবস্থা।
/*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)