
এই কৌশলটি একটি সমন্বিত ট্রেডিং সিস্টেম যা ডাবল ইয়ারেজ ক্রস, আরএসআই ওভারবয় ওভারসেল এবং এটিআর ওভাররেট ফিল্টারিংয়ের সাথে মিলিত। এই সিস্টেমটি স্বল্প ও দীর্ঘমেয়াদী চলমান গড় ব্যবহার করে ট্রেডিং সিগন্যাল তৈরি করে, আরএসআই সূচকগুলি দ্বারা বাজার পরিস্থিতি ফিল্টার করে, এটিআর সূচকগুলি ব্যবহার করে ওভাররেট সিদ্ধান্ত নেয় এবং শতকরা হার এবং ঝুঁকি-লাভের অনুপাতের সাথে অবস্থানের ব্যবস্থাপনা এবং ঝুঁকি নিয়ন্ত্রণ করে। এই কৌশলটি শক্তিশালী অভিযোজনযোগ্যতা রয়েছে এবং বাজারের পরিবেশের সাথে প্যারামিটারগুলিকে নমনীয়ভাবে সামঞ্জস্য করতে পারে।
কৌশলটির মূল যুক্তি নিম্নলিখিত দিকগুলির উপর ভিত্তি করে:
এই কৌশলটি বেশ কয়েকটি প্রযুক্তিগত সূচককে একত্রিত করে একটি অপেক্ষাকৃত সম্পূর্ণ ট্রেডিং সিস্টেম তৈরি করে। কৌশলটি ট্রেন্ডিং মার্কেটে দুর্দান্ত পারফরম্যান্স করে এবং ভাল ঝুঁকি নিয়ন্ত্রণের ক্ষমতা রাখে। যুক্তিসঙ্গতভাবে প্যারামিটার সেট করে এবং প্রয়োজনীয় ফিল্টারিং শর্ত যুক্ত করে কৌশলটি বিভিন্ন বাজারের পরিবেশের সাথে খাপ খাইয়ে নিতে পারে। রিয়েল-টাইমে ব্যবহারের আগে পর্যাপ্ত প্রতিক্রিয়া এবং প্যারামিটার অপ্টিমাইজেশনের পরামর্শ দেওয়া হয়।
/*backtest
start: 2025-01-21 00:00:00
end: 2025-02-20 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("Simplified MA Crossover Strategy with Disable Options", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// Inputs
shortLength = input.int(9, title="Short MA Length", minval=1)
longLength = input.int(21, title="Long MA Length", minval=1)
// RSI Filter
enableRSI = input.bool(true, title="Enable RSI Filter")
rsiLength = input.int(14, title="RSI Length", minval=1)
rsiOverbought = input.int(70, title="RSI Overbought Level", minval=50, maxval=100)
rsiOversold = input.int(30, title="RSI Oversold Level", minval=0, maxval=50)
// ATR Filter
enableATR = input.bool(true, title="Enable ATR Filter")
atrLength = input.int(14, title="ATR Length", minval=1)
minATR = input.float(0.005, title="Minimum ATR Threshold", minval=0)
// Risk Management
stopLossPerc = input.float(0.5, title="Stop Loss (%)", minval=0.1) / 100
riskRewardRatio = input.float(2, title="Risk-Reward Ratio", minval=1)
riskPercentage = input.float(2, title="Risk Percentage", minval=0.1) / 100
// Indicators
shortMA = ta.sma(close, shortLength)
longMA = ta.sma(close, longLength)
rsi = ta.rsi(close, rsiLength)
atr = ta.atr(atrLength)
// Conditions
longCondition = ta.crossover(shortMA, longMA)
shortCondition = ta.crossunder(shortMA, longMA)
// Apply RSI Filter (if enabled)
if (enableRSI)
longCondition := longCondition and rsi < rsiOverbought
shortCondition := shortCondition and rsi > rsiOversold
// Apply ATR Filter (if enabled)
if (enableATR)
longCondition := longCondition and atr > minATR
shortCondition := shortCondition and atr > minATR
// Risk Management
positionSize = strategy.equity * riskPercentage / (stopLossPerc * close)
takeProfitLevel = strategy.position_avg_price * (1 + stopLossPerc * riskRewardRatio)
stopLossLevel = strategy.position_avg_price * (1 - stopLossPerc)
// Execute Trades
if (longCondition)
strategy.entry("Long", strategy.long, qty=positionSize)
strategy.exit("Take Profit/Stop Loss", "Long", limit=takeProfitLevel, stop=stopLossLevel)
if (shortCondition)
strategy.entry("Short", strategy.short, qty=positionSize)
strategy.exit("Take Profit/Stop Loss", "Short", limit=strategy.position_avg_price * (1 - stopLossPerc * riskRewardRatio), stop=strategy.position_avg_price * (1 + stopLossPerc))
// Plotting
plot(shortMA, color=color.blue, title="Short MA")
plot(longMA, color=color.red, title="Long MA")
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.green)
plot(atr, color=color.orange, title="ATR")
plotshape(series=longCondition, title="Long Entry", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition, title="Short Entry", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")