
Moving Average Crossover Strategy एक मात्रात्मक ट्रेडिंग रणनीति है जो सरल चलती औसत पर आधारित है। यह रणनीति विभिन्न चक्रों के सरल चलती औसत की गणना करके खरीद और बेचने के संकेत देती है जब वे पार होते हैं।
विशेष रूप से, यह रणनीति 9 वें और 45 वें लाइन के लिए एक सरल चलती औसत की गणना करती है। जब कीमत 9 वें और 45 वें लाइन को पार करती है, तो यह एक खरीद संकेत उत्पन्न करती है; जब कीमत 9 वें और 45 वें लाइन को पार करती है, तो यह एक बेचने का संकेत उत्पन्न करती है।
इस रणनीति का मूल तर्क एक चलती औसत के एक स्वर्ण-चोक के मृत-चोक सिद्धांत पर आधारित है। चलती औसत बाजार के शोर को प्रभावी रूप से फ़िल्टर करने में सक्षम है, जो बड़े रुझानों में बदलाव को इंगित करता है। जब एक छोटी औसत लंबी अवधि की औसत से ऊपर होती है, तो यह दर्शाता है कि कीमतें एक ऊंची प्रवृत्ति में प्रवेश करना शुरू कर देती हैं; जब एक छोटी अवधि की औसत लंबी अवधि की औसत से नीचे होती है, तो यह दर्शाता है कि कीमतें गिरावट में प्रवेश करना शुरू कर देती हैं।
विशेष रूप से, यह रणनीति 9 और 45 लाइनों के सरल चलती औसत का उपयोग करती है। 9 लाइनें अल्पकालिक रुझानों का प्रतिनिधित्व करती हैं और 45 लाइनें दीर्घकालिक रुझानों का प्रतिनिधित्व करती हैं। जब कीमत 9 और 45 लाइनों को पार करती है, तो यह दर्शाता है कि स्टॉक की कीमतें अल्पकालिक और दीर्घकालिक दोनों तरह से ऊपर की ओर हैं, इसलिए एक खरीद संकेत उत्पन्न होता है; जब कीमत 9 और 45 लाइनों को पार करती है, तो यह दर्शाता है कि स्टॉक की कीमतों में वृद्धि धीरे-धीरे कम हो रही है, इसलिए एक बिक्री संकेत उत्पन्न होता है।
कोड तर्क के अनुसार, रणनीति पहले 9 वीं और 45 वीं लाइन के सरल चल औसत की गणना करती है और फिर समानांतर के लिए गोल्डफ़ॉक्स और डेडफ़ॉक्स को ta.crossover और ta.crossunder फ़ंक्शंस के माध्यम से निर्धारित करती है। खरीद और बेचने के संकेतों को उत्पन्न करने के लिए, K लाइन ग्राफ पर त्रिकोण और उलटा त्रिकोण के संकेत ग्राफ को plotshape फ़ंक्शन का उपयोग करके तैयार किया जाता है।
इसके अलावा, इस रणनीति में लंबे और छोटे पदों के लिए स्टॉप लॉजिक सेट किया गया है। विशेष रूप से, स्थिति खोलने के बाद, एक पूर्ववर्ती K लाइन के उच्चतम और निम्नतम मूल्य को स्टॉप प्राइस के रूप में निकाला जाएगा। यह मुनाफे को लॉक कर सकता है और भारी नुकसान से बचा जा सकता है।
क्या करें?
इस रणनीति को और भी बेहतर बनाने के लिए जगह हैः
अनुकूलनशील चलती औसत या सूचकांक चलती औसत का उपयोग करके, रुझान में बदलाव को बेहतर ढंग से कैप्चर किया जा सकता है।
फ़िल्टर सिग्नल जैसे कि उतार-चढ़ाव के संकेतकों को बढ़ाएं ताकि भूस्खलन के दौरान गलत संकेतों से बचा जा सके।
पैरामीटर अनुकूलन विधि का उपयोग करके, सबसे अच्छा पैरामीटर संयोजन ढूंढें।
स्टॉप लॉजिक में एक ट्रेंड ट्रैकिंग तंत्र जोड़ा गया है, जिससे स्टॉप लाइन को कीमतों को ट्रैक करने में लचीलापन मिलता है।
प्रमुख मूल्य क्षेत्रों में गलत संकेतों से बचने के लिए समर्थन और प्रतिरोध के बड़े स्तरों पर निर्णय लेने में मदद करें।
मशीन लर्निंग मॉडल के साथ सिग्नल की गुणवत्ता को और फ़िल्टर करें।
सम-रेखा क्रॉसिंग रणनीति एक सरल और व्यावहारिक प्रवृत्ति ट्रैकिंग रणनीति है। यह प्रभावी रूप से शोर को फ़िल्टर करने में सक्षम है और कीमतों में मध्यम और दीर्घकालिक रुझानों में परिवर्तन को पकड़ता है। उचित स्टॉप-लॉस तर्क के साथ संयुक्त होने के बाद, यह जोखिम के नियंत्रण के आधार पर प्रवृत्ति व्यापार करने में सक्षम है। यह रणनीति तर्क सरल है और इसे लागू करना आसान है, जो कि क्वांटिफाइड ट्रेडिंग के शुरुआती लोगों के लिए उपयुक्त है। आगे के अनुकूलन और सुधार के साथ, यह रणनीति क्वांटिफाइड ट्रेडिंग सिस्टम में एक प्रभावी घटक बन सकती है।
/*backtest
start: 2022-12-15 00:00:00
end: 2023-12-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("SMA Crossover Strategy", overlay=true)
// Input parameters
fast_length = input(9, title="Fast SMA Length")
slow_length = input(45, title="Slow SMA Length")
// Calculate moving averages
fast_sma = ta.sma(close, fast_length)
slow_sma = ta.sma(close, slow_length)
// Buy condition
buy_condition = ta.crossover(close, fast_sma) and ta.crossover(close, slow_sma)
// Sell condition
sell_condition = ta.crossunder(close, fast_sma) and ta.crossunder(close, slow_sma)
// Calculate stop loss levels
prev_low = request.security(syminfo.tickerid, "1D", low[1], lookahead=barmerge.lookahead_on)
prev_high = request.security(syminfo.tickerid, "1D", high[1], lookahead=barmerge.lookahead_on)
// Plot signals on the chart
plotshape(buy_condition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(sell_condition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
// Strategy exit conditions
long_stop_loss = sell_condition ? prev_low : na
short_stop_loss = buy_condition ? prev_high : na
strategy.exit("Long Exit", from_entry="Long", when=sell_condition, stop=long_stop_loss)
strategy.exit("Short Exit", from_entry="Short", when=buy_condition, stop=short_stop_loss)
strategy.entry("Long", strategy.long, when=buy_condition)
strategy.entry("Short", strategy.short, when=sell_condition)