इस रणनीति का मुख्य विचार भारित चलती औसत के आसपास महत्वपूर्ण समर्थन / प्रतिरोध स्तरों का परीक्षण करने वाले उलटफेरों द्वारा पदों को लेना है। जब कीमतें ऊपर / नीचे जाती हैं तो चलती औसत का परीक्षण करने के लिए वापस ले जाती हैं, तो यह समर्थन / प्रतिरोध स्तर बनाने और उलटफेर के अवसर उत्पन्न करने की संभावना है।
यह रणनीति भारित चलती औसत संकेतक पर आधारित है। यह पहले एक निश्चित लंबाई के डब्ल्यूएमए की गणना करता है, फिर निगरानी करता है कि क्या कीमत डब्ल्यूएमए से कुछ सीमा तक टूट जाती है। जब ब्रेकआउट दूरी एक सीमा तक पहुंच जाती है, तो यह एक तीर को प्लॉट करता है और पदों को खोलता है। लंबे समय तक जाने के लिए, कीमत को पहले कुछ सीमा तक तोड़ने की आवश्यकता होती है; शॉर्ट जाने के लिए, कीमत को पहले कुछ सीमा तक तोड़ने की आवश्यकता होती है। ब्रेकआउट के माध्यम से उलट संकेतों का गठन करके और डब्ल्यूएमए के समर्थन / प्रतिरोध स्तरों के साथ संयुक्त होकर, यह बाजार में प्रवेश समय को अनुकूलित करने में मदद करता है।
रणनीति ट्रेल पैरामीटर के माध्यम से ट्रेलिंग स्टॉप लॉस और फिक्स्ड स्टॉप लॉस के बीच विकल्प प्रदान करती है, इसलिए स्टॉप लॉस रेंज को समायोजित करके जोखिमों को नियंत्रित किया जा सकता है। यह सीमा आदेशों के साथ आंशिक लाभ में भी लॉक करता है। इसके अलावा, समय फिल्टर पदों को खोलने के लिए विशिष्ट समय अवधि को प्रतिबंधित कर सकते हैं।
सबसे बड़ा फायदा यह है कि रिवर्स सेटअप को चलती औसत के साथ जोड़कर शुरुआती पदों के लिए प्रमुख बाजार मोड़ बिंदुओं को कैप्चर किया जाता है। रिवर्स रणनीतियों में अक्सर अच्छी जीत दर और जोखिम पुरस्कार अनुपात होता है, जोखिमों को नियंत्रित करना आसान होता है। यह रणनीति व्यापक स्टॉप लॉस तंत्र और आंशिक लाभ लेने की विधियों से भी लैस होती है, जो जोखिमों को कम करने और स्थिरता में सुधार करने में मदद करती है।
चूंकि यह चलती औसत पर आधारित है, इसलिए विभिन्न बाजारों में अनुकूलन क्षमता का परीक्षण करने के लिए डब्ल्यूएमए लंबाई, ब्रेकआउट रेंज आदि जैसे मानों को समायोजित करके पैरामीटर अनुकूलन के लिए पर्याप्त स्थान उपलब्ध है।
सबसे बड़ा जोखिम असफल उलटफेर है. यदि मूल्य पलटाव संकेतों के गठन के बाद स्टॉप लॉस या लाभ लेने में विफल रहता है, और मूल दिशा में चल रहा है, तो यह काफी तरंग हानि का सामना करेगा.
इसके अलावा, यह पैरामीटर अनुकूलन पर बहुत अधिक निर्भर करता है। अनुचित पैरामीटर सेटिंग्स आसानी से मूल्य उलट समय को याद कर सकती हैं या झूठे संकेत उत्पन्न कर सकती हैं। पर्याप्त बैकटेस्ट के माध्यम से बाजार के व्यवहार की उचित समझ और पैरामीटर विकल्पों के विवेकपूर्ण मूल्यांकन की आवश्यकता होती है।
सिग्नल की गुणवत्ता और सटीकता में सुधार के लिए अधिक संकेतक पेश किए जा सकते हैं। उदाहरण के लिए, मूल्य उलटों से पहले, मूल्य उतार-चढ़ाव पैटर्न की विशेषता के लिए कुछ हालिया अवधियों में वृद्धिशील मानों की जांच की जा सकती है, विशेष रूप से अल्पकालिक वृद्धिशील डेटा। या बहु-कारक मॉडलिंग के लिए मूल्य गति, अस्थिरता आदि का पता लगाने के लिए कुछ मात्रात्मक कारक जोड़े जा सकते हैं।
ऐतिहासिक व्यापार संकेतों और मूल्य निर्धारण डेटा के आधार पर निकट अवधि के मूल्य आंदोलन का पूर्वानुमान लगाने के लिए मशीन लर्निंग विधियों का भी परीक्षण किया जा सकता है, जो झूठे संकेतों को फ़िल्टर करने और संकेत की गुणवत्ता में सुधार करने में मदद करता है।
इसके अतिरिक्त, कुछ अनुकूलन अनुकूलन तंत्र को लागू किया जा सकता है। वास्तविक व्यापार परिणामों के अनुसार, पैरामीटर या नियम भार को गतिशील रूप से अनुकूलित किया जा सकता है ताकि रणनीति के आत्म-अनुकूलन और ईएनओ को महसूस किया जा सके।
इस रणनीति का समग्र संचालन स्थिर है। उचित पैरामीटर स्थान और बाजार वातावरण के भीतर, यह काफी रिटर्न प्राप्त कर सकता है। सबसे बड़ा लाभ नियंत्रित जोखिम और अनुकूलन क्षमता में निहित है। अगला कदम संकेत की गुणवत्ता में सुधार और अनुकूलन अनुकूलन क्षमताओं को शामिल करने पर ध्यान केंद्रित करेगा। यह माना जाता है कि निरंतर सुधार पर, यह रणनीति निवेश पोर्टफोलियो में एक सम्मोहक विकल्प बन सकती है।
/*backtest start: 2023-11-20 00:00:00 end: 2023-11-22 08:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="WMA Breakout",overlay=true, initial_capital=25000, default_qty_value=1, commission_type=strategy.commission.cash_per_contract, commission_value=3.02) len = input(20, minval=1, title="Length") src = input(close, title="Source") out = wma(src, len) price_drop = input(.003, "When price drops (In Ticks) Enter Long", step=.001) price_climb = input(.003, "When price climbs (In Ticks) Enter Short", step=.001) trail = input(true, "Trailing Stop(checked), Market stop(unchecked)") stop = input(10, "Stop (in ticks)", step=1) limit = input(5, "Limit Out", step=1) //size = input(1, "Limit Position Size (pyramiding)", minval=1) timec = input(true, "Limit Time of Day (Buying Side)") //Time Session sess = input("1600-0500", "Start/Stop trades (Est time)") t = time(timeframe.period, sess) //plots plot(wma(src,len)) z = if low+price_drop<out (out-low) plotarrow(z, colorup=red) a = if high-price_climb>out (high-out) plotarrow(a, colorup=lime) av=wma(src,len) //Orders if(timec) strategy.entry("Enterlong", long=true, when=z and t>1) else strategy.entry("Enterlong", long=true, when=z) if(trail) strategy.exit("Exit","Enterlong", profit=limit, trail_points = 0, trail_offset = stop ) else strategy.exit("Exit","Enterlong", profit=limit, loss = stop ) if(timec) strategy.entry("Entershort", long=false, when=a and t>1) else strategy.entry("Entershort", long=false, when=a) if(trail) strategy.exit("Exit","Entershort", profit=limit, trail_points = 0, trail_offset = stop ) else strategy.exit("Exit","Entershort", profit=limit, loss = stop )