यह रणनीति सरल चलती औसत और भारित चलती औसत के क्रॉसओवर के आधार पर ट्रेडिंग सिग्नल उत्पन्न करती है, जो पदों को प्रबंधित करने के लिए स्टॉप लॉस और ले लाभ के साथ संयुक्त होती है। रणनीति गतिशील और स्थिर तत्वों के परस्पर प्रभाव को प्राप्त करने के लिए गतिशील कारकों (गतिशील औसत क्रॉसओवर) और स्थैतिक कारकों (फिक्स्ड स्टॉप लॉस और ले लाभ अनुपात) को एकीकृत करती है।
मूल तर्क अलग-अलग अवधियों के साथ दो चलती औसत की गणना करना है, एक 9-दिवसीय सरल चलती औसत है और दूसरा 21-दिवसीय भारित चलती औसत है। जब अल्पकालिक 9-दिवसीय एसएमए लंबी अवधि के 21-दिवसीय डब्ल्यूएमए से ऊपर पार करता है, तो एक खरीद संकेत उत्पन्न होता है। जब अल्पकालिक रेखा लंबी अवधि की रेखा से नीचे पार करती है, तो एक बिक्री संकेत उत्पन्न होता है।
सिग्नल प्राप्त करने के बाद, ऑर्डर सेट स्टॉप लॉस और ले लाभ अनुपात के अनुसार रखे जाते हैं। उदाहरण के लिए, यदि स्टॉप लॉस अनुपात 5% पर सेट किया गया है, तो स्टॉप लॉस मूल्य प्रवेश मूल्य का 95% निर्धारित किया जाएगा। यदि ले लाभ अनुपात 5% है, तो ले लाभ मूल्य प्रवेश मूल्य का 105% निर्धारित किया जाएगा। यह गतिशील कारकों (प्रवेश और निकास समय तय करने वाले चलती औसत क्रॉसओवर) और स्थैतिक कारकों (फिक्स्ड स्टॉप लॉस और ले लाभ अनुपात) के संलयन को महसूस करता है।
रणनीति गतिशील तकनीकी संकेतकों और स्थैतिक रणनीति मापदंडों को जोड़ती है, जिसमें गतिशील और स्थैतिक दोनों प्रणालियों के फायदे हैं। तकनीकी संकेतकों को गतिशील रूप से बाजार की विशेषताओं को कैप्चर किया जा सकता है, जो रुझानों को पकड़ने के लिए फायदेमंद है। पैरामीटर सेटिंग्स स्थिर जोखिम और रिटर्न नियंत्रण प्रदान करती हैं, जो स्थिति प्रबंधन में यादृच्छिकता को कम करने में मदद करती है।
शुद्ध गतिशील प्रणालियों की तुलना में, यह रणनीति स्थिति प्रबंधन में अधिक मजबूत है, जो तर्कहीन निर्णयों के प्रभाव को कम करती है। शुद्ध स्थैतिक प्रणालियों की तुलना में, यह रणनीति प्रवेश चयन में अधिक लचीली है, जो बाजार परिवर्तनों के लिए बेहतर अनुकूल है। इसलिए, इस रणनीति में अच्छी समग्र मजबूती और लाभप्रदता है।
इस रणनीति के जोखिम मुख्य रूप से दो पहलुओं से आते हैं। पहला, चलती औसत से गलत संकेतों की संभावना। जब बाजार सीमा से बंधा होता है, तो चलती औसत में अक्सर क्रॉसओवर हो सकते हैं, जिससे रणनीति को पिच किया जा सकता है।
दूसरा, यह जोखिम कि फिक्स्ड स्टॉप लॉस और टेक प्रॉफिट चरम बाजार स्थितियों के अनुकूल नहीं हो सकते हैं। जब ब्लैक स्वान इवेंट्स से बाजार में भारी उतार-चढ़ाव होता है, तो पूर्व निर्धारित स्टॉप लॉस और टेक प्रॉफिट स्तरों में घुसपैठ हो सकती है, जिससे जोखिमों को प्रभावी ढंग से नियंत्रित करने में विफलता होती है।
इसके विपरीत उपाय इस प्रकार हैंः पहला, गलत संकेतों की संभावना को कम करने के लिए प्रमुख समय नोड्स से बचें; दूसरा, बाजार की अस्थिरता और विशेष घटनाओं के अनुसार अनुकूलनशील स्टॉप लॉस एल्गोरिदम सक्षम करें, जिससे स्टॉप लॉस और ले लाभ को बाजार के साथ समायोजित किया जाए।
इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः
इष्टतम मापदंडों को खोजने के लिए विभिन्न मापदंड संयोजनों का परीक्षण करें;
अमान्य संकेतों से बचने के लिए फ़िल्टरिंग शर्तें जोड़ें;
बाजार के साथ आगे बढ़ने के लिए अनुकूलनशील स्टॉप लॉस एल्गोरिदम लागू करें;
सीमाबद्ध बाजारों से बचते हुए, प्रवृत्ति की ताकत का आकलन करने के लिए अन्य संकेतकों को शामिल करें;
स्वचालित रूप से मापदंडों का अनुकूलन करने के लिए मशीन लर्निंग विधियों का उपयोग करें।
मापदंडों का परीक्षण, फिल्टर जोड़ना, स्टॉप में सुधार करना, रुझानों का आकलन करना आदि के माध्यम से रणनीति की स्थिरता और लाभप्रदता को और बढ़ाया जा सकता है।
यह रणनीति सफलतापूर्वक गतिशील संकेतकों और स्थैतिक मापदंडों को जोड़ती है, लचीलापन और मजबूती को संतुलित करती है। शुद्ध गतिशील और स्थैतिक रणनीतियों की तुलना में, यह रणनीति समग्र रूप से बेहतर प्रदर्शन करती है। बेशक, रणनीति को अधिक प्रभावी बनाने के लिए मापदंडों को समायोजित करके, फ़िल्टर जोड़कर, अनुकूलन स्टॉप, मशीन लर्निंग आदि जोड़कर अनुकूलन के लिए अभी भी जगह है।
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("WMA vs MMA Crossover Strategy with SL/TP", shorttitle="WMA_MMA_Cross_SL_TP", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=10) // Définition des périodes pour les moyennes mobiles wmaLength = input.int(9, title="WMA Length") mmaLength = input.int(21, title="MMA Length") // Paramètres de Stop Loss et Take Profit en pourcentage stopLossPercentage = input.float(5, title="Stop Loss (%)") / 100 takeProfitPercentage = input.float(5, title="Take Profit (%)") / 100 // Calcul des moyennes mobiles wmaValue = ta.wma(close, wmaLength) mmaValue = ta.sma(close, mmaLength) // Conditions pour les signaux d'achat et de vente buySignal = ta.crossover(wmaValue, mmaValue) sellSignal = ta.crossunder(wmaValue, mmaValue) // Génération des ordres en fonction des signaux if buySignal strategy.entry("Buy", strategy.long) strategy.exit("Exit Buy", "Buy", stop=strategy.position_avg_price * (1 - stopLossPercentage), limit=strategy.position_avg_price * (1 + takeProfitPercentage)) if sellSignal strategy.entry("Sell", strategy.short) strategy.exit("Exit Sell", "Sell", stop=strategy.position_avg_price * (1 + stopLossPercentage), limit=strategy.position_avg_price * (1 - takeProfitPercentage)) // Affichage des moyennes mobiles sur le graphique plot(wmaValue, color=color.blue, title="WMA") plot(mmaValue, color=color.red, title="MMA") // Affichage des signaux sur le graphique pour référence plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY") plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")