यह रणनीति स्टोकास्टिक ऑसिलेटर को एक मूविंग एवरेज के साथ जोड़ती है, स्टोकास्टिक संकेतक की ओवरबॉट और ओवरसोल्ड स्थितियों और मूविंग एवरेज की प्रवृत्ति का निरीक्षण करके ट्रेडिंग सिग्नल उत्पन्न करती है। यह एक छोटा संकेत तब उत्पन्न करता है जब स्टोकास्टिक संकेतक ओवरबोल्ड क्षेत्र में होता है और मूविंग एवरेज नीचे की ओर होता है, और एक लंबा संकेत जब ओवरसोल्ड क्षेत्र में होता है और मूविंग एवरेज ऊपर की ओर होता है। इसके अलावा, रणनीति एक स्टोकास्टिक संकेतक फ़िल्टर पेश करती है, जो एक निश्चित संख्या में के लाइनों के लिए 50 से नीचे रहने के बाद स्टोकास्टिक के ट्रेडिंग लाइन डी लाइन को पार करने पर संबंधित संकेत भी उत्पन्न कर सकती है। रणनीति जोखिम को नियंत्रित करने के लिए स्टॉप लॉस भी सेट करती है।
स्टोकैस्टिक ऑसिलेटर की गणना करके K रेखा और D रेखा प्राप्त करें। मापदंड समायोज्य हैं, जिसमें स्टोकैस्टिक अवधि, K चिकनाई, D चिकनाई, ओवरबॉट जोन और ओवरसोल्ड जोन शामिल हैं।
चलती औसत की गणना, डिफ़ॉल्ट रूप से समापन मूल्य का उपयोग करके, समायोज्य अवधि के साथ करें।
स्टोकैस्टिक सूचक फ़िल्टर की गणना करें. जब K रेखा 50 से नीचे रहती है, तो यह एक निश्चित संख्या में K रेखाओं के लिए फ़िल्टर संकेत उत्पन्न करती है.
एक लंबा संकेत उत्पन्न करने के लिए शर्तेंः स्टोकैस्टिक संकेतक ओवरसोल्ड क्षेत्र में ऊपर की ओर बढ़ता है या स्टोकैस्टिक संकेतक फ़िल्टर संकेत और चलती औसत ऊपर की ओर है।
शॉर्ट सिग्नल उत्पन्न करने के लिए शर्तेंः स्टोकेस्टिक इंडिकेटर ओवरबोल्ड जोन में नीचे की ओर क्रॉस करता है या स्टोकेस्टिक इंडिकेटर फ़िल्टर सिग्नल और मूविंग एवरेज नीचे की ओर है।
लंबी पोजीशन बंद करने की स्थितिः स्टोकैस्टिक K लाइन चलती औसत के ऊपर पार करती है और औसत नीचे की ओर मुड़ता है।
शॉर्ट पोजीशन बंद करने की स्थितिः स्टोकैस्टिक K लाइन चलती औसत से नीचे जाती है और औसत ऊपर की ओर मुड़ता है।
स्थिति प्रबंधन धन का एक निश्चित प्रतिशत, डिफ़ॉल्ट रूप से 10% का उपयोग करता है। यह डिफ़ॉल्ट रूप से स्टॉप लॉस, 2% भी सेट करता है।
ओवरबॉट/ओवरसोल्ड और ट्रेंड की विशेषताओं को मिलाकर, यह एक ट्रेंड में पीछा कर सकता है और मार सकता है।
स्टोकैस्टिक सूचक फ़िल्टर उतार-चढ़ाव वाले बाजारों में लगातार व्यापार करने से बचाता है।
स्टॉप लॉस सेटिंग ड्रॉडाउन को नियंत्रित करने में मदद करती है।
कोड संरचना स्पष्ट है, पैरामीटर समायोज्य हैं, और यह आगे के अनुकूलन के लिए उपयुक्त है।
स्टोकैस्टिक ऑसिलेटर में एक निश्चित विलंब होता है, जो सर्वोत्तम खरीद और बिक्री बिंदुओं को याद कर सकता है।
रुझान मोड़ बिंदुओं पर आदेशों को कैप्चर करने की सटीकता खराब है, और स्टॉप-लॉस की आवृत्ति अधिक हो सकती है।
लगातार घाटे के मामले में फिक्स्ड रेशियो फंड प्रबंधन में बड़ा ड्रॉडाउन होता है।
सिग्नल की सटीकता में सुधार के लिए अधिक फ़िल्टरिंग स्थितियां, जैसे कि मूल्य व्यवहार, अन्य सहायक संकेतक आदि पेश करें।
संकेतों को मजबूत और कमजोर में विभाजित करें, और जब मजबूत संकेत दिखाई देते हैं तो पदों को बढ़ाएं।
अधिक बाजार आंदोलनों को पकड़ने के लिए रुझान मोड़ बिंदुओं के निर्णय को अनुकूलित करें।
स्थिति प्रबंधन को अनुकूलित करना, परिवर्तनीय लाभ और हानि अनुपात आदि के आधार पर स्थिति को समायोजित करने पर विचार करना।
इष्टतम मापदंडों को खोजने के लिए विभिन्न मापदंड संयोजनों का प्रयास करें।
स्टोकैस्टिक ऑसिलेटर पर आधारित, यह रणनीति रुझानों का न्याय करने के लिए मूविंग एवरेज को जोड़ती है, जबकि स्टोकैस्टिक इंडिकेटर के स्वयं के फ़िल्टरिंग फ़ंक्शन का भी उपयोग करती है, अपेक्षाकृत विश्वसनीय ट्रेडिंग सिग्नल उत्पन्न करती है। रणनीति का समग्र विचार स्पष्ट है और ट्रेंडिंग बाजारों में उपयोग के लिए उपयुक्त है। हालांकि, स्टोकैस्टिक ऑसिलेटर के लेग के कारण, बाजार के मोड़ बिंदुओं पर इसका प्रदर्शन खराब हो सकता है, और इसकी समग्र अनुकूलन क्षमता और मजबूती को आगे की जांच की आवश्यकता है। भविष्य में, रणनीति को फ़िल्टरिंग स्थितियों, स्थिति प्रबंधन और पैरामीटर अनुकूलन जैसे पहलुओं से बेहतर बनाया जा सकता है।
/*backtest start: 2024-03-01 00:00:00 end: 2024-03-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"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/ // © Pablo_2uc //@version=5 strategy("Estrategia Estocástico + MA con Stop Loss y Filtro Estocástico", overlay=true) // Parámetros del Estocástico length = input.int(14, title="Longitud Estocástico") smoothK = input.int(3, title="Suavizado K") smoothD = input.int(3, title="Suavizado D") oversold = input.int(20, title="Sobreventa") overbought = input.int(80, title="Sobrecompra") // Parámetros de la Media Móvil maLength = input.int(9, title="Longitud MA") maSource = input(close, title="Fuente MA") // Capital inicial capital = 5000 // Tamaño de posición (10% del capital) positionSize = capital * 0.10 // Stop Loss (2% del precio de entrada) stopLossPercent = input.int(2, title="Stop Loss (%)") / 100 // Número de ruedas para el filtro estocástico filterPeriods = input.int(12, title="Ruedas de Filtro Estocástico") // Cálculo del Estocástico k = ta.sma(ta.stoch(close, high, low, length), smoothK) d = ta.sma(k, smoothD) // Cálculo de la Media Móvil ma = ta.sma(maSource, maLength) // Filtro estocástico stochasticFilter = ta.sma(k > 50 ? 1 : 0, filterPeriods) // Condiciones de entrada en largo y corto longCondition = (ta.crossunder(k, oversold) or ta.crossover(stochasticFilter, 1)) and ma > ma[1] shortCondition = (ta.crossover(k, overbought) or ta.crossover(stochasticFilter, 1)) and ma < ma[1] // Condiciones de salida exitLongCondition = ta.crossover(k, ma) and ma < ma[1] exitShortCondition = ta.crossunder(k, ma) and ma > ma[1] // Estrategia if (longCondition) strategy.entry("Long", strategy.long, qty=positionSize) strategy.exit("Exit Long", "Long", stop=close * (1 - stopLossPercent)) if (shortCondition) strategy.entry("Short", strategy.short, qty=positionSize) strategy.exit("Exit Short", "Short", stop=close * (1 + stopLossPercent)) // Cierre de posiciones if (exitLongCondition) strategy.close("Long") if (exitShortCondition) strategy.close("Short")