यह रणनीति 15 मिनट की समय सीमा पर आधारित एक उच्च आवृत्ति वाली ट्रेडिंग रणनीति है। यह सटीक व्यापार संकेत कैप्चर और गतिशील जोखिम प्रबंधन प्राप्त करने के लिए घातीय चलती औसत (ईएमए), सापेक्ष शक्ति सूचकांक (आरएसआई), औसत दिशात्मक सूचकांक (एडीएक्स), और औसत सच्ची सीमा (एटीआर) सहित कई तकनीकी संकेतकों को जोड़ती है। रणनीति में बाजार की स्थिति और ट्रेडिंग संकेतों की वास्तविक समय की निगरानी के लिए एक स्पष्ट विज़ुअलाइज़ेशन डिज़ाइन है।
मुख्य तर्क ट्रेडिंग सिग्नल उत्पन्न करने के लिए तेज ईएमए (9 अवधि) और धीमी ईएमए (21 अवधि) के क्रॉसओवर पर आधारित है। आरएसआई (14 अवधि) ओवरबॉट/ओवरसोल्ड जोन को फ़िल्टर करता है, एडीएक्स (14 अवधि) ट्रेंड की ताकत की पुष्टि करता है, और एटीआर (14 अवधि) गतिशील रूप से स्टॉप-लॉस और टेक-प्रॉफिट स्तर निर्धारित करता है। कई तकनीकी संकेतकों का संयोजन सिग्नल विश्वसनीयता सुनिश्चित करता है। प्रवेश शर्तों में शामिल हैंः आरएसआई 70 से नीचे और एडीएक्स 20 से ऊपर के साथ धीमी ईएमए से ऊपर लंबी - तेज ईएमए पार करता है; शॉर्ट - तेज ईएमए धीमी ईएमए से नीचे आरएसआई 30 से ऊपर और एडीएक्स 20 से ऊपर के साथ पार करता है। एटीआर-आधारित गतिशील स्टॉप-लॉस और ले-प्रॉफिट स्तरों के माध्यम से निकास का प्रबंधन किया जाता है।
रणनीति कई तकनीकी संकेतकों के तालमेल के माध्यम से उच्च आवृत्ति व्यापार में संकेत कैप्चर और जोखिम नियंत्रण के बीच संतुलन प्राप्त करती है। स्पष्ट दृश्य डिजाइन और व्यापक स्वचालन समर्थन इसे अत्यधिक व्यावहारिक बनाते हैं। निरंतर अनुकूलन और जोखिम प्रबंधन सुधारों के माध्यम से, रणनीति विभिन्न बाजार वातावरणों में स्थिर प्रदर्शन के लिए वादा करती है। जबकि जोखिम मौजूद हैं, उन्हें उचित पैरामीटर सेटिंग्स और जोखिम नियंत्रण उपायों के माध्यम से नियंत्रित किया जा सकता है। सफल रणनीति कार्यान्वयन के लिए व्यापारियों को बाजार की गहरी समझ रखने और जोखिम पर निरंतर ध्यान रखने की आवश्यकता होती है।
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-25 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Scalping BTC Ottimizzato - Grafica Chiara", shorttitle="Scalp BTC Opt", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10) // === 📊 INPUTS === // 📈 Medie Mobili emaFastLength = input.int(9, title="EMA Veloce", minval=1) emaSlowLength = input.int(21, title="EMA Lenta", minval=1) // 💡 RSI rsiLength = input.int(14, title="RSI Length", minval=1) rsiOverbought = input.int(70, title="RSI Overbought") rsiOversold = input.int(30, title="RSI Oversold") // 📊 ATR (Stop Loss e Take Profit) atrLength = input.int(14, title="ATR Length", minval=1) stopATR = input.float(1.5, title="Stop Loss (ATR Multiplo)", step=0.1) takeProfitATR = input.float(2.0, title="Take Profit (ATR Multiplo)", step=0.1) // 🔀 ADX adxLength = input.int(14, title="ADX Length", minval=1) adxSmoothing = input.int(14, title="ADX Smoothing", minval=1) adxThreshold = input.int(20, title="Soglia ADX per Trend Forte", minval=1) // === 📊 CALCOLI PRINCIPALI === // 📈 Medie Mobili emaFast = ta.ema(close, emaFastLength) emaSlow = ta.ema(close, emaSlowLength) // 💡 RSI rsi = ta.rsi(close, rsiLength) // 📊 ATR atr = ta.atr(atrLength) // 🔀 ADX tramite DMI con Smoothing [adx, diPlus, diMinus] = ta.dmi(adxLength, adxSmoothing) // === 📊 CONDIZIONI LONG E SHORT === // ✅ Long: EMA Veloce incrocia EMA Lenta al rialzo, RSI sotto 70, ADX > 20 longCondition = (ta.crossover(emaFast, emaSlow)) and (rsi < rsiOverbought) and (adx > adxThreshold) // 🔻 Short: EMA Veloce incrocia EMA Lenta al ribasso, RSI sopra 30, ADX > 20 shortCondition = (ta.crossunder(emaFast, emaSlow)) and (rsi > rsiOversold) and (adx > adxThreshold) // 📉 Stop Loss e Take Profit Dinamici longStop = strategy.position_avg_price - (atr * stopATR) longTarget = strategy.position_avg_price + (atr * takeProfitATR) shortStop = strategy.position_avg_price + (atr * stopATR) shortTarget = strategy.position_avg_price - (atr * takeProfitATR) // === 🚀 INGRESSO E USCITA === // 🚦 Ingresso LONG if (longCondition and strategy.position_size == 0) strategy.entry("Long", strategy.long) strategy.exit("TakeProfit/StopLoss Long", stop=longStop, limit=longTarget) // 🚦 Ingresso SHORT if (shortCondition and strategy.position_size == 0) strategy.entry("Short", strategy.short) strategy.exit("TakeProfit/StopLoss Short", stop=shortStop, limit=shortTarget) // 🛑 USCITA MANUALE BASATA SU RSI if (rsi > rsiOverbought and strategy.position_size > 0) strategy.close("Long", comment="RSI Overbought Exit") if (rsi < rsiOversold and strategy.position_size < 0) strategy.close("Short", comment="RSI Oversold Exit") // === 📊 VISUALIZZAZIONE GRAFICA OTTIMIZZATA === // 📈 MEDIE MOBILI ANCORATE ALLE CANDELE plot(emaFast, title="EMA Veloce", color=color.blue, linewidth=2) plot(emaSlow, title="EMA Lenta", color=color.red, linewidth=2) // 📊 SEGNALI VISIVI ANCORATI ALLE CANDELE plotshape(longCondition, title="Segnale Long", style=shape.triangleup, location=location.belowbar, color=color.green, text="Long", size=size.small) plotshape(shortCondition, title="Segnale Short", style=shape.triangledown, location=location.abovebar, color=color.red, text="Short", size=size.small) // 📊 RSI (Pannello Separato) var float rsiPanel = na rsiPanel := rsi plot(rsiPanel, title="RSI", color=color.orange, linewidth=2) hline(rsiOverbought, "RSI Overbought", color=color.red, linestyle=hline.style_dotted) hline(rsiOversold, "RSI Oversold", color=color.green, linestyle=hline.style_dotted) // 📊 ADX (Pannello Separato) var float adxPanel = na adxPanel := adx plot(adxPanel, title="ADX", color=color.blue, linewidth=2) hline(adxThreshold, "ADX Soglia", color=color.gray, linestyle=hline.style_dotted) // 📊 ATR (Pannello Separato) var float atrPanel = na atrPanel := atr plot(atrPanel, title="ATR", color=color.purple, linewidth=2) // 🔔 ALERT alertcondition(longCondition, title="Segnale Long", message="Entra Long Manualmente!") alertcondition(shortCondition, title="Segnale Short", message="Entra Short Manualmente!")