डबल मूविंग एवरेज क्रॉसओवर एक सरल और प्रभावी स्केलिंग रणनीति है जो मूल्य और मूविंग एवरेज के बीच क्रॉसओवर सिग्नल का उपयोग प्रवेश और निकास संकेतों के रूप में करता है ताकि अल्पकालिक प्रवृत्ति आंदोलनों को कैप्चर किया जा सके।
यह रणनीति अलग-अलग अवधियों के दो चलती औसत का उपयोग करती है - एक अल्पकालिक एमए लाइन और एक दीर्घकालिक एमए लाइन। यह खरीद संकेत उत्पन्न करती है जब छोटी अवधि एमए नीचे से लंबी अवधि एमए के ऊपर से पार हो जाती है। बिक्री संकेत उत्पन्न होते हैं जब छोटी अवधि एमए ऊपर से लंबी एमए के नीचे से पार हो जाती है।
रणनीति पहले चर
कुछ अमान्य संकेतों को फ़िल्टर करने के लिए,
अंत में, मौजूदा पदों को बंद कर दिया जाता है जब कीमत एमए लाइनों को उलट कर पार करती है।
जोखिमों को अस्थिरता, ट्रेलिंग स्टॉप या प्रतिशत स्टॉप आदि के आधार पर गतिशील एमए अवधि का उपयोग करके कम किया जा सकता है।
इस रणनीति में कई तरीकों से सुधार किया जा सकता हैः
अस्थिरता के आधार पर गतिशील रूप से एमए मापदंडों का अनुकूलन करें।
सिग्नल की गुणवत्ता में सुधार के लिए वॉल्यूम स्पाइक जैसे अतिरिक्त फ़िल्टर जोड़ें।
समय से पहले रुकने को कम करने के लिए फ्लोटिंग या प्रतिशत स्टॉप का प्रयोग करें।
मल्टीकंडीशन वैलिडेशन के लिए एमएसीडी, आरएसआई जैसे अन्य संकेतकों के साथ संयोजन करें।
प्रति व्यापार हानि को नियंत्रित करने के लिए गतिशील स्थिति आकार जैसे स्वचालित जोखिम प्रबंधन जोड़ें।
अधिक सटीक सिग्नल जनरेशन मॉडल के लिए मशीन लर्निंग का उपयोग करें।
डबल एमए क्रॉसओवर रणनीति अल्पकालिक व्यापार के लिए एक प्रभावी प्रणाली है। ठीक ट्यूनिंग मापदंडों, जोखिम प्रबंधन और अन्य उपकरणों के साथ संयोजन इसकी लाभप्रदता को और बढ़ा सकते हैं। कुल मिलाकर यह छोटे इंट्राडे मूव्स के लिए समझना और लागू करना आसान है।
/*backtest start: 2023-09-29 00:00:00 end: 2023-10-29 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("MovingAvg Cross", overlay=true) length = input(50) confirmBars = input(2) price = close ma = sma(price, length) bcond = price > ma bcount = 0 bcount := bcond ? nz(bcount[1]) + 1 : 0 clc=close[0]>close[1] clc0=close[0]>open[0] clc1=close[1]>open[1] if clc and clc0 and clc1 and (bcount == confirmBars) strategy.entry("buy", strategy.long) scond = price < ma scount = 0 scount := scond ? nz(scount[1]) + 1 : 0 csc=close[0]<close[1] csc0=close[0]<open[0] csc1=close[1]<open[1] if csc and csc0 and csc1 and (scount == confirmBars) strategy.entry("sell", strategy.short) strategy.close("buy", when=scond) strategy.close("sell",when=bcond) plot(ma, color=color.red) //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)