इस रणनीति का नाम
इस रणनीति का मुख्य तर्क 21-दिवसीय सरल चलती औसत (एसएमए) के साथ मूल्य क्रॉसओवर को ट्रैक करना है। इस बीच, यह सामान्य प्रवृत्ति निर्धारित करने के लिए 50-दिवसीय एसएमए और 200-दिवसीय एसएमए की गणना भी करता है।
विशेष रूप से, रणनीति किसी दिए गए दिनांक सीमा के भीतर मूल्य को बंद करने का अनुरोध करती है, और इनपुट अवधि के आधार पर विभिन्न एसएमए की गणना करती है। यदि मूल्य 21 दिन के एसएमए को ऊपर की ओर तोड़ता है, तो यह खरीद संकेत सेट करता है। यदि मूल्य 21 दिन के एसएमए को नीचे की ओर तोड़ता है, तो यह बिक्री संकेत सेट करता है।
एसएमए की गणना करने और क्रॉसओवर निर्धारित करने के साथ, रणनीति वर्तमान स्थिति को भी ट्रैक करती है। यह सिग्नल ट्रिगर खरीदने पर स्थिति में प्रवेश करती है, और सिग्नल ट्रिगर बेचने पर स्थिति को समतल करती है। इस तरह, यह एसएमए क्रॉसओवर पर आधारित स्वचालित ट्रेडिंग प्रणाली का एहसास करती है।
इस रणनीति का सबसे बड़ा फायदा यह है कि यह सरल और समझने और लागू करने में आसान है। एसएमए एक आम तौर पर उपयोग किया जाने वाला तकनीकी संकेतक है और एसएमए क्रॉसओवर सबसे आम ट्रेडिंग संकेतों में से एक है। इस प्रकार के संकेतक क्रॉसओवर रणनीतियों को स्वचालित ट्रेडिंग के लिए विभिन्न शेयरों और समय सीमा पर आसानी से लागू किया जा सकता है।
एक और लाभ यह है कि इस रणनीति को एसएमए मापदंडों को समायोजित करके अनुकूलित किया जा सकता है। उदाहरण के लिए, हम विशिष्ट स्टॉक के लिए इष्टतम खोजने के लिए एसएमए अवधि के विभिन्न संयोजनों का परीक्षण कर सकते हैं। इसके अलावा, पुष्टि और अनुकूलन के लिए अन्य संकेतकों को जोड़कर रणनीति में सुधार किया जा सकता है।
इस रणनीति का सबसे बड़ा जोखिम यह है कि संकेतक-आधारित रणनीतियाँ अत्यधिक झूठे संकेत उत्पन्न करती हैं। उदाहरण के लिए, सीमा-बंद अवधि के दौरान कीमत अक्सर एसएमए को पार कर सकती है, जिसके परिणामस्वरूप अनावश्यक ट्रेड हो सकते हैं।
सामान्य समाधानों में स्टॉप लॉस सेट करना, ट्यूनिंग पैरामीटर या फ़िल्टर शर्तें जोड़ना शामिल हैं। उदाहरण के लिए, हम जोखिम को सीमित करने के लिए अधिकतम हानि अनुपात सेट कर सकते हैं, अधिक स्थिर पैरामीटर खोजने के लिए एसएमए अवधि को समायोजित कर सकते हैं, या कुछ ट्रेडिंग संकेतों को फ़िल्टर करने के लिए अन्य संकेतकों का उपयोग कर सकते हैं।
इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः
एसएमए पैरामीटर के इष्टतम संयोजनों का परीक्षण और चयन करें। सर्वोत्तम अवधि खोजने के लिए विभिन्न एसएमए लंबाई का बैकटेस्ट करें।
फ़िल्टरसिग्नल पुष्टिकरण के लिए अन्य संकेतक जोड़ें, जैसे आरएसआई, एमएसीडी आदि। यह झूठे संकेतों को फ़िल्टर करने में मदद करता है।
स्टॉप लॉस लॉजिक को शामिल करें। जोखिमों को बेहतर ढंग से नियंत्रित करने के लिए अधिकतम सहनशील हानि या ट्रेलिंग स्टॉप सेट करें।
प्रवेश का समय अनुकूलित करें. एसएमए क्रॉसओवर का सख्ती से पालन करने के बजाय प्रमुख ब्रेकआउट के आसपास प्रवेश करने पर विचार करें।
मिश्रित रणनीतियों का परीक्षण करें। अन्य प्रकार की रणनीतियों के साथ संयोजन करें जैसे प्रवृत्ति का अनुसरण करना।
रणनीति सरल एसएमए क्रॉसओवर संकेतों के साथ स्वचालित व्यापार का एहसास करती है। पेशेवरों को समझना और लागू करना आसान हो रहा है। विपक्ष अत्यधिक संकेत हैं और व्हिपसाओं के लिए प्रवण हैं। हम पैरामीटर ट्यूनिंग, फिल्टर जोड़ने, स्टॉप लॉस आदि द्वारा इसे बेहतर बना सकते हैं। रणनीति हमें एक बुनियादी ढांचा प्रदान करती है। हम इसे अधिक घटकों को शामिल करके समृद्ध कर सकते हैं।
/*backtest start: 2023-02-15 00:00:00 end: 2024-02-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Price Cross Above/Below SMA Strategy", shorttitle="Tressy Strat", overlay=true) // Define start and end year inputs start_year = input.int(2022, title="Start Year") end_year = input.int(2022, title="End Year") // Define start and end month inputs start_month = input.int(1, title="Start Month", minval=1, maxval=12) end_month = input.int(12, title="End Month", minval=1, maxval=12) // Define SMA length inputs sma_length = input.int(21, title="SMA Length") sma_length_50 = input.int(50, title="50 SMA Length") sma_length_200 = input.int(200, title="200 SMA Length") // Filter data within the specified date range filter_condition = true filtered_close = request.security(syminfo.tickerid, "D", close[0], lookahead=barmerge.lookahead_on) // Define SMAs using the input lengths sma = ta.sma(filtered_close, sma_length) sma_50 = ta.sma(filtered_close, sma_length_50) sma_200 = ta.sma(filtered_close, sma_length_200) // Initialize position var bool in_position = false // Condition for a price cross above SMA within the date range cross_above = filter_condition and ta.crossover(filtered_close, sma) // Condition for a price cross below SMA within the date range cross_below = filter_condition and ta.crossunder(filtered_close, sma) // Buy condition if cross_above in_position := true // Sell condition if cross_below in_position := false // Strategy entry and exit if cross_above strategy.entry("Buy", strategy.long) if cross_below strategy.close("Buy") // Plot the SMAs on the chart plot(sma, color=color.blue, title="21 SMA") plot(sma_50, color=color.red, title="50 SMA") plot(sma_200, color=color.orange, title="200 SMA") // Plot the Buy and Sell signals with "tiny" size plotshape(cross_above, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.tiny, title="Buy Signal") plotshape(cross_below, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.tiny, title="Sell Signal")