
এটি একটি পরিমাপযোগ্য ট্রেডিং কৌশল যা গড় মানের রিটার্ন নীতির উপর ভিত্তি করে ডিজাইন করা হয়েছে, যা ব্রিনের বেন্ড, তুলনামূলকভাবে দুর্বল সূচক ((আরএসআই) এবং গড় বাস্তব তরঙ্গদৈর্ঘ্য ((এটিআর) এর মতো প্রযুক্তিগত সূচকগুলির সাথে মিলিত হয়েছে। বাজারের ওভারব্রিড ওভারসোলের অবস্থা সনাক্ত করে ট্রেডিং করা হয়। কৌশলটি জয়লাভের জন্য কম ঝুঁকিপূর্ণ রিটার্ন রেসিপি সেট আপ করে এবং তহবিল পরিচালনার মাধ্যমে ঝুঁকি নিয়ন্ত্রণ করে।
এই কৌশলটি মূলত নিম্নলিখিত বিষয়গুলির মাধ্যমে লেনদেনের জন্য কাজ করেঃ
এই কৌশলটি একটি স্থিতিশীল ট্রেডিং সিস্টেম তৈরি করে যার মধ্যে রয়েছে গড় মানের রিটার্ন নীতি এবং একাধিক প্রযুক্তিগত সূচক। কম ঝুঁকিপূর্ণ রিটার্নের অনুপাতের সেটআপগুলি বিজয়ী হার বাড়াতে সহায়তা করে এবং কঠোর ঝুঁকি ব্যবস্থাপনা তহবিলের সুরক্ষা নিশ্চিত করে। যদিও কিছু অন্তর্নিহিত ঝুঁকি রয়েছে তবে ক্রমাগত অপ্টিমাইজেশন এবং পরিমার্জনের মাধ্যমে কৌশলটি আরও ভাল পারফরম্যান্সের প্রত্যাশা করে। এটি একটি কৌশল যা স্থিতিশীল ব্যবসায়ীদের জন্য উপযুক্ত, বিশেষত উচ্চতর অস্থিরতার জন্য উপযুক্ত।
/*backtest
start: 2024-01-01 00:00:00
end: 2024-11-11 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("High Win Rate Mean Reversion Strategy for Gold", overlay=true)
// Input Parameters
bbLength = input.int(20, title="Bollinger Bands Length")
bbMult = input.float(2, title="Bollinger Bands Multiplier")
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.int(70, title="RSI Overbought Level")
rsiOversold = input.int(30, title="RSI Oversold Level")
atrLength = input.int(14, title="ATR Length")
rrRatio = input.float(0.75, title="Risk/Reward Ratio", step=0.05) // Lower RRR to achieve a high win rate
riskPerTrade = input.float(2.0, title="Risk per Trade (%)", step=0.1) / 100 // 2% risk per trade
// Bollinger Bands Calculation
basis = ta.sma(close, bbLength)
dev = bbMult * ta.stdev(close, bbLength)
upperBand = basis + dev
lowerBand = basis - dev
// RSI Calculation
rsi = ta.rsi(close, rsiLength)
// ATR Calculation for Stop Loss
atr = ta.atr(atrLength)
// Entry Conditions: Mean Reversion
longCondition = close < lowerBand and rsi < rsiOversold
shortCondition = close > upperBand and rsi > rsiOverbought
// Stop Loss and Take Profit based on ATR
longStopLoss = close - atr * 1.0 // 1x ATR stop loss for long trades
shortStopLoss = close + atr * 1.0 // 1x ATR stop loss for short trades
longTakeProfit = close + (close - longStopLoss) * rrRatio // 0.75x ATR take profit
shortTakeProfit = close - (shortStopLoss - close) * rrRatio // 0.75x ATR take profit
// Calculate position size based on risk
equity = strategy.equity
riskAmount = equity * riskPerTrade
qtyLong = riskAmount / (close - longStopLoss)
qtyShort = riskAmount / (shortStopLoss - close)
// Long Trade
if (longCondition)
strategy.entry("Long", strategy.long, qty=qtyLong)
strategy.exit("Take Profit/Stop Loss", from_entry="Long", limit=longTakeProfit, stop=longStopLoss)
// Short Trade
if (shortCondition)
strategy.entry("Short", strategy.short, qty=qtyShort)
strategy.exit("Take Profit/Stop Loss", from_entry="Short", limit=shortTakeProfit, stop=shortStopLoss)
// Plot Bollinger Bands
plot(upperBand, color=color.red, linewidth=2, title="Upper Bollinger Band")
plot(lowerBand, color=color.green, linewidth=2, title="Lower Bollinger Band")
plot(basis, color=color.gray, linewidth=2, title="Bollinger Basis")
// Plot RSI for visual confirmation
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.green)
plot(rsi, color=color.purple, title="RSI")