डबल मूविंग एवरेज थ्री इंडेक्स इंडिकेटर ट्रेडिंग रणनीति


निर्माण तिथि: 2023-12-15 15:39:45 अंत में संशोधित करें: 2023-12-15 15:39:45
कॉपी: 0 क्लिक्स: 603
1
ध्यान केंद्रित करना
1621
समर्थक

डबल मूविंग एवरेज थ्री इंडेक्स इंडिकेटर ट्रेडिंग रणनीति

अवलोकन

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

सिद्धांत

इस रणनीति में चार मुख्य भाग हैं:

  1. द्विआधारी समरेखा सूचकः 50 चक्र और 100 चक्रों के लिए एक सूचकांक चलती औसत ((ईएमए) की गणना करता है, जो एक दीर्घकालिक ईएमए को पार करते समय एक खरीद संकेत उत्पन्न करता है, और एक लंबी अवधि के ईएमए को पार करते समय एक बिक्री संकेत उत्पन्न करता है।

  2. तीन सूचकांक संकेतकः 50 चक्र, 100 चक्र और 200 चक्र की सूचकांक चलती औसत की गणना क्रमशः बाजार के रुझान की दिशा का आकलन करने के लिए। 50 ईएमए> 100 ईएमए> 200 ईएमए के साथ एक मल्टीहेड बाजार है, और 50 ईएमए < 100 ईएमए < 200 ईएमए के साथ एक खाली बाजार है।

  3. यादृच्छिक संकेतकः आरएसआई के 6 दिन के मूल्य और डी मूल्य की गणना करें, ओवरबॉट ओवरसोल की स्थिति का न्याय करें। डी मूल्य के पार होने पर ओवरसोल, नीचे जाने पर ओवरबॉट।

  4. ट्रेडिंग सिग्नलः केवल द्वि-आयामी संकेतक के संकेत के साथ ही, बाजार त्रि-आयामी संकेतक के बहुहेड या रिक्त स्थिति के अनुरूप है, और वास्तविक ट्रेडिंग निर्देश तब जारी किए जाते हैं जब यादृच्छिक संकेतक ओवरबॉट ओवरसोल नहीं दिखाता है।

लाभ

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

जोखिम और उपाय

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

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

  2. अधिक संकेतक के साथ CANCEL ऑपरेशन करें, बाजार में भारी उतार-चढ़ाव होने पर वर्तमान व्यापार को रोकें।

  3. शॉर्ट-लाइन मल्टीहेड रणनीतियों को अपनाने के लिए, लॉन्ग-लाइन मल्टीहेड बाजारों में अल्पकालिक अवसरों का लाभ उठाने के लिए।

अनुकूलन दिशा

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

  1. द्विआधारी और त्रिकोणीय औसत के आवधिक मापदंडों को समायोजित करें, बाजार विशेषताओं के अनुरूप संकेतक का अनुकूलन करें।

  2. VOLUME और MACD जैसे सूचकांकों का आकलन बढ़ाएं, ताकि कीमतों में असामान्यता के कारण गलत संकेतों से बचा जा सके।

  3. इस प्रकार, यह प्रवृत्ति की पुष्टि करने के लिए कैंडल मोड का उपयोग करने के लिए बेहतर है, ताकि कम समय के बाद गलत संकेतों से बचा जा सके।

  4. स्टॉक, विदेशी मुद्रा और अन्य के लिए विस्तारित, रणनीति की उपयुक्तता की जांच करें।

  5. कुल बाजार में उतार-चढ़ाव को निर्धारित करने के लिए VIX सूचकांक के साथ संयोजन, स्थिति के आकार को नियंत्रित करना।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-12-07 00:00:00
end: 2023-12-12 08:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title='5212 EMA Strategy', shorttitle='5212 EMA', overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=10, calc_on_every_tick=false)

//**Backtest Date sof
useStartPeriodTime  = input.bool(true                       , 'Start Date & Time'   , group='Date Range'    , inline='Start Period')
startPeriodTime     = input(timestamp('16 Apr 2021')   , ''                    , group='Date Range'    , inline='Start Period')
useEndPeriodTime    = input.bool(false                      , 'End Date & Time'     , group='Date Range'    , inline='End Period')
endPeriodTime       = input(timestamp('31 Dec 2222')   , ''                    , group='Date Range'    , inline='End Period')
enableHighlight     = input.bool(false                      , 'Highlight'           , group='Date Range'    , inline='Highlight')
highlightType       = input.string('Anchors'                , ''                    , group='Date Range'    , inline='Highlight'    , options=['Anchors', 'Background'])
highlightColor      = input.color(color.white               , ''                    , group='Date Range'    , inline='Highlight')
start = useStartPeriodTime ? startPeriodTime >= time : false
end = useEndPeriodTime ? endPeriodTime <= time : false
calcPeriod = true
// var line startAnchor    = line.new(na, na, na, na, xloc.bar_time, extend.both, highlightColor, width=2)
// var line endAnchor      = line.new(na, na, na, na, xloc.bar_time, extend.both, highlightColor, width=2)
// useBgcolor = false
// if enableHighlight
//     if highlightType == 'Anchors'
//         if useStartPeriodTime
//             line.set_xy1(startAnchor, startPeriodTime, low)
//             line.set_xy2(startAnchor, startPeriodTime, high)
//         if useEndPeriodTime
//             line.set_xy1(endAnchor, calcPeriod ? time : line.get_x1(endAnchor), low)
//             line.set_xy2(endAnchor, calcPeriod ? time : line.get_x1(endAnchor), high)

//     if highlightType == 'Background'
//         useBgcolor := true
//         useBgcolor

// bgcolor(useBgcolor and calcPeriod ? color.new(highlightColor,90) : na, editable=false)
//**Backtest Date eof

src         =input(close    , 'Source'      , group='Support')
showEMA     = input(true    , 'Show EMA'    , group='Support')

//**Stochastic RSI sof
smoothK     = input.int(6   , "K"               , group='Stochastic RSI'    , minval=1)
smoothD     = input.int(6   , "D"               , group='Stochastic RSI'    , minval=1)
lengthRSI   = input.int(28  , "RSI Length"      , group='Stochastic RSI'    , minval=1)
lengthStoch = input.int(28  , "Stoch Length"    , group='Stochastic RSI'    , minval=1)

rsi1    = ta.rsi(src, lengthRSI)
k       = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d       = ta.sma(k, smoothD)
//**STochastic RSI eof

//** EMA sof
emain01     = input.int(50  , "EMAma Girang"    , group='Moving Average Exponential'    , minval=1)
emain02     = input.int(100 , "EMAma Muda"      , group='Moving Average Exponential'    , minval=1)
emain03     = input.int(200 , "EMAma Tua"       , group='Moving Average Exponential'    , minval=1)

ema01 = ta.ema(src, emain01)
ema02 = ta.ema(src, emain02)
ema03 = ta.ema(src, emain03)
plot(showEMA ? ema01 : na, 'EMAma Girang'   , color = color.new(color.orange, 0))
plot(showEMA ? ema02 : na, 'EMAma Muda'     , color = color.new(color.blue, 0))
plot(showEMA ? ema03 : na, 'EMAma Tua'      , color = color.new(color.red, 0))
//** EMA eof

//**Condition sof
emaLong     = ema01 > ema02 and ema02 > ema03 and low > ema03
emaShort    = ema01 < ema02 and ema02 < ema03 and high < ema03

longCond    = ta.crossover(k,d) and k <= 23 and emaLong
shortCond   = ta.crossunder(k,d) and k >= 77 and emaShort

longClose   = ta.crossunder(k,d) and k <= 77
shortClose  = ta.crossover(k,d) and k >= 23
longCross   = ta.crossover(ema01, ema02)
shortCross  = ta.crossunder(ema01, ema02)
//**Condition eof

//**Strategy sof
if calcPeriod and longCond
    strategy.entry('long', strategy.long, when=longCond, comment='EN Long')
strategy.close('long', when=shortClose, comment='EX Long')
strategy.close('long', when=shortCross, comment='MD Short')

if calcPeriod and shortCond
    strategy.entry('short', strategy.short, when=shortCond, comment='EN Short')
strategy.close('short', when=longClose, comment='EX Short')
strategy.close('short', when=longCross, comment='MD Long')

if calcPeriod == false and ta.crossover(ema01, ema02) or ta.crossunder(ema01, ema02)
    strategy.cancel('long')
    strategy.cancel('short')
//**Strategy eof

//**Label sof
entryText       = str.tostring(strategy.position_avg_price, '##.###')
longText    = 'Long Entry : ' + entryText 
shortText   = 'Short Entry : ' + entryText
noTrade     = 'Sleeping Mode'

LongTrade = strategy.position_size > 0
ShortTrade = strategy.position_size < 0

Tekslabel = LongTrade ? longText : ShortTrade ? shortText : noTrade

xPosition = timenow + math.round(ta.change(time)*1)
yPosition = ta.highest(1)
labelColor = LongTrade ? color.new(color.aqua, 0) : ShortTrade ? color.new(color.red, 0) : color.new(color.gray, 0)
textColor   = LongTrade ? color.new(color.black, 0) : ShortTrade ? color.new(color.white, 0) : color.new(color.white, 0)

// lab_l = label.new(
//           xPosition, yPosition, Tekslabel,
//           color=labelColor, 
//           textcolor=textColor, 
//           style =  label.style_label_left,
//           textalign=text.align_left,
//           xloc=xloc.bar_time, yloc = yloc.price)

// label.delete(lab_l[1])
//**Strategy eof