यह रणनीति प्रवेश और निकास समय निर्धारित करने के लिए दोहरी ईएमए लाइनों के स्वर्ण क्रॉस और मृत्यु क्रॉस का उपयोग करती है। विशेष रूप से, जब तेजी से ईएमए लाइन नीचे से धीमी ईएमए लाइन के ऊपर पार करती है, तो लंबी प्रविष्टि के लिए एक स्वर्ण क्रॉस संकेत उत्पन्न होता है। जब तेजी से ईएमए लाइन ऊपर से धीमी ईएमए लाइन के नीचे पार करती है, तो छोटी प्रविष्टि के लिए एक मृत्यु क्रॉस संकेत उत्पन्न होता है। यह रणनीति सरल और लागू करने में आसान है, और एक बहुत ही आम ट्रेडिंग रणनीति है।
इस रणनीति का मूल कोड इस प्रकार है:
fast = input(25, title="Fast")
slow = input(75, title="Slow")
matype1=ema(source, fast)
matype2=ema(source, slow)
longCondition = crossover(matype1, matype2)
shortCondition = crossunder(matype1, matype2)
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
यह रणनीति पहले दो ईएमए लाइनें सेट करती है, जिसमें तेज ईएमए अवधि 25 और धीमी ईएमए अवधि 75 होती है। फिर यह दो ईएमए लाइनों के मूल्यों की गणना करती है। जब तेज ईएमए धीमी ईएमए के ऊपर पार हो जाती है, तो लॉन्ग कंडीशन सच हो जाती है। जब तेज ईएमए धीमी ईएमए के नीचे पार हो जाती है, तो शॉर्ट कंडीशन सच हो जाती है। जब संबंधित शर्तें सच होती हैं, तो यह लंबी या छोटी हो जाती है।
यह रणनीति बाजार शोर को फ़िल्टर करने के लिए ईएमए की चिकनाई सुविधा का उपयोग करती है, जबकि तेजी से प्रवृत्ति परिवर्तनों को पकड़ने में सक्षम होती है। दो ईएमए लाइनों के बीच स्वर्ण और मृत्यु क्रॉस अपेक्षाकृत मजबूत ट्रेडिंग संकेत बनाते हैं, जो प्रभावी रूप से ट्रेडिंग जोखिम को नियंत्रित कर सकते हैं।
इस रणनीति के लाभों में निम्नलिखित शामिल हैंः
तर्क सरल और सहज है, समझने और लागू करने में आसान है।
ईएमए बाजार के उतार-चढ़ाव को सुचारू करता है और गलत संकेतों को प्रभावी ढंग से फ़िल्टर करता है।
स्वर्ण क्रॉस और मृत्यु क्रॉस जोखिम को नियंत्रित करने के लिए मजबूत व्यापार संकेत हैं।
लचीली ईएमए अवधि विभिन्न बाजार परिवेशों के अनुकूल होती है।
अन्य तकनीकी संकेतकों के साथ संयोजन करना आसान है।
बेहतर परिणामों के लिए ईएमए मापदंडों को अनुकूलित किया जा सकता है।
इस रणनीति के जोखिमों में निम्नलिखित शामिल हैंः
ईएमए अक्सर पार होने के कारण सीमा-बंद बाजारों में लगातार अप्रभावी संकेत।
ईएमए के पीछे पड़ने से अल्पकालिक अवसर चूक सकते हैं।
ईएमए क्रॉसओवर अकेले रुझान उलटने की पहचान नहीं कर सकता है, जिससे मुनाफे की संभावना सीमित हो जाती है।
निश्चित ईएमए अवधि बाजार परिवर्तनों के अनुकूल नहीं हो सकती है।
इसके लिए महत्वपूर्ण पूंजी की आवश्यकता होती है, अन्यथा जोखिम बढ़ जाता है।
सख्त स्टॉप लॉस की आवश्यकता होती है, अन्यथा एकल नुकसान बहुत बड़ा हो सकता है।
इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः
विभिन्न बाजार स्थितियों के लिए ईएमए अवधि का अनुकूलन करना।
संकेत की गुणवत्ता में सुधार के लिए अन्य फिल्टर जैसे एमएसीडी, बोलिंगर बैंड जोड़ें।
अप्रभावी ट्रेडों को कम करने के लिए एटीआर, एडीएक्स जैसे ट्रेंड जजिंग इंडिकेटर जोड़ें।
ट्रेंड दिशा निर्धारित करने के लिए बहु-समय-अंतराल विश्लेषण शामिल करें।
ईएमए अवधि को गतिशील रूप से अनुकूलित करने के लिए मशीन लर्निंग का उपयोग करें।
जोखिम को नियंत्रित करने के लिए स्थिति आकार को अनुकूलित करें।
एकल हानि को सीमित करने के लिए स्टॉप लॉस रणनीतियों का अनुकूलन करें।
यह रणनीति दोहरे ईएमए स्वर्ण क्रॉस और मृत्यु क्रॉस का उपयोग ट्रेडिंग संकेतों के रूप में करती है, जो एक क्लासिक प्रवृत्ति के बाद की रणनीति का गठन करती है। यह सरल और लागू करने में आसान है, और अन्य संकेतकों के साथ जोड़ा जा सकता है, जो प्रवृत्ति निर्णय पर अपेक्षाकृत कम आवश्यकताओं वाले निवेशकों के अनुकूल है। लेकिन इसमें लाभ सीमाएं और जोखिम भी हैं, जिसके लिए विभिन्न बाजार वातावरण के लिए उचित अनुकूलन की आवश्यकता होती है। कुल मिलाकर, यह रणनीति विकास और गहन शोध के लिए एक उत्कृष्ट आधार प्रदान करता है।
/*backtest start: 2023-09-16 00:00:00 end: 2023-10-16 00:00:00 period: 1h basePeriod: 15m 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/ // Double EMA CROSS By © EmreE (Emre Ertürk) Also thx for KivancOzbilgic color based bars //@version=4 strategy(title="Double EMA CROSS", shorttitle="DEC", overlay=true) matype = input("ema") hidema = input(false) sourcetype = input(close, title="Source Type") source=close // STEP 1: // Configure backtest start date with inputs startDate = input(title="Start Date", type=input.integer, defval=1, minval=1, maxval=231) startMonth = input(title="Start Month", type=input.integer, defval=1, minval=1, maxval=12) startYear = input(title="Start Year", type=input.integer, defval=2020, minval=1800, maxval=2100) // STEP 2: // See if this bar's time happened on/after start date afterStartDate = (time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0)) fast = input(25, title="Fast") slow = input(75, title="Slow") matype1=ema(source, fast) matype2=ema(source, slow) signalcolor = source > matype2 ? color.blue : color.red signal = cross(fast, slow) hizliema=plot(hidema ? na : matype1, color=color.green, linewidth=2,transp=0, title="Fast EMA") yavasema=plot(hidema ? na : matype2, color=color.red, linewidth=2,transp=0, title="Slow EMA") //kesisme=plot(signal, style=cross, color=signalcolor, linewidth=5, title="Kesişme") longCondition = crossover(matype1, matype2) if (afterStartDate and longCondition) strategy.entry("Long", strategy.long) shortCondition = crossunder(matype1, matype2) if (afterStartDate and shortCondition) strategy.entry("Short", strategy.short) //-------------------------------------------------------- //volume based color bars length=input(21, "length", minval=1) avrg=sma(volume,length) vold1 = volume > avrg*1.5 and close<open vold2 = volume >= avrg*0.5 and volume<=avrg*1.5 and close<open vold3 = volume < avrg *0.5 and close<open volu1 = volume > avrg*1.5 and close>open volu2 = volume >= avrg*0.5 and volume<=avrg*1.5 and close>open volu3 = volume< avrg*0.5 and close>open cold1=#800000 cold2=#FF0000 cold3=color.orange colu1=#006400 colu2=color.lime colu3=#7FFFD4 ac = vold1 ? cold1 : vold2 ? cold2 : vold3 ? cold3 : volu1 ? colu1 : volu2 ? colu2 : volu3 ? colu3 : na barcolor(ac)