
এই কৌশলটি একটি ট্রেডিং সিস্টেম যা একাধিক প্রযুক্তিগত সূচককে একত্রিত করে ট্রেডিং ট্রেডিং ট্র্যাক করে। এটি MACD এর মাধ্যমে ট্রেডিং গতিশীলতা ক্যাপচার করে, RSI এবং StochRSI ব্যবহার করে ওভার-বই ওভার-সোল্ডের অবস্থা নিশ্চিত করে, এবং ক্রয়-বিক্রয় সূচক ব্যবহার করে ট্রেডিং সিগন্যালের কার্যকারিতা যাচাই করে। এই কৌশলটি একটি গতিশীল ক্রয়-বিক্রয় অবমূল্যায়ন প্রক্রিয়া ব্যবহার করে, যা নিশ্চিত করে যে কেবলমাত্র যখন বাজারের সক্রিয়তা যথেষ্ট হয় তখনই ট্রেডিং কার্যকর করা হয়।
কৌশলটির মূল যুক্তি নিম্নলিখিত মূল উপাদানগুলির উপর ভিত্তি করে:
সিস্টেমটি নিম্নলিখিত শর্তগুলি পূরণ করলে অতিরিক্ত পজিশন খুলবেঃ
সিস্টেমটি নিম্নলিখিত শর্তগুলি পূরণ করলে শূন্য অবস্থানে থাকেঃ
ঝুঁকি নিয়ন্ত্রণের পরামর্শ:
এই কৌশলটি বেশ কয়েকটি প্রযুক্তিগত সূচকের সমন্বয় করে একটি তুলনামূলকভাবে সম্পূর্ণ ট্রেডিং সিস্টেম তৈরি করে। লেনদেনের পরিমাণ নিশ্চিতকরণ ব্যবস্থার সংযোজন ট্রেডিং সিগন্যালের নির্ভরযোগ্যতা বাড়ায়, তবে ঝুঁকি নিয়ন্ত্রণ এবং প্যারামিটার অপ্টিমাইজেশনের ক্ষেত্রে সিস্টেমটি আরও উন্নত করা দরকার। কৌশলটির মূল সুবিধা হ’ল এটির লজিক্যাল স্পষ্টতা, নিয়ন্ত্রণযোগ্যতা এবং বেস ফ্রেমওয়ার্কের জন্য আরও অপ্টিমাইজেশন এবং সম্প্রসারণের জন্য উপযুক্ত।
/*backtest
start: 2024-02-22 00:00:00
end: 2025-02-19 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("BTCUSDT Strategy with Volume, MACD, RSI, StochRSI", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// Input parameters
macdFastLength = input.int(12, title="MACD Fast Length")
macdSlowLength = input.int(26, title="MACD Slow Length")
macdSignalSmoothing = input.int(9, title="MACD Signal Smoothing")
rsiLength = input.int(14, title="RSI Length")
stochRsiLength = input.int(14, title="StochRSI Length")
stochRsiSmoothing = input.int(3, title="StochRSI Smoothing")
stochRsiK = input.int(3, title="StochRSI %K")
stochRsiD = input.int(3, title="StochRSI %D")
volumeThreshold = input.float(1.5, title="Volume Threshold (Multiplier of Average Volume)")
// Calculate indicators
[macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalSmoothing)
rsi = ta.rsi(close, rsiLength)
stochRsi = ta.stoch(rsi, rsi, rsi, stochRsiLength)
stochRsiKSmoothed = ta.sma(stochRsi, stochRsiK)
stochRsiDSmoothed = ta.sma(stochRsiKSmoothed, stochRsiD)
averageVolume = ta.sma(volume, 14)
volumeSpike = volume > averageVolume * volumeThreshold
// Entry conditions
longCondition = ta.crossover(macdLine, signalLine) and rsi > 50 and stochRsiKSmoothed > stochRsiDSmoothed and volumeSpike
shortCondition = ta.crossunder(macdLine, signalLine) and rsi < 50 and stochRsiKSmoothed < stochRsiDSmoothed and volumeSpike
// Execute trades
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Plot indicators for visualization
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.red, title="Signal Line")
hline(0, "Zero Line", color=color.black)
plot(rsi, color=color.purple, title="RSI")
plot(stochRsiKSmoothed, color=color.green, title="StochRSI %K")
plot(stochRsiDSmoothed, color=color.orange, title="StochRSI %D")