यह ब्रेकआउट और अस्थिरता स्टॉप पर आधारित एक प्रवृत्ति-अनुसरण रणनीति है। यह रणनीति गतिशील स्टॉप लॉस लाइन के मूल्य ब्रेकआउट द्वारा प्रवृत्ति दिशा की पहचान करती है। यह तब व्यापार में प्रवेश करती है जब मूल्य स्टॉप लॉस लाइन में प्रवेश करता है और रुझानों को ट्रैक करने और लाभ में लॉक करने के लिए स्टॉप लॉस लाइन का उपयोग करता है। रणनीति का उद्देश्य गतिशील स्टॉप के साथ जोखिम को नियंत्रित करते हुए मध्यम-लंबे अवधि के रुझानों को पकड़ना है।
रणनीति प्रवृत्ति दिशा निर्धारित करने और ट्रैक स्टॉप हानि निर्धारित करने के लिए अस्थिरता रोक संकेतक का उपयोग करती है। अस्थिरता रोक मूल्य उतार-चढ़ाव रेंज के आधार पर एक गतिशील स्टॉप हानि रेखा की गणना करता है। विशिष्ट चरण हैंः
स्टॉप लॉस लाइन मूल्य के साथ ऊपर और नीचे उतार-चढ़ाव करती है, जिससे एक गतिशील चैनल बनता है।
जब मूल्य स्टॉप लॉस लाइन में प्रवेश करता है, तो यह एक रुझान उलट का संकेत देता है। रणनीति स्थिति खोलेगीः
खोलने की स्थिति के बाद, रणनीति लाइन के साथ स्टॉप लॉस ट्रैक करती हैः
जब मूल्य स्टॉप लॉस लाइन पर फिर से पहुंचता है, तो स्थिति बंद हो जाएगी।
इस प्रकार, स्टॉप के साथ जोखिम को नियंत्रित करते हुए रणनीति समय पर रुझानों का पालन कर सकती है।
इस रणनीति के निम्नलिखित फायदे हैंः
कुछ जोखिमों पर भी विचार किया जाना चाहिए:
समाधान:
इस रणनीति को निम्नलिखित पहलुओं में और अधिक अनुकूलित किया जा सकता हैः
कुल मिलाकर, अस्थिरता स्टॉप के साथ यह गति ब्रेकआउट रणनीति एक बहुत ही व्यावहारिक प्रवृत्ति अनुसरण प्रणाली है। यह गतिशील स्टॉप के साथ जोखिम को प्रभावी ढंग से नियंत्रित करते हुए प्रवृत्ति उलट अवसरों को पकड़ सकता है और प्रवृत्ति का पालन कर सकता है। उचित पैरामीटर ट्यूनिंग के साथ, यह ट्रेंडिंग बाजारों के दौरान अच्छा रिटर्न प्राप्त कर सकता है। लेकिन कुछ मुद्दों को संबोधित करने की आवश्यकता है जैसे अति-संवेदनशील स्टॉप, उच्च व्यापार आवृत्ति आदि। आगे के अनुकूलन इसे एक कुशल और मजबूत मात्रा व्यापार रणनीति में बदल सकते हैं।
/*backtest start: 2023-11-11 00:00:00 end: 2023-11-12 00:00:00 period: 3m basePeriod: 1m 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/ //@version=4 strategy(shorttitle='Volatility Stop Strategy',title='Volatility Stop Strategy (by Coinrule)', overlay=true, initial_capital = 100, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent, commission_value=0.1) // Works better on 3h, 1h, 2h, 4h // Best time frame 2H //Backtest dates 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 = 2021, 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() => time >= start and time <= finish ? true : false // create function "within window of time" length = input(20, "Length", minval = 2) src = input(close, "Source") factor = input(3.0, "vStop Multiplier", minval = 0.25, step = 0.25) volStop(src, atrlen, atrfactor) => var max = src var min = src var uptrend = true var stop = 0.0 atrM = nz(atr(atrlen) * atrfactor, tr) max := max(max, src) min := min(min, src) stop := nz(uptrend ? max(stop, max - atrM) : min(stop, min + atrM), src) uptrend := src - stop >= 0.0 if uptrend != nz(uptrend[1], true) max := src min := src stop := uptrend ? max - atrM : min + atrM [stop, uptrend] [vStop, uptrend] = volStop(src, length, factor) //Entry strategy.entry(id="long", long = true, when = crossover(close, vStop) and window()) //Exit strategy.close("long", when = crossunder(close, vStop)) plot(vStop,"Vstop", color.black, linewidth=2)