यह एक ईएमए क्रॉसओवर मात्रात्मक ट्रेडिंग रणनीति है। यह ट्रेडिंग संकेतों के रूप में अलग-अलग अवधि के साथ दो ईएमए का उपयोग करता है, जब छोटी अवधि ईएमए लंबी अवधि ईएमए से पार हो जाती है और जब छोटी अवधि ईएमए लंबी अवधि ईएमए से नीचे पार हो जाती है तो शॉर्ट हो जाती है। यह प्रवृत्ति निम्नलिखित रणनीतियों से संबंधित है। यह रणनीति जोखिमों को नियंत्रित करने के लिए स्टॉप लॉस और ले लाभ भी सेट करती है।
यह रणनीति ईएमए के स्वर्ण क्रॉस और मृत्यु क्रॉस का उपयोग ट्रेडिंग सिग्नल के रूप में करती है। विशेष रूप से, यह क्रमशः कम अवधि ईएमए और लंबी अवधि ईएमए की गणना करती है। जब कम अवधि ईएमए लंबी अवधि ईएमए को पार करती है, तो यह लंबी अवधि के लिए एक खरीद संकेत उत्पन्न करती है। जब कम अवधि ईएमए लंबी अवधि ईएमए से नीचे पार करती है, तो यह छोटी अवधि ईएमए के लिए एक बिक्री संकेत उत्पन्न करती है। इसलिए ईएमए के चल रहे रुझान ट्रेडिंग दिशाओं को निर्धारित करते हैं।
स्थिति में प्रवेश करने के बाद, रणनीति एक साथ स्टॉप लॉस और ले लाभ भी सेट करती है। स्टॉप लॉस स्टॉप लॉस लाइन के रूप में प्रवेश मूल्य का एक निश्चित प्रतिशत है। यदि कीमत स्टॉप लॉस लाइन को छूती है, तो यह स्टॉप लॉस के लिए स्थिति से बाहर निकल जाएगी। ले लाभ लाभ लाइन के रूप में प्रवेश मूल्य का एक निश्चित प्रतिशत है। यदि कीमत ले लाभ लाइन को छूती है, तो यह लाभ लेने के लिए स्थिति से बाहर निकल जाएगी।
यह रणनीति केवल लंबी, केवल छोटी, इंट्राडे ट्रेडिंग या पोजीशन ट्रेडिंग चुनने की भी अनुमति देती है। इंट्राडे ट्रेडिंग के लिए, यह बाजार बंद होने से पहले सभी पोजीशन बंद कर देगा।
इस रणनीति के निम्नलिखित फायदे हैंः
शोर को फ़िल्टर करने और मध्यम दीर्घकालिक रुझानों को आसानी से पकड़ने के लिए ईएमए सूचक का उपयोग करना।
अधिक व्यापार से बचने के लिए कम और अधिक अवधि के बीच ईएमए क्रॉसओवर को ट्रेडिंग सिग्नल के रूप में अपनाना।
स्टॉप लॉस सेट करना और प्रत्येक ट्रेड के जोखिम-लाभ अनुपात को नियंत्रित करने के लिए लाभ लेना, जो धन प्रबंधन के लिए अच्छा है।
विभिन्न प्रकार के व्यापारियों के अनुकूल केवल लंबी, केवल छोटी, इंट्राडे और स्थिति व्यापार की अनुमति देना।
स्टॉक, विदेशी मुद्रा, क्रिप्टोकरेंसी आदि जैसी कई ट्रेडिंग परिसंपत्तियों का समर्थन करना।
इस रणनीति में कुछ संभावित जोखिम भी हैंः
ईएमए संकेतक का विलंब प्रभाव होता है और कुछ अल्पकालिक रुझान मोड़ बिंदुओं को याद कर सकता है।
छोटी और लंबी ईएमए अवधि के अनुचित विकल्पों से अव्यवस्थित ट्रेडिंग सिग्नल हो सकते हैं।
बहुत लंबे समय तक स्थिति रखने से बाजार में अधिक उतार-चढ़ाव हो सकता है।
यांत्रिक स्टॉप लॉस और ले लाभ बहुत जल्दी पदों से बाहर निकल सकते हैं या समय से पहले लाभ को कम कर सकते हैं।
संबंधित जोखिम प्रबंधन माप:
सर्वोत्तम अवधि संयोजन खोजने के लिए ईएमए मापदंडों का अनुकूलन करें।
सहायक निर्णय के रूप में अन्य संकेतक जोड़ें।
गतिशील रूप से स्टॉप लॉस को समायोजित करें और लाभ लें।
मैनुअल हस्तक्षेप असामान्य बाजार की स्थिति।
इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः
विभिन्न ट्रेडिंग परिसंपत्तियों के लिए उपयुक्त छोटी और लंबी अवधि के संयोजन खोजने के लिए ईएमए मापदंडों का सर्वोत्तम अनुकूलन।
मल्टी-इंडिकेटर सिनर्जी के लिए एमएसीडी, केडी जैसे अन्य संकेतक जोड़ें।
गतिशील स्टॉप लॉस उत्पन्न करने और लाभ लेने के लिए मशीन लर्निंग मॉडल जोड़ें।
सुविधा इंजीनियरिंग के लिए अधिक उन्नत जोखिम संकेतकों को कनेक्ट करें।
पैरामीटर स्व-अनुकूलन के लिए अनुकूली व्यापार घटक जोड़ें.
संक्षेप में, यह रणनीति टेम्पलेट के बाद एक उत्कृष्ट प्रवृत्ति है। इसकी मुख्य ताकत शोर को फ़िल्टर करने और स्थिर लाभ प्राप्त करने के लिए ईएमए संकेतक का उपयोग करने में निहित है, जबकि व्यापक जोखिम-इनाम प्रबंधन है। निरंतर अनुकूलन के माध्यम से, यह रणनीति बाजारों में एक सार्वभौमिक मात्रात्मक रणनीति बन सकती है और व्यापारियों के लिए सीखने और अभ्यास करने के लायक है।
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover Strategy by Vikrant Singh", overlay=true) // Input for EMA Lengths var bool runningPOS = false var float stopLossLevel = na var float targetLevel = na shortLength = input(11, title="Short EMA Length") longLength = input(21, title="Long EMA Length") // Input for Stop-Loss and Target stopLossPct = input(1, title="Stop-Loss (%)") targetPct = input(3, title="Target (%)") longOnly = input(true, title="Long Only") intraDay = input(true, title="intraday?") // Calculate EMAs emaShort = ta.ema(close, shortLength) emaLong = ta.ema(close, longLength) // Calculate crossover conditions crossoverCondition = ta.crossover(emaShort, emaLong) crossunderCondition = ta.crossunder(emaShort, emaLong) // Entry condition (long position just before crossover) if crossoverCondition and not runningPOS and longOnly and (hour <= 15) strategy.entry("Long", strategy.long) runningPOS := true stopLossLevel := close * (1 - stopLossPct / 100) targetLevel := close * (1 + targetPct / 100) //Entry condition (short position just before crossover) if crossunderCondition and not runningPOS and not longOnly and (hour <= 15) strategy.entry("Short", strategy.short) runningPOS := true stopLossLevel := close * (1 + stopLossPct / 100) targetLevel := close * (1 - targetPct / 100) // Exit conditions (square off on reverse crossover) //Exit long if (crossunderCondition or (low < stopLossLevel) or (high > targetLevel) ) and longOnly and runningPOS strategy.close("Long",comment = "Exit long")// ("Long", from_entry="Long",stop=stopLossLevel, limit=targetLevel) runningPOS := false //Exit short if (crossoverCondition or (high > stopLossLevel) or (low < targetLevel) ) and not longOnly and runningPOS strategy.close("Short", comment = "Exit Short") runningPOS := false if intraDay and runningPOS if (hour >= 15) strategy.close_all(comment = "Intraday square off") //strategy.close("Long",comment = "intraday square off") runningPOS := false // Plot EMAs plot(emaShort, color=color.blue, title="Short EMA") plot(emaLong, color=color.red, title="Long EMA")