यह रणनीति कई तकनीकी संकेतक फ़िल्टरों पर आधारित एक प्रवृत्ति सफलता ट्रेडिंग प्रणाली है। यह कई तकनीकी संकेतकों को जोड़ती है, जिसमें एक्सपोनेंशियल मूविंग एवरेज (ईएमए), वॉल्यूम वेटेड एवरेज प्राइस (वीडब्ल्यूएपी), रिलेटिव स्ट्रेंथ इंडेक्स (आरएसआई), एवरेज डायरेक्शनल इंडेक्स (एडीएक्स), आदि शामिल हैं, ताकि कई संकेत पुष्टि के माध्यम से झूठे ब्रेकआउट को फ़िल्टर किया जा सके और ट्रेडिंग सटीकता में सुधार किया जा सके। रणनीति में उच्च समय सीमा प्रवृत्ति निर्णय भी शामिल है और प्रभावी जोखिम नियंत्रण के लिए एटीआर-आधारित गतिशील स्टॉप-लॉस और लाभ लेने की योजना को नियोजित किया गया है।
रणनीति का मूल तर्क निम्नलिखित प्रमुख तत्वों पर आधारित है:
यह रणनीति कई तकनीकी संकेतकों के तालमेल के माध्यम से एक अपेक्षाकृत पूर्ण ट्रेडिंग प्रणाली का निर्माण करती है। इसका मुख्य लाभ पूंजी सुरक्षा की रक्षा के लिए वैज्ञानिक जोखिम प्रबंधन विधियों का उपयोग करते हुए बहु-आयामी संकेत पुष्टि के माध्यम से व्यापार सटीकता में सुधार में निहित है। हालांकि कुछ सीमाएं मौजूद हैं, निरंतर अनुकूलन और सुधार के माध्यम से, इस रणनीति में वास्तविक व्यापार में स्थिर रिटर्न प्राप्त करने की क्षमता है।
/*backtest start: 2024-11-19 00:00:00 end: 2024-12-18 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Trend-Filtered Scalping Strategy", overlay=true, shorttitle="TFSS") // Inputs emaShort = input.int(9, title="EMA Short", minval=1) emaLong = input.int(21, title="EMA Long", minval=1) rsiLength = input.int(14, title="RSI Length", minval=1) atrLength = input.int(14, title="ATR Length", minval=1) adxLength = input.int(20, title="ADX Length", minval=1) adxSmoothing = input.int(14, title="ADX Smoothing", minval=1) volMultiplier = input.float(1.5, title="Volume Spike Multiplier", minval=1.0) riskPercent = input.float(1, title="Risk % of Equity", minval=0.1, step=0.1) // Higher Time Frame for Trend Filter htfTimeframe = input.timeframe("15", title="Higher Time Frame") ema50HTF = request.security(syminfo.tickerid, htfTimeframe, ta.ema(close, 50)) // Indicators ema9 = ta.ema(close, emaShort) ema21 = ta.ema(close, emaLong) vwap = ta.vwap(close) rsi = ta.rsi(close, rsiLength) atr = ta.atr(atrLength) volAvg = ta.sma(volume, 10) // ADX Calculation with Smoothing [_, _, adx] = ta.dmi(adxLength, adxSmoothing) // Entry Conditions longCondition = (ta.crossover(ema9, ema21) and close > vwap and rsi > 55 and adx > 25 and close > ema50HTF and volume > volAvg * volMultiplier) shortCondition = (ta.crossunder(ema9, ema21) and close < vwap and rsi < 45 and adx > 25 and close < ema50HTF and volume > volAvg * volMultiplier) // Position Sizing Based on Risk % capitalPerTrade = (strategy.equity * (riskPercent / 100)) / atr longStop = close - 1.5 * atr longTarget = close + 3 * atr shortStop = close + 1.5 * atr shortTarget = close - 3 * atr // Entry Logic if longCondition and not strategy.opentrades strategy.entry("Long", strategy.long, qty=capitalPerTrade) strategy.exit("Exit Long", from_entry="Long", stop=longStop, limit=longTarget) if shortCondition and not strategy.opentrades strategy.entry("Short", strategy.short, qty=capitalPerTrade) strategy.exit("Exit Short", from_entry="Short", stop=shortStop, limit=shortTarget) // Alerts alertcondition(longCondition, title="Long Entry Alert", message="Long Condition Triggered!") alertcondition(shortCondition, title="Short Entry Alert", message="Short Condition Triggered!") // Plot Indicators plot(ema9, title="EMA 9", color=color.green) plot(ema21, title="EMA 21", color=color.red) plot(vwap, title="VWAP", color=color.blue) plot(ema50HTF, title="HTF EMA 50", color=color.purple) hline(55, "RSI Long Threshold", color=color.green) hline(45, "RSI Short Threshold", color=color.red)