##अवलोकन मूविंग एवरेज रिबाउंड रणनीति एक रणनीति है जो समर्थन और प्रतिरोध स्तरों के आसपास व्यापार करने के लिए तकनीकी संकेतकों और मूल्य पैटर्न को जोड़ती है। यह रणनीति बाजार की प्रवृत्ति की दिशा की पहचान करने के लिए मूविंग एवरेज का उपयोग करती है, मोड़ बिंदुओं को निर्धारित करने में सहायता करने के लिए पैटर्न संकेतकों का उपयोग करती है, और काउंटर-ट्रेंड ट्रेडिंग के लिए प्रमुख समर्थन और प्रतिरोध स्तरों को स्पॉट करने के लिए पिछले स्विंग उच्च / निम्न है।
व्यापार प्रविष्टियों को निर्धारित करने के लिए मुख्य चरण हैंः
ट्रेंड की दिशा का आकलन करने के लिए एलीगेटर ट्रिपल मूविंग एवरेज इंडिकेटर का उपयोग करें। लिप लाइन्स को पार करने से मजबूत गति का संकेत मिलता है।
ओवरबॉट/ओवरसोल्ड क्षेत्रों में पीक-थ्रू पैटर्न संकेतक के साथ संभावित रिवर्स जोन की पहचान करें। विशिष्ट उच्च/निम्न स्तरों को तोड़ने से संभावित रिवर्स का संकेत मिलता है।
प्रमुख स्तरों के आसपास विपरीत प्रवृत्ति व्यापार प्रवेश बिंदुओं को निर्धारित करने के लिए समर्थन/प्रतिरोध के साथ संयोजन करें।
समग्र दीर्घकालिक प्रवृत्ति निर्धारित करने में सहायता करने के लिए EMAS का उपयोग करें। प्रवृत्ति वाले बाजारों में सीमाबद्ध और प्रवृत्ति के बाद औसत प्रतिगमन का उपयोग करें।
एकल व्यापार हानि राशि को नियंत्रित करने के लिए ट्रैलिंग स्टॉप लॉस का उपयोग करें।
इस रणनीति के फायदे:
कई संकेतकों के संकेतों का संयोजन सटीकता में सुधार करता है।
प्रमुख समर्थन/प्रतिरोध क्षेत्रों से विरोधी प्रवृत्ति का व्यापार करने की उच्च संभावना है।
एकल ट्रेडों पर होने वाले घाटे को शामिल करते हुए ट्रेडिंग स्टॉप लॉस।
जोखिमः
अधिक संकेतकों से व्यापार की आवृत्ति बढ़ सकती है और लेनदेन लागत नियंत्रण की आवश्यकता होती है।
असफल समर्थन/प्रतिरोध स्तर सबसे बड़ा जोखिम हैं. कीमत अपेक्षित रूप से उलट नहीं हो सकती है जिससे बड़े नुकसान हो सकते हैं.
भारी अस्थिर चाल के दौरान स्टॉप लॉस लिया जा सकता है।
सुधार के क्षेत्र:
सर्वोत्तम प्रदर्शन संयोजन खोजने के लिए संकेतकों के बीच भारों का अनुकूलन करें।
मुख्य समर्थन/प्रतिरोध स्तर की सटीकता में सुधार के लिए मशीन लर्निंग का उपयोग करें।
अस्थिर लेकिन कम मात्रा वाले वातावरण में ट्रेडों से बचने के लिए वॉल्यूम संकेतक जोड़ें।
प्रभावशीलता और अनावश्यक स्टॉप को संतुलित करने के लिए अनुकूलनशील स्टॉप लॉस मॉडल को परिष्कृत करें।
संक्षेप में, मूविंग एवरेज रिबाउंड रणनीति में चलती औसत, मूल्य पैटर्न और प्रविष्टियों के लिए समर्थन / प्रतिरोध सहित संकेतकों का एक संगम का उपयोग किया जाता है। कई संकेतों से उच्च सटीकता के साथ एक विशिष्ट तकनीकी रणनीति। प्रमुख स्तरों की विफलता और स्टॉप लॉस फिसलने के आसपास जोखिमों की निगरानी करें। संकेतक भार, मशीन लर्निंग और मात्रा पर आगे अनुकूलन प्रदर्शन को बढ़ा सकता है।
/*backtest start: 2022-12-21 00:00:00 end: 2023-12-27 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © vhurtadocos //@version=5 strategy('Estrategia EMA Resistencia Soporte', shorttitle='Estrategia EMA RESISTENCIA Y SOPORTE', overlay=true, margin_long=100, margin_short=100, pyramiding = 10 ) //INICIO DE CONDICIONES BASICAS /// Alligator smma(src, length) => smma = 0.0 sma_1 = ta.sma(src, length) smma := na(smma[1]) ? sma_1 : (smma[1] * (length - 1) + src) / length smma lipsLength = input(title='🐲 Lips Length', defval=5) teethLength = input(title='🐲 Teeth Length', defval=8) jawLength = input(title='🐲 Jaw Length', defval=13) lipsOffset = input(title='🐲 Lips Offset', defval=3) teethOffset = input(title='🐲 Teeth Offset', defval=5) jawOffset = input(title='🐲 Jaw Offset', defval=8) lips = smma(hl2, lipsLength) teeth = smma(hl2, teethLength) jaw = smma(hl2, jawLength) // Fractals n = input.int(title='📌 Period', defval=2, minval=2) upFractal = high[n + 2] < high[n] and high[n + 1] < high[n] and high[n - 1] < high[n] and high[n - 2] < high[n] or high[n + 3] < high[n] and high[n + 2] < high[n] and high[n + 1] == high[n] and high[n - 1] < high[n] and high[n - 2] < high[n] or high[n + 4] < high[n] and high[n + 3] < high[n] and high[n + 2] == high[n] and high[n + 1] <= high[n] and high[n - 1] < high[n] and high[n - 2] < high[n] or high[n + 5] < high[n] and high[n + 4] < high[n] and high[n + 3] == high[n] and high[n + 2] == high[n] and high[n + 1] <= high[n] and high[n - 1] < high[n] and high[n - 2] < high[n] or high[n + 6] < high[n] and high[n + 5] < high[n] and high[n + 4] == high[n] and high[n + 3] <= high[n] and high[n + 2] == high[n] and high[n + 1] <= high[n] and high[n - 1] < high[n] and high[n - 2] < high[n] dnFractal = low[n + 2] > low[n] and low[n + 1] > low[n] and low[n - 1] > low[n] and low[n - 2] > low[n] or low[n + 3] > low[n] and low[n + 2] > low[n] and low[n + 1] == low[n] and low[n - 1] > low[n] and low[n - 2] > low[n] or low[n + 4] > low[n] and low[n + 3] > low[n] and low[n + 2] == low[n] and low[n + 1] >= low[n] and low[n - 1] > low[n] and low[n - 2] > low[n] or low[n + 5] > low[n] and low[n + 4] > low[n] and low[n + 3] == low[n] and low[n + 2] == low[n] and low[n + 1] >= low[n] and low[n - 1] > low[n] and low[n - 2] > low[n] or low[n + 6] > low[n] and low[n + 5] > low[n] and low[n + 4] == low[n] and low[n + 3] >= low[n] and low[n + 2] == low[n] and low[n + 1] >= low[n] and low[n - 1] > low[n] and low[n - 2] > low[n] plotshape(title='📌 Up-Fractal', series=upFractal, style=shape.triangleup, location=location.abovebar, offset=-2, color=color.new(color.olive, 0), text="R") plotshape(title='📌 Down-Fractal', series=dnFractal, style=shape.triangledown, location=location.belowbar, offset=-2, color=color.new(color.maroon, 0), text="S", textcolor = color.new(color.maroon,0)) // Resistance, Support showRS = input(title='⤒⤓ Show Res-Sup', defval=true) lengthRS = input(title='⤒⤓ Res-Sup Length', defval=13) highRS = ta.valuewhen(high >= ta.highest(high, lengthRS), high, 0) lowRS = ta.valuewhen(low <= ta.lowest(low, lengthRS), low, 0) plot(title='⤒ Resistance', series=showRS and highRS ? highRS : na, color=highRS != highRS[1] ? na : color.olive, linewidth=1, offset=0) plot(title='⤓ Support', series=showRS and lowRS ? lowRS : na, color=lowRS != lowRS[1] ? na : color.maroon, linewidth=1, offset=0) // EMA de 8 períodos ema8 = ta.ema(close, 8) plot(title='ema8', series=ema8, color=color.new(#dbef41, 0), offset=0) // EMA de 21 períodos ema21 = ta.ema(close, 21) plot(title='ema21', series=ema21, color=color.new(#e12c0c, 0), offset=0) // EMA de 50 períodos ema50 = ta.ema(close, 50) plot(title='ema50', series=ema50, color=color.new(#3419de, 0), offset=0) // EMA de 200 períodos ema200 = ta.ema(close, 200) plot(title='ema200', series=ema200, color=color.new(#f6f6f4, 0), offset=0) // Definiciones originales... // ... (incluyendo tus definiciones de Alligator, Fractals, etc.) // Guardamos el último soporte y resistencia var float lastSupport = na var float lastResistance = na // Detectando un nuevo soporte y resistencia newSupportDetected = low == lowRS if newSupportDetected lastSupport := low // Lógica de entrada y salida // Condiciones de entrada basadas en soportes recién formados longCondition = low == lowRS if longCondition strategy.entry("Long", strategy.long) // Salida (take profit) cuando detectamos una nueva resistencia después de entrar en una posición long newResistanceDetected = high == highRS if newResistanceDetected and strategy.position_size > 0 strategy.close("Long") // Agregar una condición para el stop loss longStopLossPrice = close * 0.95 if strategy.position_size > 0 and close <= longStopLossPrice strategy.close("Long") // Pintamos los soportes y resistencias plotshape(longCondition, style=shape.triangledown, location=location.belowbar, color=color.red) plotshape(newResistanceDetected, style=shape.triangleup, location=location.abovebar, color=color.green) // Resto del código para plotear las EMAs y fractales // ...