यह रणनीति दोहरी चलती औसत के स्वर्ण क्रॉस और मृत्यु क्रॉस के आधार पर डिज़ाइन की गई है। यह लंबी अवधि के चलती औसत के ऊपर लंबी अवधि के चलती औसत के पार होने पर लंबी अवधि में जाती है, और लंबी अवधि के चलती औसत के नीचे छोटी अवधि के चलती औसत के पार होने पर स्थिति को बंद कर देती है। रणनीति सरल और समझने में आसान है, शुरुआती सीखने के लिए उपयुक्त है।
यह रणनीति मुख्य रूप से एसएमए (close) 14 और एसएमए (close) 28 संकेतकों पर आधारित है।
सबसे पहले लघु और दीर्घ चलती औसत को परिभाषित करें:
short_ma = sma(close, 14)
long_ma = sma(close, 28)
फिर स्वर्ण क्रॉस और मृत्यु क्रॉस के आधार पर प्रवेश और निकास निर्धारित करें:
longCondition = crossover(short_ma, long_ma)
shortCondition = crossunder(short_ma, long_ma)
जब लघु एमए लंबी एमए के ऊपर पार हो जाए तो लंबा करें:
strategy.entry("Buy", strategy.long, when = longCondition)
बंद स्थिति जब छोटी एमए लंबी एमए से नीचे जाती है:
strategy.close_all(when = shortCondition)
तर्क सरल और स्पष्ट है, प्रवेश और निकास निर्धारित करने के लिए दोहरे एमए के क्रॉसओवर का उपयोग करता है। इसमें कुछ प्रवृत्ति निम्नलिखित क्षमता है।
इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः
इष्टतम संयोजन का पता लगाने के लिए विभिन्न छोटी और लंबी एमए अवधि, जैसे (5, 10), (10, 20), (20, 60) आदि का परीक्षण करें।
विभिन्न बाजारों में अत्यधिक व्यापार से बचने के लिए एमए क्रॉसओवर के पास ट्रेडिंग वॉल्यूम, मूल्य अंतर आदि जैसे फ़िल्टर जोड़ें।
स्टॉप लॉस मूल्य सेट करें या एकल व्यापार हानि को नियंत्रित करने के लिए स्टॉप लॉस लाइन के रूप में एमए का उपयोग करें।
रणनीति प्रदर्शन में सुधार के लिए एमएसीडी, केडीजे आदि जैसे सहायक संकेतक जोड़ें।
क्रॉसओवर पर सीधे प्रवेश करने के बजाय एमए के पास बेहतर प्रवेश बिंदु खोजें। उदाहरण के लिए, एमए विचलन बिंदुओं पर दर्ज करें।
दोहरी एमए रणनीति शुरुआती लोगों के लिए उपयोग करने के लिए सरल है। लेकिन यह बाजार में उतार-चढ़ाव के प्रति संवेदनशील है और इसमें नुकसान का जोखिम है। हम पैरामीटर को अनुकूलित करके, फ़िल्टर जोड़कर, स्टॉप लॉस को शामिल करके, अन्य संकेतकों को मिलाकर आदि में सुधार कर सकते हैं। यह मजबूत रुझानों में अच्छा प्रदर्शन कर सकता है लेकिन इसे सावधानी से या रेंजिंग बाजारों में उचित स्टॉप लॉस के साथ उपयोग किया जाना चाहिए।
[/trans]
/*backtest start: 2023-08-21 00:00:00 end: 2023-09-20 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Binance","currency":"BTC_USDT"}] */ //@version=2 // strategy("Tester", pyramiding = 50, default_qty_type = strategy.cash, default_qty_value = 20, initial_capital = 2000, commission_type = strategy.commission.percent, commission_value = 0.25) minGainPercent = input(0.6) gainMultiplier = minGainPercent * 0.01 + 1 longCondition = crossover(sma(close, 14), sma(close, 28)) shortCondition = crossunder(sma(close, 14), sma(close, 28)) avg_protection = input(1) gain_protection = input(1) strategy.entry("Buy", strategy.long, when = longCondition and (avg_protection >= 1 ? (na(strategy.position_avg_price) ? true : close <= strategy.position_avg_price) : true)) strategy.close_all(when = shortCondition and (gain_protection >=1 ? (close >= gainMultiplier * strategy.position_avg_price) : true))