
रणनीति एक अनुकूलन ट्रेडिंग प्रणाली है जिसमें ट्रेंड ट्रैकिंग और स्पेस ट्रेडिंग शामिल है। प्रणाली एडीएक्स संकेतक के माध्यम से बाजार की स्थिति को गतिशील रूप से पहचानती है, ट्रेंडिंग मार्केट और ऑब्जेक्टिव मार्केट में अलग-अलग ट्रेडिंग रणनीतियों का उपयोग करती है। ट्रेंडिंग मार्केट में, रणनीति आरएसआई और एमएसीडी की पुष्टि के साथ चलती औसत क्रॉस सिग्नल का उपयोग करती है; ऑब्जेक्टिव मार्केट में, रणनीति आरएसआई ओवरबॉट ओवरसेल सिग्नल के साथ ब्रिनबैंड ब्रेक का उपयोग करके ट्रेडिंग सिस्टम का उपयोग करती है। इसमें एटीआर-आधारित डायनामिक स्टॉप लॉस ब्रेक भी शामिल है, जो जोखिम को प्रभावी ढंग से नियंत्रित करता है।
रणनीति के केंद्र में बाजार की स्थिति की पहचान करने का तंत्र है। जब ADX 25 से अधिक होता है, तो यह एक ट्रेंडिंग बाजार के रूप में निर्धारित किया जाता है, और इस समय ट्रेंड ट्रैकिंग रणनीति को चालू किया जाता हैः
जब ADX 25 के बराबर या उससे कम हो और यह एक अस्थिर बाजार के रूप में पहचाना जाता है, तो अंतराल ट्रेडिंग रणनीति को सक्षम करेंः
स्टॉप लॉस स्टॉप एटीआर के गतिशील गुणांक के साथ सेट किया गया है, स्टॉप लॉस 1.5 गुना एटीआर है, और स्टॉप लॉस 3 गुना एटीआर है।
रणनीति बाजार की स्थिति की गतिशील पहचान और तदनुसार रणनीति स्विच के माध्यम से विभिन्न बाजार की परिस्थितियों के लिए अनुकूलन को पूरा करती है। कई तकनीकी संकेतकों के संयोजन और गतिशील जोखिम नियंत्रण तंत्र के माध्यम से, रणनीति में बेहतर व्यावहारिकता है। हालांकि, सिग्नल लेगिंग और झूठी सफलता जैसे जोखिमों पर ध्यान देने की आवश्यकता है। यह सलाह दी जाती है कि वास्तविक क्षेत्र में पर्याप्त परीक्षण और पैरामीटर अनुकूलन किया जाए।
/*backtest
start: 2024-09-01 00:00:00
end: 2025-02-19 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("Trend vs Range Trading - Fully Fixed for v6", overlay=true)
// 🔹 Moving Averages (SMA 50 & 200)
sma50 = ta.sma(close, 50)
sma200 = ta.sma(close, 200)
// 🔹 Proper ADX Calculation (With Corrected ta.dmi() Parameters)
dmiLength = 14
adxSmoothing = 14
[dmiPlus, dmiMinus, adx] = ta.dmi(dmiLength, adxSmoothing)
// 🔹 Bollinger Bands Calculation (Fixed for v6)
bb_length = 20
bb_mult = 2.0
bb_basis = ta.sma(close, bb_length)
bb_dev = ta.stdev(close, bb_length)
bb_upper = bb_basis + (bb_mult * bb_dev)
bb_lower = bb_basis - (bb_mult * bb_dev)
// 🔹 Additional Indicators (RSI & MACD)
rsi = ta.rsi(close, 14)
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
// 🔹 ATR for Stop Loss & Take Profit
atr = ta.atr(14)
stop_loss_mult = 1.5 // Stop Loss Multiplier
take_profit_mult = 3.0 // Take Profit Multiplier
// 🔹 Trend vs Range Market Detection
is_trending = adx > 25
// 🔹 Trend Following Strategy (SMA Cross & Confirmation)
long_condition_trend = is_trending and ta.crossover(sma50, sma200) and rsi > 50 and macdLine > signalLine
short_condition_trend = is_trending and ta.crossunder(sma50, sma200) and rsi < 50 and macdLine < signalLine
// 🔹 Range Trading Strategy (Bollinger Bands & RSI Confirmation)
long_condition_range = not is_trending and ta.crossover(close, bb_lower) and rsi < 40
short_condition_range = not is_trending and ta.crossunder(close, bb_upper) and rsi > 60
// 🔹 Stop Loss & Take Profit Calculations
long_stop_loss = close - (atr * stop_loss_mult)
long_take_profit = close + (atr * take_profit_mult)
short_stop_loss = close + (atr * stop_loss_mult)
short_take_profit = close - (atr * take_profit_mult)
// 🔹 Execute Trades (With Stop Loss & Take Profit)
if long_condition_trend
strategy.entry("Long_Trend", strategy.long)
strategy.exit("Exit_Long_Trend", from_entry="Long_Trend", stop=long_stop_loss, limit=long_take_profit)
if short_condition_trend
strategy.entry("Short_Trend", strategy.short)
strategy.exit("Exit_Short_Trend", from_entry="Short_Trend", stop=short_stop_loss, limit=short_take_profit)
if long_condition_range
strategy.entry("Long_Range", strategy.long)
strategy.exit("Exit_Long_Range", from_entry="Long_Range", stop=long_stop_loss, limit=long_take_profit)
if short_condition_range
strategy.entry("Short_Range", strategy.short)
strategy.exit("Exit_Short_Range", from_entry="Short_Range", stop=short_stop_loss, limit=short_take_profit)
// 🔹 Visual Indicators & Background Color (Trend vs Range)
bgcolor(is_trending ? color.green : color.blue)
// 🔹 Plot Moving Averages & Bollinger Bands
plot(sma50, color=color.blue, title="SMA 50")
plot(sma200, color=color.red, title="SMA 200")
plot(bb_upper, color=color.green, title="BB Upper")
plot(bb_lower, color=color.orange, title="BB Lower")