
এই কৌশলটি বেশ কয়েকটি প্রযুক্তিগত সূচকের সমন্বয় করে, যার মধ্যে রয়েছে তুলনামূলকভাবে দুর্বল সূচক (RSI), মুভিং এভারেজ সমাপ্তি এবং স্প্রেডিং ইন্ডিকেটর (MACD) এবং বেশ কয়েকটি বিভিন্ন সময়কালের একটি সাধারণ মুভিং এভারেজ (SMA) । এই কৌশলটির মূল ধারণাটি হল বিটকয়েন (BTC) ট্রেডিংয়ের জন্য একটি বিস্তৃত বিশ্লেষণমূলক সরঞ্জাম সরবরাহ করা। এই কৌশলটি বিভিন্ন সূচকের সংকেতকে সমন্বিতভাবে বিবেচনা করে, যখন RSI একটি নির্দিষ্ট ব্যাপ্তিতে থাকে, MACD-এর মধ্যে একটি গোল্ড ফোর্কের দাম একাধিক এসএমএর নীচে থাকে, তখন অতিরিক্ত কাজ করা হয়, একই সাথে স্টপ লস এবং স্টপ ব্রেক সেট করা হয় এবং যখন RSI 50 হয় তখন স্টপ লস অবস্থানটি আপডেট করা হয়।
এই কৌশলটি আরএসআই, এমএসিডি এবং এসএমএর মতো প্রযুক্তিগত সূচকগুলির সমন্বিত ব্যবহারের মাধ্যমে বিটকয়েন ট্রেডিংয়ের জন্য একটি বিস্তৃত বিশ্লেষণমূলক কাঠামো সরবরাহ করে। এটি ট্রেডিং সিগন্যাল তৈরি করতে একাধিক সূচকের সম্মিলিত স্বীকৃতি ব্যবহার করে এবং ঝুঁকি নিয়ন্ত্রণ ব্যবস্থা স্থাপন করে। তবে, কৌশলটিতে আরও সূচক, গতিশীল সমন্বয় পরামিতি এবং মৌলিক বিশ্লেষণের সংমিশ্রণের মতো অপ্টিমাইজেশনের জায়গা রয়েছে। বাস্তবিক প্রয়োগে, ব্যবসায়ীদের তাদের ঝুঁকি পছন্দ এবং বাজারের পরিবেশের সাথে কৌশলটি যথাযথভাবে সামঞ্জস্য করা উচিত।
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Advanced Strategy", shorttitle="1M Advanced Strat", overlay=true)
// Input settings
rsiLength = input(14, title="RSI Length")
rsiLowerBound = input(20, title="RSI Lower Bound")
rsiUpperBound = input(30, title="RSI Upper Bound")
atrLength = input(14, title="ATR Length")
smaFastLength = input(20, title="SMA 20 Length")
smaMediumLength = input(50, title="SMA 50 Length")
smaSlowLength = input(200, title="SMA 200 Length")
riskPercent = input(0.005, title="Risk Percentage for SL and Target")
// Calculate indicators
rsiValue = rsi(close, rsiLength)
[macdLine, signalLine, _] = macd(close, 12, 26, 9)
smaFast = sma(close, smaFastLength)
smaMedium = sma(close, smaMediumLength)
smaSlow = sma(close, smaSlowLength)
atrValue = atr(atrLength)
// Checking previous RSI value
prevRsiValue = rsi(close[1], rsiLength)
// Conditions for Entry
longCondition = rsiValue > rsiLowerBound and rsiValue < rsiUpperBound and prevRsiValue < rsiLowerBound or prevRsiValue > rsiUpperBound and crossover(macdLine, signalLine) and close < smaFast and close < smaMedium and close < smaSlow
// Strategy Entry
if (longCondition and not strategy.position_size)
strategy.entry("Long", strategy.long)
// Setting Stop Loss and Take Profit
stopLoss = close - riskPercent * close
takeProfit = close + atrValue
strategy.exit("Exit Long", "Long", stop = stopLoss, limit = takeProfit)
//Update Stop Loss when RSI reaches 50
if (strategy.position_size > 0 and rsiValue >= 50)
strategy.exit("Update SL", "Long", stop = high)
// Conditions for Exit
shortCondition = crossunder(macdLine, signalLine)
// Strategy Exit
if (shortCondition)
strategy.close("Long")