यह रणनीति ट्रेंड निर्धारित करने और ट्रेडिंग सिग्नल उत्पन्न करने के लिए मूविंग एवरेज और एमएसीडी संकेतक को जोड़ती है। यह एक विशिष्ट ट्रेंड फॉलोअप रणनीति से संबंधित है। यह ट्रेंड की दिशा निर्धारित करने के लिए विभिन्न समय सीमाओं के दो जेएलएसएमए मूविंग एवरेज का उपयोग करता है, और विशिष्ट खरीद और बिक्री संकेत उत्पन्न करने के लिए एमएसीडी क्रॉसओवर। यह इसे अल्पकालिक बाजार शोर से गुमराह होने से बचते हुए मध्यम से दीर्घकालिक रुझानों को प्रभावी ढंग से पकड़ने की अनुमति देता है।
इस रणनीति में निम्नलिखित मुख्य घटक शामिल हैंः
फास्ट ZLSMA और स्लो ZLSMA: विभिन्न समय सीमाओं के ZLSMA चलती औसत की तुलना करने से समग्र प्रवृत्ति दिशा निर्धारित होती है। फास्ट लाइन में 32-पीरियड ZLSMA होता है, और स्लो लाइन में 400-पीरियड ZLSMA होता है। जब फास्ट लाइन स्लो लाइन से ऊपर जाती है, तो यह एक तेजी का संकेत है, और इसके विपरीत।
एमएसीडी संकेतकः एमएसीडी की गणना धीमी रेखा (26-अवधि ईएमए) को तेज रेखा (12-अवधि ईएमए) से घटाकर की जाती है। सिग्नल लाइन एमएसीडी की 9-अवधि ईएमए है। जब एमएसीडी सिग्नल लाइन के ऊपर से गुजरती है, तो यह एक खरीद संकेत है, और जब एमएसीडी सिग्नल लाइन के नीचे से गुजरती है, तो यह एक बिक्री संकेत है।
ट्रेडिंग सिग्नलः खरीद और बिक्री सिग्नल केवल तब उत्पन्न होते हैं जब ZLSMA ट्रेंड की दिशा MACD क्रॉसओवर सिग्नल के साथ संरेखित होती है। विशेष रूप से, जब बैल ट्रेंड MACD गोल्डन क्रॉस के साथ मेल खाता है, और जब मंदी का ट्रेंड MACD डेथ क्रॉस के साथ मेल खाता है, तो शॉर्ट करें।
स्टॉप लॉस और ले लाभः रणनीति में वर्तमान में स्टॉप लॉस और ले लाभ तर्क शामिल नहीं है, जिसे आगे अनुकूलन की आवश्यकता है।
मुख्य प्रवृत्ति को निर्धारित करने के लिए चलती औसत और प्रवेश के समय के लिए एमएसीडी का उपयोग करने का संयोजन प्रभावी रूप से झूठे ब्रेकआउट को फ़िल्टर कर सकता है और अल्पकालिक बाजार शोर से गुमराह होने से बच सकता है।
इस रणनीति के मुख्य लाभ इस प्रकार हैंः
रुझानों को पकड़ना: रुझान की दिशा निर्धारित करने के लिए विभिन्न समय सीमाओं के चलती औसत का उपयोग करने से रुझान के साथ व्यापार करने और मध्यम से दीर्घकालिक रुझानों को प्रभावी ढंग से पकड़ने की अनुमति मिलती है।
शोर को फ़िल्टर करना: एमएसीडी सूचक का उपयोग करने से अल्पकालिक बाजार शोर को फ़िल्टर करने में मदद मिलती है और छोटे बाजारों से भटकने से बचा जाता है।
अनुकूलन योग्य मापदंडः चलती औसत अवधि और एमएसीडी मापदंड अनुकूलन योग्य हैं और विभिन्न बाजारों के लिए अनुकूलित किए जा सकते हैं।
लागू करने में आसानः सभी उपयोग किए जाने वाले संकेतक सामान्य तकनीकी संकेतक हैं। रणनीति तर्क सरल और स्पष्ट है, समझने और लागू करने में आसान है।
नियंत्रित जोखिमः स्पष्ट स्टॉप लॉस और ले लाभ के साथ, प्रत्येक व्यापार के जोखिम और लाभ को नियंत्रित किया जा सकता है।
इस रणनीति के मुख्य जोखिम निम्नलिखित हैंः
गलत रुझान निर्धारणः यदि प्रमुख रुझान को गलत तरीके से निर्धारित किया जाता है, तो सभी ट्रेडों में नुकसान हो सकता है।
अनुचित पैरामीटर अनुकूलन: चलती औसत और एमएसीडी पैरामीटरों को पूरी तरह से परीक्षण और अनुकूलित किया जाना चाहिए, अन्यथा परिणाम असंतोषजनक हो सकते हैं।
स्टॉप लॉस की कमी: वर्तमान में कोई स्टॉप लॉस नहीं है, जिससे ओवरसाइज्ड लॉस का खतरा है।
सीमित लाभ क्षमताः एक प्रवृत्ति के अनुसार रणनीति के रूप में, प्रत्येक व्यापार की लाभ क्षमता सीमित है, जिससे लाभप्रदता बढ़ाने के लिए उच्च मात्रा की आवश्यकता होती है।
उच्च व्यापारिक आवृत्तिः पैरामीटर के अनुचित समायोजन के परिणामस्वरूप अत्यधिक व्यापारिक आवृत्ति, लेनदेन लागत और फिसलन में वृद्धि हो सकती है।
इस रणनीति को निम्नलिखित पहलुओं में और अधिक अनुकूलित किया जा सकता हैः
स्टॉप लॉस तंत्र जोड़ेंः प्रति व्यापार अधिकतम हानि को सख्ती से नियंत्रित करने के लिए उचित स्टॉप लॉस बिंदु सेट करें।
मापदंडों को अनुकूलित करें: इष्टतम चलती औसत और एमएसीडी मापदंड संयोजन खोजने के लिए बैकटेस्ट और अनुकूलन करें।
कम ट्रेडिंग आवृत्तिः ट्रेडिंग सिग्नल केवल तब उत्पन्न होते हैं जब प्रवृत्ति स्पष्ट होती है।
अन्य कारकों को शामिल करेंः प्रवृत्ति और संकेतों की पुष्टि करने के लिए वॉल्यूम परिवर्तन जैसे कारकों को जोड़ा जा सकता है।
प्रवेश समय में सुधारः प्रवेश की सटीकता बढ़ाने के लिए एमएसीडी उपयोग को और बढ़ाएं।
सार्वभौमिक रूप से लागू करनाः विभिन्न उत्पादों में व्यापक रूप से लागू करने के लिए रणनीति बनाने के लिए मापदंडों को अनुकूलित करना, लागू करने की क्षमता का विस्तार करना।
निष्कर्ष में, यह रणनीति मूविंग एवरेज और एमएसीडी के सरल लेकिन प्रभावी संयोजन के माध्यम से मध्यम से दीर्घकालिक रुझानों को प्रभावी ढंग से पकड़ती है, जिससे यह एक ठोस मात्रात्मक ट्रेडिंग रणनीति नींव बन जाती है। लेकिन मापदंडों को आगे अनुकूलन की आवश्यकता होती है, जोखिमों को बेहतर नियंत्रण की आवश्यकता होती है, और अधिक सुसंगत परिणाम प्राप्त करने के लिए अन्य कारकों को शामिल किया जाना चाहिए। इसका व्यावहारिक मूल्य है और सुधार के लिए बहुत जगह है।
/*backtest start: 2023-11-07 00:00:00 end: 2023-11-10 05:00:00 period: 1m basePeriod: 1m 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/ // © veryfid //@version=5 strategy("Stratégie ZLSMA Bruno", shorttitle="Stratégie ZLSMA Bruno", overlay=false) source = close useCurrentRes = input(true, title="Use Current Chart Resolution?") smd = input(true, title="Show MacD & Signal Line? Also Turn Off Dots Below") sd = input(true, title="Show Dots When MacD Crosses Signal Line?") sh = input(true, title="Show Histogram?") macd_colorChange = input(true,title="Change MacD Line Color-Signal Line Cross?") hist_colorChange = input(true,title="MacD Histogram 4 Colors?") //res = useCurrentRes ? period : resCustom fastLength = input(12), slowLength=input(26) signalLength=input(9) fastMA = ta.ema(source, fastLength) slowMA = ta.ema(source, slowLength) macd = fastMA - slowMA signal = ta.sma(macd, signalLength) hist = macd - signal outMacD = macd outSignal = signal outHist = hist histA_IsUp = outHist > outHist[1] and outHist > 0 histA_IsDown = outHist < outHist[1] and outHist > 0 histB_IsDown = outHist < outHist[1] and outHist <= 0 histB_IsUp = outHist > outHist[1] and outHist <= 0 //MacD Color Definitions macd_IsAbove = outMacD >= outSignal macd_IsBelow = outMacD < outSignal //plot_color = hist_colorChange ? histA_IsUp ? aqua : histA_IsDown ? blue : histB_IsDown ? red : histB_IsUp ? maroon :yellow :gray macd_color = macd_colorChange ? macd_IsAbove ? color.lime : color.red : color.red //signal_color = macd_colorChange ? macd_IsAbove ? yellow : yellow : lime circleYPosition = outSignal //plot(smd and outMacD ? outMacD : na, title="MACD", color=macd_color, linewidth=4) //plot(smd and outSignal ? outSignal : na, title="Signal Line", color=signal_color, style=line ,linewidth=2) //plot(sh and outHist ? outHist : na, title="Histogram", color=plot_color, style=histogram, linewidth=4) plot(sd and ta.cross(outMacD, outSignal) ? circleYPosition : na, title="Cross", style=plot.style_circles, linewidth=4, color=macd_color) hline(0, '0 Line', linestyle=hline.style_solid, linewidth=2, color=color.white) // Paramètres de la ZLSMA length = input(32, title="Longueur") offset = input(0, title="Décalage") src = input(close, title="Source") lsma = ta.linreg(src, length, offset) lsma2 = ta.linreg(lsma, length, offset) eq = lsma - lsma2 zlsma = lsma + eq length_slow = input(400, title="Longueur") offset_slow = input(0, title="Décalage") lsma_slow = ta.linreg(src, length_slow, offset_slow) lsma2_slow = ta.linreg(lsma_slow, length_slow, offset_slow) eq_slow = lsma_slow - lsma2_slow zlsma_slow = lsma_slow + eq_slow // Paramètres de la sensibilité sensitivity = input(0.5, title="Sensibilité") // Règles de trading longCondition = zlsma < zlsma_slow and zlsma_slow < zlsma_slow[1] and zlsma > zlsma[1] and ta.cross(outMacD, outSignal) and macd_color == color.lime//ta.crossover(zlsma, close) and ta.crossover(zlsma, zlsma[1]) // Croisement vers le haut shortCondition = zlsma > zlsma_slow and zlsma_slow > zlsma_slow[1] and zlsma < zlsma[1] and ta.cross(outMacD, outSignal) and macd_color == color.lime //ta.crossunder(zlsma, close) and ta.crossunder(zlsma, zlsma[1]) // Croisement vers le bas // Entrée en position strategy.entry("Achat", strategy.long, when=longCondition) strategy.entry("Vente", strategy.short, when=shortCondition) botifySignalZLSMA = longCondition ? 1 : shortCondition ? -1 : 0 plot(botifySignalZLSMA, title='Botify_signal', display=display.none) // Sortie de position strategy.close("Achat", when=ta.crossunder(zlsma, close)) // Close the "Achat" position strategy.close("Vente", when=ta.crossover(zlsma, close)) // Close the "Vente" position // Tracé de la courbe ZLSMA plot(zlsma, color=color.yellow, linewidth=3) plot(zlsma_slow, color=color.red, linewidth=3)