
यह रणनीति एक मध्य-लंबी रेखा प्रवृत्ति ट्रैकिंग रणनीति है जो ब्रेकआउट और गतिशील स्टॉप-लॉस संकेतकों के आधार पर डिज़ाइन की गई है। रणनीति प्रवृत्ति की दिशा का आकलन करने के लिए गतिशील स्टॉप-लॉस लाइन को तोड़ने के लिए कीमतों का उपयोग करती है, जब कीमत स्टॉप-लॉस लाइन को तोड़ती है तो अंदर आती है, और फिर प्रवृत्ति को ट्रैक करने और मुनाफे को लॉक करने के लिए स्टॉप-लॉस लाइन का उपयोग करती है। रणनीति का उद्देश्य मध्य-लंबी रेखा प्रवृत्ति को पकड़ना है, जबकि गतिशील स्टॉप-लॉस का उपयोग करके जोखिम को नियंत्रित करना है।
यह रणनीति प्रवृत्ति की दिशा का आकलन करने और स्टॉप को ट्रैक करने के लिए गतिशील स्टॉप संकेतक, Volatility Stop का उपयोग करती है। मूल्य में उतार-चढ़ाव की सीमा के आधार पर एक गतिशील स्टॉप लाइन की गणना करने के लिए Volatility Stop का उपयोग किया जाता है।
इस प्रकार, स्टॉप-लॉस लाइन एक गतिशील चैनल बनाने के लिए कीमतों के उतार-चढ़ाव के साथ ऊपर और नीचे चलती है।
जब कीमत स्टॉप लॉस लाइन को तोड़ती है, तो रणनीति एक स्थिति खोलती है, यह दर्शाता है कि रुझान उलटा हो गया हैः
एक बार स्थिति शुरू होने के बाद, रणनीति स्टॉप लॉस को ट्रैक करने के लिए स्टॉप लाइन का उपयोग करती हैः
जब कीमत फिर से स्टॉप लॉस लाइन को छूती है, तो रणनीति को बंद कर दिया जाता है।
इस प्रकार, रणनीति को समय पर ट्रेंड रिवर्स ट्रैक करने और स्टॉप लॉस का उपयोग करके जोखिम को नियंत्रित करने की अनुमति मिलती है।
इस रणनीति के निम्नलिखित फायदे हैं:
इस रणनीति के कुछ जोखिम भी हैं:
क्या करें?
इस रणनीति को और अधिक अनुकूलित किया जा सकता हैः
यह गतिशील स्टॉपओवर रणनीति एक बहुत ही व्यावहारिक ट्रेंड ट्रैकिंग रणनीति है। यह ट्रेंड रिवर्स के अवसरों को पकड़ सकता है, जबकि गतिशील स्टॉपओवर का उपयोग करके जोखिम को प्रभावी ढंग से नियंत्रित कर सकता है। यदि पैरामीटर का अनुकूलन किया जाता है, तो ट्रेंडिंग स्थिति में बेहतर रिटर्न प्राप्त किया जा सकता है। लेकिन इस रणनीति को कुछ मुद्दों पर भी ध्यान देने की आवश्यकता है, जैसे कि स्टॉपओवर बहुत संवेदनशील है, व्यापार की आवृत्ति बहुत अधिक है। आगे के अनुकूलन के साथ, यह रणनीति एक उच्च दक्षता, स्थिर मात्रात्मक व्यापार प्रणाली बन सकती है।
/*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)