यह रणनीति स्टोकैस्टिक मोमेंटम इंडेक्स (एसएमआई) पर आधारित एक अनुकूलन ट्रेडिंग प्रणाली है। यह एसएमआई संकेतक और इसकी सिग्नल लाइन के बीच क्रॉसओवर का विश्लेषण करके बाजार के रुझानों की भविष्यवाणी करता है, स्वचालित रूप से प्रमुख पदों पर खरीद और बिक्री संकेत उत्पन्न करता है। यह रणनीति डेटा को चिकनी करने और संकेत विश्वसनीयता में सुधार करने के लिए डबल घातीय चलती औसत (ईएमए) का उपयोग करती है। यह प्रणाली विशेष रूप से मध्यम से दीर्घकालिक व्यापार के लिए उपयुक्त है और प्रभावी रूप से प्रमुख बाजार प्रवृत्ति उलट बिंदुओं को पकड़ती है।
एसएमआई की गणना के माध्यम से मूल्य गति को मापने में रणनीति का मूल निहित है। यह पहले एक विशिष्ट अवधि के भीतर उच्चतम और निम्नतम मूल्य सीमा निर्धारित करता है, फिर इस सीमा के सापेक्ष समापन मूल्य की स्थिति को सामान्य करता है। सापेक्ष सीमा और मूल्य सीमा दोनों पर डबल ईएमए चिकनाई लागू करके, यह अधिक स्थिर एसएमआई मान उत्पन्न करता है। खरीद संकेत तब ट्रिगर किए जाते हैं जब एसएमआई रेखा अपनी संकेत रेखा (एसएमआई ईएमए) के साथ स्वर्ण क्रॉस करती है, जबकि मृत्यु क्रॉस बिक्री संकेतों को ट्रिगर करते हैं। सिग्नल विश्वसनीयता की पुष्टि करने के लिए ओवरबॉट और ओवरसोल्ड जोन (+40/-40) सेट किए जाते हैं।
यह एसएमआई संकेतक पर आधारित एक परिपक्व ट्रेडिंग रणनीति है, जो मजबूत व्यावहारिकता के साथ तकनीकी संकेतक क्रॉसओवर के माध्यम से ट्रेडिंग सिग्नल उत्पन्न करती है। रणनीति के मुख्य फायदे इसके स्पष्ट संकेतों और मजबूत शोर प्रतिरोध में निहित हैं, हालांकि इसमें कुछ अंतर्निहित अंतराल है। वॉल्यूम सत्यापन और प्रवृत्ति फ़िल्टरिंग जैसे अनुकूलन के माध्यम से, रणनीति की स्थिरता और विश्वसनीयता को और बढ़ाया जा सकता है। यह रणनीति विशेष रूप से मध्यम से दीर्घकालिक रुझानों को ट्रैक करने के लिए उपयुक्त है और व्यवस्थित ट्रेडिंग सिस्टम बनाने के इच्छुक निवेशकों के लिए एक उत्कृष्ट विकल्प के रूप में कार्य करती है।
/*backtest start: 2024-12-19 00:00:00 end: 2024-12-26 00:00:00 period: 45m basePeriod: 45m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Iban_Boe //@version=6 strategy("SMI Strategy with Signals", "SMI Strategy", overlay=false) // Parámetros del SMI lengthK = input.int(14, "%K Length", minval=1, maxval=15000) lengthD = input.int(3, "%D Length", minval=1, maxval=4999) lengthEMA = input.int(3, "EMA Length", minval=1, maxval=4999) // Función de doble EMA emaEma(source, length) => ta.ema(ta.ema(source, length), length) // Cálculos del SMI highestHigh = ta.highest(lengthK) lowestLow = ta.lowest(lengthK) highestLowestRange = highestHigh - lowestLow relativeRange = close - (highestHigh + lowestLow) / 2 smi = 200 * (emaEma(relativeRange, lengthD) / emaEma(highestLowestRange, lengthD)) smiSignal = ta.ema(smi, lengthEMA) // Gráficos del SMI smiPlot = plot(smi, "SMI", color=color.blue) plot(smiSignal, "SMI-based EMA", color=color.orange) // Level lines hline(40, "Overbought Line", color=color.green) hline(-40, "Oversold Line", color=color.red) hline(0, "Middle Line", color=color.gray) midLinePlot = plot(0, color = na, editable = false, display = display.none) fill(smiPlot, midLinePlot, 120, 40, top_color = color.new(#4caf4f, 50), bottom_color = color.new(color.green, 100), title = "Overbought Gradient Fill") fill(smiPlot, midLinePlot, -40, -120, top_color = color.new(color.red, 100), bottom_color = color.new(color.red, 50), title = "Oversold Gradient Fill") // Señales de compra y venta buySignal = ta.crossover(smi, smiSignal) // Detect crossover sellSignal = ta.crossunder(smi, smiSignal) // Detect crossover // Graficar señales de compra/venta plotshape(series=buySignal, style=shape.labelup, location=location.belowbar, color=color.green, size=size.tiny, title="Señal de Compra") plotshape(series=sellSignal, style=shape.labeldown, location=location.abovebar, color=color.red, size=size.tiny, title="Señal de Venta") // Lógica de la estrategia if (buySignal) strategy.entry("Compra", strategy.long) if (sellSignal) strategy.entry("Venta", strategy.short) // Alertas alertcondition(buySignal, title="Alerta de Compra", message="¡Señal de Compra Detectada!") alertcondition(sellSignal, title="Alerta de Venta", message="¡Señal de Venta Detectada!")