यह रणनीति एक विपरीत दृष्टिकोण (खरीद गिरावट) को ट्रेंड-फॉलोइंग लॉजिक (केवल जब कीमत MA200 से ऊपर हो) के साथ जोड़ती है। रणनीति का उद्देश्य सबसे अधिक लाभदायक होने की संभावना वाली गिरावट खरीदने के लिए सबसे अच्छा समय खोजना है। लंबी अवधि के चलती औसत से ऊपर की कीमत गति को इंगित करती है जो अल्पकालिक कमजोरी के दौरान संपत्ति खरीदने से लाभान्वित होने की संभावना को बढ़ाती है।
यह रणनीति यह निर्धारित करने के लिए लुकबैक अवधि के दौरान कीमत के समग्र प्रतिशत परिवर्तन की गणना करती है कि क्या कीमत सापेक्ष गिरावट पर है। जब समग्र परिवर्तन प्रतिशत -3% से नीचे होता है, तो कीमत को गिरावट पर माना जाता है। इसके अलावा, रणनीति प्रवृत्ति का न्याय करने के लिए एक संकेतक के रूप में 200-दिवसीय सरल चलती औसत भी निर्धारित करती है। खरीद संकेत केवल तभी ट्रिगर किए जाते हैं जब कीमत 200-दिवसीय चलती औसत से ऊपर होती है। औसत प्रतिगमन सिद्धांत और लंबी-लघु युग्मन दोनों का उपयोग करके, रणनीति लाभ कमाने के लिए एक ऊपर की प्रवृत्ति के दौरान गिरावट खरीदती है।
यह रणनीति ट्रेंड ट्रेडिंग और कंटेरियन ट्रेडिंग दोनों के फायदों को जोड़ती है। एक ओर, ट्रेंड को निर्धारित करने के लिए लंबी अवधि के मूविंग एवरेज का उपयोग करने से एक गिरावट की प्रवृत्ति के दौरान अंधाधुंध खरीदारी से बचा जाता है। दूसरी ओर, शॉर्ट-टर्म सुधार के दौरान खरीदारी की गिरावट बेहतर प्रवेश अवसर प्रदान करती है। संयोजन व्यापार सुरक्षा और उच्च लाभ संभावना दोनों सुनिश्चित करता है। इसके अलावा, रणनीति में मापदंडों के लिए बड़े अनुकूलन स्थान हैं जिन्हें विभिन्न बाजारों के अनुरूप समायोजित किया जा सकता है, जिससे इसे मजबूत अनुकूलन क्षमता मिलती है।
सबसे बड़ा जोखिम यह है कि खरीद संकेत ट्रिगर होने के बाद कीमत में गिरावट जारी रह सकती है, जिससे बड़े नुकसान हो सकते हैं। इसके अलावा, यदि बाजार लंबे समय तक रेंज में रहता है और कीमत चलती औसत को तोड़ने में विफल रहती है, तो रणनीति भी विफल हो जाएगी। ऐसे जोखिमों को कम करने के लिए, चलती औसत अवधि को तदनुसार छोटा किया जा सकता है और पर्याप्त सुरक्षा के मार्जिन को सुनिश्चित करने के लिए खरीद मानदंडों को अनुकूलित किया जा सकता है।
रणनीति को कई पहलुओं में अनुकूलित किया जा सकता हैः 1) विभिन्न बाजारों के अनुकूल होने के लिए चलती औसत अवधि को अनुकूलित करना; 2) पर्याप्त मार्जिन सुनिश्चित करने के लिए खरीद मानदंडों को अनुकूलित करना; 3) नियंत्रण घाटे के लिए स्टॉप लॉस जोड़ना; 4) सटीकता में सुधार के लिए प्रवृत्ति और गिरावट का न्याय करने के लिए अन्य संकेतकों को मिलाएं।
सामान्य तौर पर, यह एक विशिष्ट रणनीति है जो प्रवृत्ति के बाद और विपरीत व्यापारिक विचारों को जोड़ती है। यह मजबूत व्यावहारिक मूल्य के साथ, व्यापार सुरक्षा और उच्च जीत की संभावना दोनों को सुनिश्चित करती है। स्थिरता और वास्तविक व्यापार प्रभावों पर और सुधार पैरामीटर अनुकूलन और स्टॉप लॉस अनुकूलन के माध्यम से प्राप्त किया जा सकता है।
/*backtest start: 2023-12-08 00:00:00 end: 2024-01-07 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Buy The Dips - MA200 Optimised", overlay=false) //Moving average MAinp = input(defval = 100, title = "MA", type = input.integer, minval = 1, step = 1) MA=sma(close, MAinp) //Percent change inp_lkb = input(1, title='Lookback Period') perc_change(lkb) => overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100 // Call the function overall = perc_change(inp_lkb) // === INPUT BACKTEST RANGE === fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12) fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31) fromYear = input(defval = 2020, title = "From Year", type = input.integer, minval = 1970) thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12) thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31) thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970) showDate = input(defval = true, title = "Show Date Range", type = input.bool) start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => true // create function "within window of time" //Entry/Exit strategy.entry(id="long", long = true, when = window() and overall<-3 and close > MA) strategy.close(id="long", when = window() and overall>1) bgcolor(color = showDate and window() ? color.gray : na, transp = 90) plot(overall, color=color.black, title='Overall Percentage Change', linewidth=3) band1 = hline(1, "Upper Band", color=#C0C0C0) band0 = hline(-2, "Lower Band", color=#C0C0C0) fill(band1, band0, color=#9915FF, transp=90, title="Background") hline(0, title='Center Line', color=color.orange, linestyle=hline.style_solid, linewidth=2)