ऐतिहासिक अस्थिरता रेंज ब्रेकआउट ट्रेडिंग रणनीति


निर्माण तिथि: 2023-09-21 20:38:29 अंत में संशोधित करें: 2023-09-21 20:38:29
कॉपी: 1 क्लिक्स: 677
1
ध्यान केंद्रित करना
1617
समर्थक

अवलोकन

इस रणनीति के आधार पर कीमतों के इतिहास में उतार-चढ़ाव के क्षेत्र के लिए व्यापार के संकेतों का निर्धारण. यह उच्चतम और निम्नतम कीमतों के बीच एक निश्चित अवधि के लिए अंतर की गणना की और एक चलती औसत के माध्यम से उतार-चढ़ाव के क्षेत्र के गठन. जब कीमतों के इस क्षेत्र के ऊपर और नीचे ट्रैक को तोड़ने, व्यापार के संकेत पैदा करता है.

रणनीति सिद्धांत

इस रणनीति का केंद्रीय संकेतक मूल्य की ऐतिहासिक उतार-चढ़ाव दर है। इसकी गणना निम्नानुसार की जाती हैः

  1. पिछले एन रूट बार के उच्चतम और निम्नतम मूल्य के बीच का अंतर ज्ञात करें, जिसे एचएल के रूप में लिखा गया है

  2. पिछले N रूट Bar के उच्चतम और निम्नतम मूल्यों का औसत (avg ((H, L))

  3. उतार-चढ़ाव दर = एचएल / avg (एच, एल)

जिसमें N “Volatility Length” पैरामीटर है.

और फिर, यह गतिशीलता के साथ, हम नीचे और ऊपर की ओर गणना करते हैंः

अपट्रेल = वर्तमान क्लोज़ + वर्तमान क्लोज़ * अस्थिरता दर

निचला ट्रैक = वर्तमान बंद - वर्तमान बंद * अस्थिरता दर

ऊपर और नीचे के रेल को WMA के माध्यम से समतल किया जाता है, जिसका पैरामीटर “Average Length” है।

जब कीमत ऊपर जाती है, तो अधिक करें; जब कीमत नीचे जाती है, तो कम करें।

“Exit Type” पैरामीटर के आधार पर समस्थानिक सिग्नल दिया गया हैः

  1. जब Exit Type Volatility MA होता है, तो कीमत WMA के औसत स्तर के स्तर को तोड़ देती है;

  2. जब Exit Type Range Crossover होता है, तो कीमतें ऊपर और नीचे की पटरी को तोड़ देती हैं।

रणनीतिक लाभ

  • प्रवृत्तियों को पकड़ने के लिए मूल्य उतार-चढ़ाव का उपयोग करना
  • WMA समरेखीय प्रसंस्करण जो कि अधिक स्थिर और विश्वसनीय बनाता है
  • प्रवृत्ति में बदलाव को पकड़ना आसान है
  • समानांतर या ऊपर-नीचे पटरी को समय पर रोकना
  • विभिन्न बाजारों के लिए अनुकूलित करने के लिए पैरामीटर अनुकूलित करने के लिए जगह

रणनीतिक जोखिम

  • सीमा पार करने से उछाल वापस आने का खतरा
  • रुझान में बदलाव के कारण अधिक नुकसान
  • WMA औसत रेखा कभी-कभी ट्रेंड टर्नओवर की पहचान करने के लिए पर्याप्त संवेदनशील नहीं होती है
  • पैरामीटर के लिए अनुकूलित करना आसान नहीं है, बहुत अधिक प्रयास और त्रुटि की आवश्यकता है
  • धन की वापसी के जोखिम, धन प्रबंधन पर ध्यान देने की आवश्यकता

निम्नलिखित उपायों से जोखिम को कम किया जा सकता हैः

  • पैरामीटर को अनुकूलित करें, जो कि अधिक स्थिर और विश्वसनीय हो
  • अन्य सूचकांकों को शामिल करें और एक उछाल से बचें
  • SIZE को छोटा करें, धन प्रबंधन पर ध्यान दें
  • पुनर्प्रवेश तंत्र में शामिल होने पर विचार करें

अनुकूलन दिशा

इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः

  1. पैरामीटर अनुकूलन

विभिन्न लंबाई मापदंडों का परीक्षण करके सबसे अच्छा संयोजन ढूंढें।

  1. अन्य सूचकांकों को जोड़ें

उदाहरण के लिए, यदि MACD एक ही समय में गोल्डफ़ॉर्क करता है, तो कीमतों में वृद्धि होने पर प्रवेश करने के लिए अधिक किया जाता है।

  1. स्टॉप लॉस को अनुकूलित करें

एक सरल अंतराल ब्रेकआउट के बजाय एक लचीला ट्रैक स्टॉप के रूप में अनुकूलित किया जा सकता है।

  1. फिर से प्रवेश के लिए व्यवस्था जोड़ें

यदि रुझान जारी रहता है, तो रुझान को फिर से ट्रैक करने के लिए रुझान को रोकने के बाद फिर से प्रवेश की शर्तें निर्धारित की जा सकती हैं।

  1. स्थिति प्रबंधन का अनुकूलन

बाजार में उतार-चढ़ाव के आधार पर गतिशील रूप से व्यापार स्थिति को समायोजित करें।

संक्षेप

इस रणनीति के लिए आम तौर पर प्रवृत्ति के लिए उपयुक्त है, प्रवृत्ति की दिशा और ताकत को उतार-चढ़ाव पर ट्रैक और डाउनट्रैक के माध्यम से आकलन करने के लिए, और WMA औसत के साथ मिलकर एक अधिक विश्वसनीय व्यापार क्षेत्र बनाने के लिए, जिससे एक ब्रेकआउट खरीदने और बेचने का बिंदु उत्पन्न होता है। लेकिन कुछ समस्याएं भी हैं, जैसे कि प्रवृत्ति का आकलन करने के लिए देरी, रोकथाम के तरीके में सुधार किया जा सकता है। हमें वास्तविक डेटा के लिए बहुत अधिक प्रतिक्रिया और अनुकूलन करने की आवश्यकता है, संख्यात्मक सेटिंग्स और रणनीति नियमों को समायोजित करने के लिए, गलतियों की संभावना को कम करने के लिए, ताकि रणनीति विभिन्न बाजारों में बेहतर प्रदर्शन कर सके। साथ ही, सख्त धन प्रबंधन रणनीति की दीर्घकालिक लाभप्रदता की कुंजी भी है।

रणनीति स्रोत कोड
/*backtest
start: 2023-09-13 00:00:00
end: 2023-09-20 00:00:00
period: 5m
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/
// © wbburgin

//@version=5
strategy("Volatility Range Breakout Strategy [wbburgin]", shorttitle = "VRB Strategy [wbburgin]", overlay=true,
 pyramiding=20,max_bars_back=2000,initial_capital=10000)

wma(float priceType,int length,float weight) =>
    norm = 0.0
    sum = 0.0
    for i = 0 to length - 1
        norm := norm + weight
        sum := sum + priceType[i] * weight
    sum / norm

// This definition of volatility uses the high-low range divided by the average of that range.
volatility(source,length) =>
    h = ta.highest(source,length)
    l = ta.lowest(source,length)
    vx = 2 * (h - l) / (h + l)
    vx

vm1 = input.int(100,"Average Length")
volLen = input.int(100,"Volatility Length")
vsrc = input.source(close,"Volatility Source")
cross_type = input.source(close,"Exit Source")
exit_type = input.string("Volatility MA",options=["Volatility MA","Range Crossover"],title="Exit Type")

volatility = volatility(vsrc,volLen)

highband1 = close + (close * volatility)
lowband1 = close - (close * volatility)
hb1 = wma(highband1,vm1,volatility)
lb1 = wma(lowband1,vm1,volatility)
hlavg = math.avg(hb1,lb1)

upcross = ta.crossover(high,hb1)    //Crossing over the high band of historical volatility signifies a bullish breakout
dncross = ta.crossunder(low,lb1)    //Crossing under the low band of historical volatility signifies a bearish breakout

vlong = upcross
vshort = dncross
vlong_exit = switch
    exit_type == "Volatility MA" => ta.crossunder(cross_type,hlavg)
    exit_type == "Range Crossover" => ta.crossunder(cross_type,hb1)
vshort_exit = switch
    exit_type == "Volatility MA" => ta.crossover(cross_type,hlavg)
    exit_type == "Range Crossover" => ta.crossover(cross_type,lb1)

if vlong
    strategy.entry("Long",strategy.long)
if vlong_exit
    strategy.close("Long")
if vshort
    strategy.entry("Short",strategy.short)
if vshort_exit
    strategy.close("Short")

plot(hlavg,color=color.white,title="Weighted Volatility Moving Average")
t = plot(hb1,color=color.new(color.red,50),title="Volatility Reversal Band - Top")
b = plot(lb1,color=color.new(color.green,50),title="Volatility Reversal Band - Bottom")

alertcondition(vlong,"Volatility Long Entry Signal")
alertcondition(vlong_exit,"Volatility Long Exit Signal")
alertcondition(vshort,"Volatility Short Entry Signal")
alertcondition(vshort_exit,"Volatility Short Exit Signal")

fill(t,b,color=color.new(color.aqua,90))