सुपर बिटमून मात्रात्मक गति व्यापार रणनीति

लेखक:चाओझांग, दिनांक: 2023-09-15 16:13:05
टैगः

इस रणनीति को सुपर बिटमून कहा जाता है। यह बिटकॉइन के लिए उपयुक्त एक अल्पकालिक मात्रात्मक गति व्यापार रणनीति है। रणनीति में लंबी और छोटी दोनों क्षमताएं हैं, जिससे यह व्यापार करने की अनुमति देती है जब बिटकॉइन प्रमुख समर्थन या प्रतिरोध स्तरों से टूट जाता है।

रणनीति कैसे काम करती हैः

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

व्यापार के विशिष्ट नियम:

  1. यदि WVF बोलिंगर ऊपरी बैंड के नीचे पार करता है, और कीमत ATR स्टॉप लॉस स्तर से ऊपर है, तो बिटकॉइन को लंबा करें।
  2. यदि आरएसआई 50 या 30 ओवरसोल्ड लाइन से नीचे जाता है, तो बिटकॉइन को शॉर्ट करें।

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

  1. द्वि-दिशात्मक व्यापार के लिए लंबी और छोटी दोनों क्षमताएं हैं।
  2. जोखिम को नियंत्रित करने और नुकसान को सीमित करने के लिए एटीआर स्टॉप का उपयोग करता है।
  3. सिग्नल की सटीकता में सुधार के लिए WVF, बोलिंगर बैंड और RSI का उपयोग करता है।

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

  1. गलत बोलिंगर और आरएसआई पैरामीटर खराब संकेत उत्पन्न कर सकते हैं।
  2. अचानक कीमत में वृद्धि या गिरावट स्टॉप लॉस को ट्रिगर कर सकती है।
  3. लेनदेन की लागत लाभप्रदता को प्रभावित करती है।

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


/*backtest
start: 2023-09-07 00:00:00
end: 2023-09-08 09:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Super BitMoon v1", overlay=false, commission_value = 0.25, default_qty_type=strategy.percent_of_equity, default_qty_value = 100)

/////////////////////////////////////////////////////////////
//START - SET DATE RANGE

// === BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1)
FromDay   = input(defval = 1, title = "From Day", minval = 1)
FromYear  = input(defval = 2011, title = "From Year")
ToMonth   = input(defval = 12, title = "To Month", minval = 1)
ToDay     = input(defval = 31, title = "To Day", minval = 1)
ToYear    = input(defval = 2018, title = "To Year")

startDate = time > timestamp(FromYear, FromMonth, FromDay, 00, 00)
endDate = time < timestamp(ToYear, ToMonth, ToDay, 23, 59)
withinTimeRange = true

/////////////////////////////////////////////////////////////
//END - SET DATE RANGE



/////////////////////////////////////////////////////////////
//START - INDICATORS

//ATR STOPS TREND FILTER
length = input(5, title="ATR Stop's Length")
mult = input(1, minval=0.01, title="ATR Stop's Multiple")
atr_ = atr(length)
max1 = max(nz(max_[1]), close)
min1 = min(nz(min_[1]), close)
is_uptrend_prev = nz(is_uptrend[1], true)
stop = is_uptrend_prev ? max1 - mult * atr_ : min1 + mult * atr_
vstop_prev = nz(vstop[1])
vstop1 = is_uptrend_prev ? max(vstop_prev, stop) : min(vstop_prev, stop)
is_uptrend = close - vstop1 >= 0
is_trend_changed = is_uptrend != is_uptrend_prev
max_ = is_trend_changed ? close : max1
min_ = is_trend_changed ? close : min1
vstop = is_trend_changed ? is_uptrend ? max_ - mult * atr_ : min_ + mult * atr_ : vstop1

//SYNTHETIC VIX
pd = input(10, title="Synthetic VIX's Length")
bbl = input(2, title="Synthetic VIX's Bollinger Band's Length")
mult2 = input(0.01, minval=0.01, title="Synthetic VIX's Bollinger Band's Std Dev")
wvf = ((highest(close, pd)-low)/(highest(close, pd)))*100
sDev = mult2 * stdev(wvf, bbl)
midLine = sma(wvf, bbl)
upperBand = midLine + sDev

//RSI
rsi = rsi(close, input(10,title="RSI's Length"))
os1 = input(50,title="RSI's Oversold Level 1")
os2 = input(50,title="RSI's Oversold Level 2")

/////////////////////////////////////////////////////////////
//END - INDICATORS



/////////////////////////////////////////////////////////////
//START - TRADING RULES
direction = input(defval=1, title = "Strategy Direction", minval=-1, maxval=1)
strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long))

condition1 = crossunder(wvf, upperBand) and close > vstop and withinTimeRange
condition2 = crossunder(rsi, os1) and withinTimeRange
condition3 = crossunder(rsi, os2) and withinTimeRange

strategy.entry("BUY", strategy.long, when = condition1)
strategy.entry("SELL", strategy.short, when = condition2 or condition3)

/////////////////////////////////////////////////////////////
//END - TRADING RULES

अधिक