यह रणनीति प्रवेश बिंदुओं को निर्धारित करने के लिए अल्पकालिक और दीर्घकालिक चलती औसत के स्वर्ण क्रॉस के आधार पर ट्रेडिंग सिग्नल उत्पन्न करती है, और निकास पदों के लिए स्टॉप लॉस बिंदु निर्धारित करती है। यह एक विशिष्ट प्रवृत्ति के बाद की रणनीति है। यह स्पष्ट ऊपर की ओर रुझान वाले बाजारों के लिए उपयुक्त है, जिससे यह प्रवृत्ति का पालन करने और ऊपर की ओर गति से लाभान्वित होने की अनुमति देता है, और जब प्रवृत्ति उलट जाती है तो तुरंत बाहर निकल जाता है।
बाजार की प्रवृत्ति निर्धारित करने के लिए रणनीति मुख्य रूप से अल्पकालिक और दीर्घकालिक चलती औसत के क्रॉसओवर का उपयोग करती है। तर्क निम्नानुसार हैः
3 दिन के सरल चलती औसत short_ma को अल्पकालिक चलती औसत के रूप में गणना करें.
19 दिन के सरल चलती औसत long_ma को दीर्घकालिक चलती औसत के रूप में गणना करें.
जब short_ma long_ma के ऊपर से गुजरता है, तो एक लंबा संकेत उत्पन्न होता है.
जब कीमत प्रवेश मूल्य * (1 + स्टॉप लॉस %) से ऊपर बढ़ जाती है, तो सभी पदों को बंद कर दें।
जब short_ma long_ma से नीचे जाता है, तो एक छोटा संकेत उत्पन्न होता है।
रणनीति के संचालन की अवधि को सीमित करने के लिए एक विशिष्ट तिथि सीमा के भीतर बैकटेस्ट।
केवल तभी ट्रेड करें जब 100 दिन का चलती औसत trend_ma ऊपर की ओर रुझान बताता है।
यह रणनीति चलती औसत के स्वर्ण क्रॉस का उपयोग करती है। एक निरंतर अपट्रेंड के दौरान, जब शॉर्ट_मा लॉन्ग_मा के ऊपर पार करता है तो लंबे संकेत उत्पन्न होते हैं जिससे इसे अवसरों को पकड़ने की अनुमति मिलती है। शॉर्ट_मा लॉन्ग_मा के नीचे पार होने पर छोटे संकेत जोखिमों को प्रबंधित करने में मदद करते हैं।
इस रणनीति के फायदे:
मूविंग एवरेज क्रॉसओवर के आधार पर सरल और समझने में आसान तर्क।
स्पष्ट प्रवेश और निकास नियम जो प्रवृत्ति का अनुसरण करते हैं और जोखिमों का प्रबंधन करते हैं।
रुझान उलटा होने पर मुनाफे को लॉक करने के लिए हानि रोकें।
गलत संकेतों से बचने के लिए केवल उस समय व्यापार करें जब समग्र प्रवृत्ति ऊपर हो।
अनुकूलन योग्य चलती औसत अवधि विभिन्न बाजारों के अनुकूल।
विशिष्ट अवधियों में बैकटेस्ट वैलिडेशन की अनुमति देता है।
इस रणनीति के जोखिमः
पैरामीटर ट्यूनिंग के प्रति संवेदनशील, विभिन्न सेटिंग्स प्रदर्शन को प्रभावित करती हैं।
ऐतिहासिक आंकड़ों के अनुरूप वक्र, विसंगतियों में अप्रभावी।
मूल्य अंतर को संभालने में असमर्थ, स्टॉप लॉस से अधिक जोखिम।
विभिन्न बाजारों में फंसने की प्रवृत्ति।
केवल स्पष्ट ट्रेंडिंग बाजारों में काम करता है, साइडवेज के लिए नहीं।
बैकटेस्ट अवधि का चयन परिणामों को प्रभावित करता है।
इस रणनीति में निम्नलिखित पहलुओं में सुधार किया जा सकता हैः
इष्टतम मानों को खोजने के लिए विभिन्न पैरामीटर सेटों का परीक्षण करें।
निर्णयों को बेहतर बनाने के लिए एमएसीडी, बोलिंगर बैंड जैसे अन्य संकेतकों को शामिल करें।
जोखिमों को बेहतर ढंग से नियंत्रित करने के लिए गतिशील ट्रेलिंग स्टॉप लॉस का प्रयोग करें।
प्रवेश का अनुकूलन, बाहर निकलने का तर्क, भागे प्रवेश की तरह।
विभिन्न बाजार स्थितियों में मजबूती का परीक्षण करें।
पैरामीटर ट्यूनिंग और सिग्नल जनरेशन के लिए मशीन लर्निंग का अन्वेषण करें।
मूल्य अंतराल और स्टॉप लॉस व्हिपसा परिदृश्यों का प्रबंधन जोड़ें।
यह सरल और प्रभावी रणनीति मूविंग एवरेज क्रॉस का उपयोग करके अपट्रेंड्स को पकड़ती है और स्टॉप लॉस के माध्यम से जोखिम का प्रबंधन करती है। यह मजबूत ट्रेंडिंग बाजारों में अच्छा प्रदर्शन करती है लेकिन इसकी सीमाएं हैं। मजबूती में सुधार के लिए आगे अनुकूलन और परीक्षण की आवश्यकता है। कुल मिलाकर इसमें स्पष्ट तर्क है, इसे समझना और लागू करना आसान है, शुरुआती लोगों के लिए सीखने के लिए उपयुक्त है।
/*backtest start: 2023-10-01 00:00:00 end: 2023-10-31 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Ta3MooChi //@version=5 strategy("전략", overlay=true,process_orders_on_close = true, pyramiding = 100) short_ma = ta.sma(close,input.int(3, "단기 이평", minval = 1)) long_ma = ta.sma(close, input.int(19,"장기 이평", minval = 1)) trend_ma = ta.sma(close, input.int(100," 추세 이평", minval = 20, group = "추세 이평")) up_trend = (trend_ma > trend_ma[1]) use_trend_ma = input.bool(true, title = "추세용 이평 사용", group = "추세 이평" ) inTrendMa = not use_trend_ma or up_trend useDateFilter = input.bool(true, title = "특정 기간 백테스트", group = "기간 백테스트") backtestStartDate = input(timestamp("1 Jan 2021"), title = "시작날짜", group = "기간 백테스트") backtestEndDate = input(timestamp("1 Jan 2022"), title = "종료날짜", group = "기간 백테스트") inTradeWindow = true longStopPerc = 1 + input.float(3, "최소수익률%", minval = 1)*0.01 longcondition = ta.crossover(short_ma, long_ma) shortcondition = ta.crossunder(short_ma, long_ma) if (longcondition) and inTradeWindow and inTrendMa strategy.entry("long", strategy.long) if (shortcondition) and (close > strategy.position_avg_price*longStopPerc) and inTradeWindow strategy.close_all() if not inTradeWindow and inTradeWindow[1] strategy.cancel_all() strategy.close_all(comment = "매매 종료") plot(short_ma,color = color.yellow) plot(long_ma,color = color.blue) plot(trend_ma,color = color.gray)