बिटकॉइन अस्थिरता बैंड रिवर्सन रणनीति

लेखक:चाओझांग, दिनांक: 2023-10-12 17:38:39
टैगः

अवलोकन

यह रणनीति उच्च अस्थिरता वाले प्रतिभूतियों के लिए डिज़ाइन की गई एक पुलबैक प्रणाली है, इसलिए स्वाभाविक रूप से बिटकॉइन इसका व्यापार करने के लिए एक उत्कृष्ट विकल्प है। इसका उपयोग दैनिक चार्ट या कम समय सीमाओं पर दोनों पर किया जा सकता है (मुझे 3 घंटे की समय सीमा पर अच्छे परिणाम मिले लेकिन 1 घंटे से कम किसी भी चीज़ पर इसका परीक्षण नहीं किया गया है) ।

रणनीति तर्क

रणनीति पिछले 2 मोमबत्तियों के समापन मूल्य में परिवर्तन की तुलना करके अस्थिरता की गणना करती है, और चलती औसत उत्पन्न करने के लिए मूल्य में इस परिवर्तन का उपयोग करती है। एक बैंड को चलती औसत के चारों ओर 1 के आंतरिक बैंड और 2 के बाहरी बैंड के लिए एक मानक विचलन के साथ लपेटा जाता है। यदि कीमत एक पूर्व-सेट एमए (चलती औसत) फ़िल्टर से ऊपर है तो यह निर्धारित किया जाता है कि हम एक अपट्रेंड में हैं इसलिए रणनीति एक संकेत जारी करेगी जब हम एक अपट्रेंड में हैं और एक पुलबैक है जो निचले आंतरिक विचलन बैंड को स्पाइक करने का कारण बनता है, लेकिन यदि कीमत जारी रहती है और बाहरी विचलन बैंड के माध्यम से गिरती है तो एक खरीद संकेत नहीं होगा क्योंकि यह इस मुद्दे को नुकसान पहुंचाता है कि अस्थिरता स्पाइक बहुत बड़ा है। आप एक स्पाइक देख सकते हैं खरीदें सूचक पर होता है जहां घटना हरे रंग की होती है। फिर एक शॉर्ट / सेल के लिए, आंतरिक पृष्ठभूमि पर एक स्पाइक होगा और हम पूर्व-सेट एमए के लिए लाल रंग के

उपयोगकर्ता उस दिनांक सीमा को बदल सकता है जिसे वे परीक्षण करना चाहते हैं, अस्थिरता ट्रैकिंग के लिए चलती औसत अवधि और आंतरिक और बाहरी बैंड विचलन। बीटीसी पर मैंने आंतरिक विचलन और बाहरी विचलन बैंड को मानक सेटिंग्स पर छोड़ दिया लेकिन 3 अवधि अस्थिरता ट्रैकिंग को 1 दिन के चार्ट के लिए अच्छा पाया और 5 अवधि अस्थिरता ट्रैकिंग 3 घंटे के चार्ट के लिए अच्छी है। चूंकि यह एक खरीद और पकड़ रणनीति नहीं है, इसलिए ट्रेडिंग के लिए आप शायद सबसे तरल सिक्कों के साथ रहना चाहेंगे ताकि आप किसी भी एक्सचेंज पर बहुत तेजी से अंदर और बाहर जा सकें। यदि आप इसे कम अस्थिर बाजारों पर ट्रे करना चाहते हैं तो आंतरिक विचलन बैंड को ~ 0.75 में बदलना विभिन्न संभावित शेयर बाजारों में भी ठीक काम करेगा। लाभ और स्टॉप लॉस लेवल पिछले 7 मोमबत्तों को देखते हुए ट्रेडिंग रेंज के कई पर आधारित हैं।

रणनीति के फायदे

  • बाजार के मोड़ को पकड़ने के लिए अस्थिरता व्यापार का उपयोग करता है
  • दोनों लंबी और छोटी ट्रेडें, ऊपर और नीचे के बाजारों में लाभ
  • सरल मानक पैरामीटर सेटिंग्स का उपयोग करने में आसान
  • मापदंडों को विभिन्न आधार के लिए आसानी से अनुकूलित किया जा सकता है
  • उचित स्टॉप लॉस और लाभ लेने की सेटिंग्स लाभ को लॉक करने में मदद करती हैं

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

  • उच्च अस्थिरता वाले अंतर्निहितों में अधिक हानि का जोखिम होता है
  • लगातार लंबी/छोटी ट्रेडिंग करने से ट्रेडिंग की लागत बढ़ जाती है
  • अल्पकालिक लेनदेन के लिए बाजार की बारीकी से निगरानी की आवश्यकता होती है
  • बाजार की तरलता कम होने पर हानि रोकने में कठिनाई
  • खराब पैरामीटर ट्यूनिंग से ओवर ट्रेडिंग हो सकती है

जोखिम को कम करने के तरीके:

  1. उपयुक्त अस्थिर अंतर्निहित चुनें, नियंत्रण स्थिति आकार।

  2. अप्रभावी व्यापारों को कम करने के लिए मापदंडों का अनुकूलन करें।

  3. स्टॉप लॉस का उपयोग करें और लाभ लें, सख्त धन प्रबंधन।

  4. निष्पादन दक्षता पर ध्यान केंद्रित करें, तरल आधार चुनें।

  5. विभिन्न अंतर्निहित विशेषताओं के अनुरूप मापदंडों को समायोजित करें।

अनुकूलन दिशाएँ

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

  1. विभिन्न अंतर्निहितों की अस्थिरता को बेहतर ढंग से ट्रैक करने के लिए चलती औसत अवधि का अनुकूलन करना।

  2. विशिष्ट अंतर्निहित अस्थिरता सीमा के अनुकूल अस्थिरता बैंड मापदंडों को समायोजित करें।

  3. संकेतों को और अधिक सत्यापित करने के लिए वॉल्यूम स्पाइक जैसे अन्य फ़िल्टर जोड़ें।

  4. अनुकूलन क्षमता के लिए पैरामीटर को गतिशील रूप से अनुकूलित करने के लिए मशीन लर्निंग तकनीकों का उपयोग करें।

  5. अधिक व्यापारिक अवसरों को पकड़ने के लिए उच्च आवृत्ति समय सीमाओं पर परीक्षण करें।

  6. अधिक लाभ प्राप्त करने के लिए स्टॉप लॉस/टेक प्रॉफिट ट्रैकिंग जोड़ें।

  7. मात्रात्मक पोर्टफोलियो रणनीतियों के निर्माण के लिए अन्य संकेतकों या मॉडलों के साथ संयोजन।

सारांश

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


/*backtest
start: 2023-09-11 00:00:00
end: 2023-10-11 00:00:00
period: 4h
basePeriod: 15m
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/
// © gary_trades
//This script is designed to be used on volatile securities/tickers so is best suited for day charts on Crypto (particularly good for BTC).
//It takes both long and short trades and the main indicator settings can be changed by the use so they can test for ideal settings for ticker of interest.

//@version=4

strategy("BTC Volatility Band Strategy", shorttitle="Vol Band Strategy", overlay=false, margin_long=100, margin_short=100)

//VOLATILTY
CandleChange = ((close - close[1])/close)*100         //OR CandleChange = ((close[2] - close[1])/close)*100
plot(CandleChange, color=color.red, linewidth = 1)

//VOLATILITY BANDS 
MAlen = input(7, minval=3, maxval=30, title=" MA Length")
MAout = sma(CandleChange, MAlen)
plot(MAout, color=color.black, display=display.none)

InnerBand = input(1.0, minval=0.5, maxval=5, title="Inner Band")
OuterBand = input(2.00, minval=0.5, maxval=10, title="Outer Band")
devInner = InnerBand * stdev(CandleChange, MAlen)
devOuter = OuterBand * stdev(CandleChange, MAlen)

upper1 = MAout + devInner
lower1 = MAout - devInner
b1 = plot(upper1, "Upper Inner", color=color.gray)
b2 = plot(lower1, "Lower Inner", color=color.gray)
upper2 = MAout + devOuter
lower2 = MAout - devOuter
b3 = plot(upper2, "Upper Outer", color=color.gray)
b4 = plot(lower2, "Lower Outer", color=color.gray)
fill(b1, b3, color.rgb(250,145,175,70), title="Background")
fill(b2, b4, color.rgb(250,145,175,70), title="Background")

band1 = hline(25, "Upper Band", color=color.gray, linestyle=hline.style_dotted, linewidth=2)
band0 = hline(-25, "Lower Band", color=color.gray, linestyle=hline.style_dotted, linewidth=2)

//LONG FILTER
VolFilterL = CandleChange <= lower1 and CandleChange > lower2
SMAFilterL = close[1] > sma(close[1], 50)
PriceFilterL = close > lowest(close,7)
LongFilter = VolFilterL and SMAFilterL and PriceFilterL
bgcolor(LongFilter ? color.new(color.green, 80) : na)

//SHORT FILTER
VolFilterS = CandleChange >= upper1 and CandleChange < upper2
SMAFilterS = close[1] < sma(close[1], 50)
PriceFilterS = close < highest(close,7)
ShortFilter = VolFilterS and SMAFilterS and PriceFilterS
bgcolor(ShortFilter ? color.new(color.red, 80) : na)

//SETTING BACK TEST INPUTS
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2000, title = "From Year", minval = 1970)
 
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2100, title = "To Year", minval = 1970)

startDate = timestamp("America/New_York", fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp("America/New_York", toYear, toMonth, toDay, 00, 00)
time_condition = time >= startDate and time <= finishDate

//ORDER DETAILS
Risk = (high[7] - low[7])/ 7
Profit = Risk*1.15
Loss = Risk*0.65

AlertMSG = "New stategy position" + tostring(strategy.position_size)

if (time_condition) 
    strategy.entry("Long", strategy.long, when = LongFilter, alert_message=AlertMSG)
    if (LongFilter)
        LongStop = strategy.position_avg_price - Loss
        LongProfit = strategy.position_avg_price + Profit 
        strategy.exit("TP/SL", "Long", stop=LongStop, limit=LongProfit)

if (time_condition)
    strategy.entry("Short", strategy.short, when = ShortFilter, alert_message=AlertMSG)
    if (ShortFilter)
        ShortStop = strategy.position_avg_price + Loss
        ShortProfit = strategy.position_avg_price - Profit 
        strategy.exit("TP/SL", "Short", stop=ShortStop, limit=ShortProfit)




अधिक