चलती औसत और सुपरट्रेंड पर आधारित प्रवृत्ति अनुसरण रणनीति


निर्माण तिथि: 2023-11-14 16:23:42 अंत में संशोधित करें: 2023-11-14 16:23:42
कॉपी: 0 क्लिक्स: 733
1
ध्यान केंद्रित करना
1617
समर्थक

चलती औसत और सुपरट्रेंड पर आधारित प्रवृत्ति अनुसरण रणनीति

अवलोकन

इस रणनीति में औसत रेखा सूचक और सुपरट्रेंड सूचक का संयोजन किया गया है, जिससे प्रवृत्ति पर अनुवर्ती कार्रवाई की जा सके। प्रवृत्ति के ऊपर होने पर अधिक करें, और प्रवृत्ति के नीचे होने पर खाली करें।

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

  1. एक भारित चलती औसत (MA) की गणना करें। लेनदेन की मात्रा को एक भार के रूप में उपयोग करके, एक निश्चित अवधि में भारित औसत मूल्य की गणना करें।

  2. MA के आधार पर Hull Moving Average की गणना की गई. Hull Moving Average मूल्य परिवर्तनों के प्रति अधिक संवेदनशील है.

  3. ओवरट्रेंडिंग सूचक की गणना करना. ओवरट्रेंडिंग सूचक, एटीआर के साथ मिलकर, मूल्य प्रवृत्ति में परिवर्तन को देख सकता है. ओवरट्रेंडिंग और ओवरट्रेंडिंग की गणना करना.

  4. जब समापन मूल्य ऊपर की पटरी से अधिक हो, तो अधिक करें; जब समापन मूल्य नीचे की पटरी से नीचे हो, तो शून्य करें।

  5. सहायक संकेतकों को चित्रित करें, जैसे कि शुरुआती कीमत, समापन मूल्य, उच्चतम मूल्य, न्यूनतम मूल्य, और कीमतों में बदलाव को अधिक सहजता से देखें।

  6. क्रॉसिंग सूचकांकों के आधार पर खरीद और बिक्री के निर्णय लेना।

श्रेष्ठता विश्लेषण

  1. इस रणनीति में एक औसत रेखा सूचक और एक सुपरट्रेंड सूचक का संयोजन किया गया है, जिससे प्रवृत्ति में बदलाव को अधिक सटीक रूप से पकड़ने में मदद मिलती है।

  2. Hull औसत मूल्य परिवर्तनों के प्रति अधिक संवेदनशील है, जो प्रवृत्ति के परिवर्तनों को समय पर पहचानने में मदद करता है।

  3. सुपर ट्रेंड इंडिकेटर बाजार में उतार-चढ़ाव के लिए गतिशील रूप से ऊपर और नीचे की ओर समायोजित करता है।

  4. सहायक संकेतक कीमतों में बदलाव को दिखाते हैं और संकेतक संकेतों के साथ निर्णय लेते हैं।

  5. रणनीति पैरामीटर अनुकूलित करने के लिए पर्याप्त जगह है, औसत रेखा चक्र, सुपर ट्रेंड गुणांक आदि पैरामीटर को समायोजित किया जा सकता है।

जोखिम विश्लेषण

  1. यह गलत संकेत हो सकता है और अनावश्यक लेनदेन का कारण बन सकता है।

  2. एक ही समय में कई मापदंडों की निगरानी की आवश्यकता होती है, और रणनीति को लागू करना अपेक्षाकृत जटिल है।

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

  4. स्टॉप लॉस को सख्ती से नियंत्रित करने की आवश्यकता है ताकि एकल नुकसान बहुत अधिक न हो।

  5. लेन-देन की संख्या अधिक हो सकती है, शुल्क के प्रभाव को नियंत्रित करने की आवश्यकता है।

अनुकूलन दिशा

  1. विभिन्न औसत रेखाओं के लिए मापदंडों का परीक्षण किया जा सकता है और बाजार के प्रति अधिक संवेदनशील औसत रेखा सूचक का चयन किया जा सकता है।

  2. विभिन्न सुपरट्रेंड गुणांकों का परीक्षण किया जा सकता है, जो समय पर ट्रेंड परिवर्तनों को पकड़ने के लिए चयनित हैं।

  3. उतार-चढ़ाव के संकेतकों के साथ संयोजन, जब उतार-चढ़ाव बढ़ जाता है तो स्थिति को कम किया जा सकता है

  4. एक ब्रेकडाउन शर्त को जोड़ने के लिए जोड़े जा सकते हैं, ताकि गलत सिग्नल से बचा जा सके।

  5. स्टॉप लॉस रणनीति को अनुकूलित किया जा सकता है ताकि स्टॉप लॉस बाजार की विशेषताओं के अनुरूप हो सके।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2022-11-07 00:00:00
end: 2023-11-13 00:00:00
period: 1d
basePeriod: 1h
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/
// © rajukpatel

//@version=5
strategy('My RK Strategy with Alert', shorttitle='My RK Strategy with Alert', overlay=true )
src5 = input(close)

tf = input(1440)
len5 = timeframe.isintraday and timeframe.multiplier >= 1 ? tf / timeframe.multiplier * 7 : timeframe.isintraday and timeframe.multiplier < 60 ? 60 / timeframe.multiplier * 24 * 7 : 7

ma = ta.ema(src5 * volume, len5) / ta.ema(volume, len5)


//script taken from https://www.tradingview.com/script/kChCRRZI-Hull-Moving-Average/

src1 = ma

p(src1, len5) =>
    n = 0.0
    s = 0.0
    for i = 0 to len5 - 1 by 1
        w = (len5 - i) * len5
        n += w
        s += src5[i] * w
        s
    s / n

hm = 2.0 * p(src1, math.floor(len5 / 3)) - p(src1, len5)
vhma = p(hm, math.floor(math.sqrt(len5)))
lineColor = vhma > vhma[1] ? color.lime : color.red
plot(vhma, title='VHMA', color=lineColor, linewidth=3)
hColor = true
vis = true
hu = hColor ? vhma > vhma[2] ? #00ff00 : #ff0000 : #ff9800

vl = vhma[0]
ll = vhma[1]
m1 = plot(vl, color=hu, linewidth=1, transp=60)
m2 = plot(vis ? ll : na, color=hu, linewidth=2, transp=80)

fill(m1, m2, color=hu, transp=70)
//

b = timeframe.isintraday and timeframe.multiplier >= 1 ? 60 / timeframe.multiplier * 7 : timeframe.isintraday and timeframe.multiplier < 60 ? 60 / timeframe.multiplier * 24 * 7 : 7



//
res5 = input.timeframe('D')

o = request.security(syminfo.tickerid, res5, open, barmerge.gaps_off, barmerge.lookahead_on)
c = request.security(syminfo.tickerid, res5, close, barmerge.gaps_off, barmerge.lookahead_on)
hz = request.security(syminfo.tickerid, res5, high, barmerge.gaps_off, barmerge.lookahead_on)
l = request.security(syminfo.tickerid, res5, low, barmerge.gaps_off, barmerge.lookahead_on)



col = c >= o ? color.lime : color.red

ppo = plot(b ? o >= c ? hz : l : o, color=col, title='Open', style=plot.style_stepline, transp=100)
ppc = plot(b ? o <= c ? hz : l : c, color=col, title='Close', style=plot.style_stepline, transp=100)

plot(b and hz > c ? hz : na, color=col, title='High', style=plot.style_circles, linewidth=2, transp=60)
plot(b and l < c ? l : na, color=col, title='Low', style=plot.style_circles, linewidth=2, transp=60)

fill(ppo, ppc, col, transp=90)

//
// INPUTS //
st_mult = input.float(1, title='SuperTrend Multiplier', minval=0, maxval=100, step=0.01)
st_period = input.int(50, title='SuperTrend Period', minval=1)

// CALCULATIONS //
up_lev = l - st_mult * ta.atr(st_period)
dn_lev = hz + st_mult * ta.atr(st_period)

up_trend = 0.0
up_trend := c[1] > up_trend[1] ? math.max(up_lev, up_trend[1]) : up_lev

down_trend = 0.0
down_trend := c[1] < down_trend[1] ? math.min(dn_lev, down_trend[1]) : dn_lev

// Calculate trend var
trend = 0
trend := c > down_trend[1] ? 1 : c < up_trend[1] ? -1 : nz(trend[1], 1)

// Calculate SuperTrend Line
st_line = trend == 1 ? up_trend : down_trend

// Plotting
//plot(st_line[1], color = trend == 1 ? color.green : color.red , style = plot.style_cross, linewidth = 2, title = "SuperTrend")
buy = ta.crossover(c, st_line)
sell = ta.crossunder(c, st_line)
signal = input(false)

/////////////// Plotting /////////////// 
plotshape(signal and buy, style=shape.triangleup, size=size.normal, location=location.belowbar, color=color.new(color.lime, 0))
plotshape(signal and sell, style=shape.triangledown, size=size.normal, location=location.abovebar, color=color.new(color.red, 0))


if buy
    strategy.entry('My Long Entry Id', strategy.long)

if sell
    strategy.entry('My Short Entry Id', strategy.short)