
रणनीति एक अनुकूलन प्रवृत्ति ट्रैकिंग ट्रेडिंग प्रणाली है जिसमें कई तकनीकी संकेतकों को शामिल किया गया है। यह एक समान रेखा प्रणाली (ईएमए), गतिशीलता सूचक (आरएसआई), प्रवृत्ति सूचक (एमएसीडी) और सुपरट्रेंड के संकेतों की पुष्टि करने के लिए है, और इसमें एक पूर्ण जोखिम प्रबंधन तंत्र है, जिसमें स्टॉप, स्टॉप और मोबाइल स्टॉप जैसी विशेषताएं शामिल हैं। रणनीति को बाजार की अस्थिरता को ध्यान में रखते हुए डिजाइन किया गया है, जिससे कई संकेतों के फ़िल्टरिंग और जोखिम नियंत्रण के माध्यम से व्यापार की स्थिरता और विश्वसनीयता में सुधार होता है।
इस रणनीति में सिग्नल की पुष्टि के लिए कई स्तरों का इस्तेमाल किया गया है:
इस रणनीति में बहुआयामी तकनीकी संकेतकों के सामंजस्यपूर्ण संयोजन के माध्यम से एक मजबूत ट्रेडिंग प्रणाली का निर्माण किया गया है। अच्छी तरह से विकसित जोखिम नियंत्रण तंत्र और स्पष्ट ट्रेडिंग तर्क इसे अच्छी व्यावहारिकता प्रदान करते हैं। हालांकि अनुकूलन के लिए कुछ जगह है, लेकिन रणनीति के बुनियादी ढांचे में एक ठोस सैद्धांतिक आधार है, जो निरंतर अनुकूलन और सुधार के माध्यम से अपनी ट्रेडिंग प्रभावशीलता को और बढ़ाने की उम्मीद करता है।
/*backtest
start: 2024-02-22 00:00:00
end: 2025-02-19 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("Optimized BTC Trading Strategy v2", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1)
// Input parameters
emaShort = ta.ema(close, 9)
emaLong = ta.ema(close, 21)
// RSI settings
rsi = ta.rsi(close, 14)
rsiBuyLevel = 40
rsiSellLevel = 60
// MACD settings
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
// Supertrend settings
factor = input.float(3, title="Supertrend Factor")
atrLength = input.int(10, title="ATR Length")
[superTrend, superTrendDirection] = ta.supertrend(factor, atrLength)
// Risk Management (Stop Loss & Take Profit)
stopLossPercent = 0.05 // 5%
takeProfitPercent = 0.10 // 10%
trailingStopPercent = 0.02 // 2% trailing stop for additional security
breakevenBuffer = 0.01 // 1% breakeven buffer
// Fetching average price once to avoid repeated calculations
var float avgPrice = na
if strategy.position_size != 0
avgPrice := strategy.position_avg_price
// Stop Loss & Take Profit Levels
longSL = avgPrice * (1 - stopLossPercent)
longTP = avgPrice * (1 + takeProfitPercent)
shortSL = avgPrice * (1 + stopLossPercent)
shortTP = avgPrice * (1 - takeProfitPercent)
breakevenLevel = avgPrice * (1 + breakevenBuffer)
// Entry Conditions
buyCondition = ta.crossover(emaShort, emaLong) and rsi > rsiBuyLevel and rsi < 70 and (macdLine > signalLine) and superTrendDirection == 1
sellCondition = ta.crossunder(emaShort, emaLong) and rsi < rsiSellLevel and rsi > 30 and (macdLine < signalLine) and superTrendDirection == -1
// Ensure no conflicting trades
if buyCondition and strategy.position_size <= 0
strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", from_entry="Long", limit=longTP, stop=longSL, trail_points=trailingStopPercent * avgPrice)
strategy.exit("Breakeven", from_entry="Long", stop=breakevenLevel)
if sellCondition and strategy.position_size >= 0
strategy.close("Long")
strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", from_entry="Short", limit=shortTP, stop=shortSL, trail_points=trailingStopPercent * avgPrice)
strategy.exit("Breakeven", from_entry="Short", stop=breakevenLevel)
// Plot Buy & Sell signals with trend-based color indicators
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="BUY", size=size.small)
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="SELL", size=size.small)
// Trend Indicator (for better visualization)
plot(superTrend, color=superTrendDirection == 1 ? color.green : color.red, linewidth=2, title="Supertrend")