यह डबल मूविंग एवरेज क्रॉसओवर पर आधारित एक ट्रेडिंग रणनीति है। जब दो अलग-अलग लंबाई के मूविंग एवरेज पार होते हैं तो यह खरीद और बिक्री संकेत उत्पन्न करता है। विशेष रूप से, जब तेज एमए धीमी एमए के ऊपर पार करता है तो यह लंबा हो जाता है, और जब तेज एमए धीमी एमए के नीचे पार करता है तो यह छोटा हो जाता है।
इस रणनीति का मूल तर्क दो चलती औसत के बीच क्रॉसओवर सिद्धांतों में निहित है। एक चलती औसत एक निर्दिष्ट समय अवधि में अंकगणितीय औसत मूल्य है। यह बाजार शोर को फ़िल्टर करने और स्पष्ट मूल्य रुझानों को प्रकट करने में मदद करता है।
इस रणनीति में, अल्पकालिक एमए अल्पकालिक रुझानों को कैप्चर करता है जबकि दीर्घकालिक एमए दीर्घकालिक रुझानों को कैप्चर करता है। चूंकि अल्पकालिक एमए नवीनतम मूल्य परिवर्तनों का जवाब देने में अधिक संवेदनशील है, इसलिए दीर्घकालिक एमए के ऊपर पार करना आगे की प्रवृत्ति उलट का संकेत देता है।
विशेष रूप से, रणनीति उपयोगकर्ताओं द्वारा परिभाषित long_period और short_period पर ta.sma का उपयोग करके एमए की गणना करती है। फिर यह दो एमए के बीच स्वर्ण क्रॉसओवर और मृत्यु क्रॉसओवर का पता लगाने के लिए ta.crossover और ta.crossunder का उपयोग करती है। जब छोटा एमए लंबे एमए के ऊपर से गुजरता है, तो लंबा हो जाता है। जब छोटा एमए नीचे से गुजरता है, तो छोटा हो जाता है।
इस रणनीति के मुख्य लाभों में निम्नलिखित शामिल हैंः
इसके साथ ही इसके कई जोखिम भी हैंः
जोखिम को कम करने के लिए मापदंडों को समायोजित किया जा सकता है, स्टॉप लॉस और ले लाभ को शामिल किया जा सकता है, या अन्य तकनीकी संकेतकों को जोड़ा जा सकता है।
आगे अनुकूलन के लिए जगह हैः
निष्कर्ष में, यह एल्गोरिथम ट्रेडिंग के लिए एक आदर्श स्टार्टर रणनीति है, जो तर्क और मापदंडों में इसकी सादगी के लिए धन्यवाद है जबकि अभी भी प्रभावी रूप से बाजार उलट को पकड़ने में सक्षम है। एक ही समय में, इसमें विभिन्न ट्रेडिंग आवश्यकताओं के अनुरूप अनुकूलन के लिए बड़ी क्षमता है।
/*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("Cross 2 Moving Average Strategy", shorttitle="2MA Cross", overlay=true) // User-defined input for moving averages long_period = input(20, title="Long Period") short_period = input(5, title="Short Period") type_ma = input.string("SMA", title = "MA type", options = ["SMA", "EMA"]) // Calculating moving averages long_ma = ta.sma(close, long_period) short_ma = ta.sma(close, short_period) // Plot moving averages plot(long_ma, title="Long Moving Average", color=color.red) plot(short_ma, title="Short Moving Average", color=color.green) // Strategy logic for crossing of moving averages longCondition = ta.crossover(short_ma, long_ma) shortCondition = ta.crossunder(short_ma, long_ma) // Entry orders if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) // Optional: Add stop loss and take profit stop_loss_perc = input(1, title="Stop Loss (%)") / 100 take_profit_perc = input(2, title="Take Profit (%)") / 100 strategy.exit("Exit Long", from_entry="Long", stop=close*(1-stop_loss_perc), limit=close*(1+take_profit_perc)) strategy.exit("Exit Short", from_entry="Short", stop=close*(1+stop_loss_perc), limit=close*(1-take_profit_perc))