मल्टीपल मूविंग एवरेज बैंड रणनीति


निर्माण तिथि: 2023-12-18 12:29:19 अंत में संशोधित करें: 2023-12-18 12:29:19
कॉपी: 1 क्लिक्स: 807
1
ध्यान केंद्रित करना
1621
समर्थक

मल्टीपल मूविंग एवरेज बैंड रणनीति

अवलोकन

एक चलती औसत बैंड रणनीति एक प्रवृत्ति ट्रैकिंग रणनीति है जो कई चलती औसत पर आधारित है। यह एक साथ तेजी से चलती औसत और धीमी गति से चलती औसत की निगरानी करता है, और जब कीमतें चलती औसत बैंड को तोड़ती हैं तो व्यापार संकेत उत्पन्न करती हैं। यह रणनीति एक साथ प्रवृत्ति निर्णय और ओवरबॉय ओवरसोल सूचक को जोड़ती है, जो मध्य-लंबी प्रवृत्ति को प्रभावी ढंग से पकड़ती है।

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

यह रणनीति एक साथ 5 तेज़ चलती औसत ((5, 8, 13, 20, और 30) और 4 धीमी चलती औसत ((45, 70, 105, और 150) का उपयोग करती है, जिसमें तेज लाइनें आंतरिक चलती औसत और धीमी लाइनें बाहरी चलती औसत होती हैं। कीमतें आंतरिक औसत को पार करने पर एक खरीद संकेत उत्पन्न करती हैं, और जब कीमतें आंतरिक औसत को पार करने पर एक बिक्री संकेत उत्पन्न करती हैं। झूठी दरारों को फ़िल्टर करने के लिए, यह मांग करती है कि कीमतें लगातार 3 K लाइनों के आंतरिक चलती औसत को पार करें, और अधिकांश तेज़ चलती औसत एक साथ टूट जाते हैं, ताकि एक व्यापार संकेत उत्पन्न हो सके।

इसके अलावा, यह रणनीति लंबी अवधि के रुझानों का भी आकलन करती है। केवल जब कीमत 200-दिवसीय चलती औसत से ऊपर होती है, तो खरीद संकेत उत्पन्न करने पर विचार किया जाता है। इसके विपरीत, केवल जब कीमत 200-दिवसीय चलती औसत से नीचे होती है, तो बिक्री संकेत उत्पन्न करने पर विचार किया जाता है। लंबी अवधि के रुझानों का आकलन करके, परिसमापन के दौरान पूर्वाग्रह से बचा जा सकता है।

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

इस रणनीति के कुछ फायदे हैंः

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

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

  3. दीर्घकालिक रुझानों का आकलन करें, ताकि पूर्वावलोकन में शामिल न हों। 200 डेटलाइन के साथ, केवल रुझानों के उलट होने पर ही स्थिति बनाने पर विचार करें।

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

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

इस रणनीति में मुख्य रूप से निम्नलिखित जोखिम हैं:

  1. टूटने की विफलता का जोखिम। जब कीमतों में झूठी तोड़ होती है, तो यह रणनीति पूरी तरह से नुकसान से बचने में असमर्थ होती है।

  2. अस्थिर प्रवृत्ति के तहत नुकसान का जोखिम। जब बाजार में लंबे समय तक उतार-चढ़ाव होता है, तो स्टॉपलॉस बार-बार मारा जा सकता है, जिससे नुकसान बढ़ जाता है।

  3. पैरामीटर अनुकूलन जोखिम. गलत तरीके से चलती औसत पैरामीटर सेट करने से ट्रेडिंग सिग्नल में त्रुटि हो सकती है, जिससे नुकसान बढ़ सकता है.

समाधान के लिएः

  1. स्टॉप पॉइंट को उचित रूप से ढीला करना, कीमतों को चलाने के लिए पर्याप्त जगह देना। या स्टॉप लाइन को कीमतों के साथ चलाने के लिए ljetrail स्टॉप मोड का उपयोग करना।

  2. प्रवृत्ति का आकलन करने के लिए संकेतकों को जोड़ें, और अस्थिरता के दौरान दिशाहीन स्थिति से बचें। उदाहरण के लिए, डीएमआई, एमएसीडी आदि के साथ संकेतक फ़िल्टर करें।

  3. इतिहास की खोज और पैरामीटर अनुकूलन के माध्यम से, सर्वोत्तम पैरामीटर संयोजन का चयन करें। रीयल-टाइम में पैरामीटर प्रभाव को ट्रैक करने के लिए गतिशील अनुकूलन करें।

अनुकूलन दिशा

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

  1. चलती औसत मापदंडों का अनुकूलन करें, सबसे अच्छा चक्र संख्या चुनें। विभिन्न चक्रों के चलती औसत को फिर से जोड़कर सबसे अच्छा संयोजन का पता लगाया जा सकता है।

  2. प्रवृत्ति को निर्धारित करने वाले संकेतकों को बढ़ाएं। जैसे कि आरएसआई संकेतकों को ओवरबॉट, ओवरसोल्ड, ब्रिन बैंड को चैनल ब्रेक के लिए निर्धारित करना। प्रवृत्ति स्पष्ट नहीं होने पर अंधाधुंध स्थिति बनाने से बचें।

  3. अनुकूलित चलती औसत का उपयोग करना। बाजार में परिवर्तन और उतार-चढ़ाव के आधार पर, वास्तविक समय में अनुकूलित चलती औसत पैरामीटर, ताकि यह वर्तमान बाजार की स्थिति के लिए बेहतर हो सके।

  4. प्रवृत्ति की संभावना का आकलन करने के लिए मशीन लर्निंग मॉडल के साथ प्रवृत्ति की संभावनाओं का आकलन करने के लिए एक संभाव्यता मॉडल स्थापित करना। सफलता की संभावनाओं का आकलन करने के लिए एक संभाव्यता मॉडल स्थापित करना, निर्णय लेने वाली प्रणाली को प्रवेश समय का आकलन करने में मदद करना।

  5. स्टॉप लॉस रणनीति को अनुकूलित करें ताकि स्टॉप लॉस कीमतों को बेहतर तरीके से ट्रैक कर सके। स्टॉप लॉस लाइनों को अधिक बुद्धिमान बनाने के लिए, जैसे कि ट्रेलिग स्टॉप लॉस या ऑटो-स्केलिंग स्टॉप लॉस।

संक्षेप

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

रणनीति स्रोत कोड
//@version=4
strategy(title="Moving Average Ribbon", shorttitle="MA Ribbon", overlay=true)
src = input(close, type=input.source, title="Source")
matype = input(title="Input one in lowercase: sma, ema, wma, trima, zlema, dema, tema, or hma", type=input.string, defval="trima")
// possible values: sma, ema, wma, trima, zlema, dema, tema, hma (hull ma)



trima(_src, _len) =>
    sma(sma(_src, _len), _len)
hma(_src, _len) =>
    wma(2 * wma(_src, _len / 2) - wma(_src, _len), round(sqrt(_len)))
dema(_src, _len) =>
    2 * ema(_src, _len) - ema(ema(_src, _len), _len)
tema(_src, _len) =>
    3 * ema(_src, _len) - 3 * ema(ema(_src, _len), _len) + 
       ema(ema(ema(_src, _len), _len), _len)
zlema(_src, _len) =>
    ema(_src, _len) + ema(_src, _len) - ema(ema(_src, _len), _len)

ma(_src, _len) =>
    hma__1 = hma(_src, _len)
    ema_1 = ema(_src, _len)
    sma_1 = sma(_src, _len)
    wma_1 = wma(_src, _len)
    trima__1 = trima(_src, _len)
    zlema__1 = zlema(_src, _len)
    dema__1 = dema(_src, _len)
    tema__1 = tema(_src, _len)
    matype == "hma" ? hma__1 : matype == "ema" ? ema_1 : matype == "sma" ? sma_1 : 
       matype == "wma" ? wma_1 : matype == "trima" ? trima__1 : 
       matype == "zlema" ? zlema__1 : matype == "dema" ? dema__1 : tema__1

ma05 = ma(src, 5)
ma08 = ma(src, 8)
ma13 = ma(src, 13)
ma20 = ma(src, 20)
ma30 = ma(src, 30)
ma45 = ma(src, 45)
ma70 = ma(src, 70)
ma105 = ma(src, 105)
ma150 = ma(src, 150)
ma200 = ma(src, 200)




maColor(ma, maRef) =>
    if change(ma) <= 0 and ma05 < maRef
        color.new(color.red, 20)
    else
        if change(ma) >= 0 and ma05 > maRef
            color.new(color.navy, 20)
        else
            if change(ma) < 0 and ma05 > maRef
                color.new(color.red, 20)
            else
                if change(ma) >= 0 and ma05 < maRef
                    color.new(color.navy, 20)
                else
                    color.gray


aboveConfirmed(x,maRef)=>
    above=true
    for i=1 to x
        if close[i]<maRef[i] and not (close[i]>ma200[i]*1.01) and not (ma05[i]>ma105[i]*1.015)
            above:=false
    above


aboveMost(x,len)=>
    above=0
    boolean=false
    if close[len]>ma05[len]
        above:=above+1
    if close[len]>ma08[len]
        above:=above+1
    if close[len]>ma13[len]
        above:=above+1
    if close[len]>ma20[len]
        above:=above+1
    if close[len]>ma30[len]
        above:=above+1
    if close[len]>ma45[len]
        above:=above+1
    if close[len]>ma70[len]
        above:=above+1
    if close[len]>ma105[len]
        above:=above+1
    if close[len]>ma150[len]
        above:=above+1
    if close[len]>ma200[len]
        above:=above+1
    if(above>=x)
        boolean:=true
    boolean
    
belowMost(x,len)=>
    above=0
    boolean=false
    if close[len]<ma05[len]
        above:=above+1
    if close[len]<ma08[len]
        above:=above+1
    if close[len]<ma13[len]
        above:=above+1
    if close[len]<ma20[len]
        above:=above+1
    if close[len]<ma30[len]
        above:=above+1
    if close[len]<ma45[len]
        above:=above+1
    if close[len]<ma70[len]
        above:=above+1
    if close[len]<ma105[len]
        above:=above+1
    if close[len]<ma150[len]
        above:=above+1
    if close[len]<ma200[len]
        above:=above+1
    if(above>=x)
        boolean:=true
    boolean
        
        
belowConfirmed(x,maRef)=>
    below=true
    for i=1 to x
        if close[i]>maRef[i] and not (close[i]<maRef[i]*0.99) and not (ma05[i]<ma105[i]*0.985)
            below:=false
    below
            
            
//plotshape(aboveConfirmed(5,ma150),color=color.navy,location=location.abovebar,style=shape.triangleup,size=size.large,title="above",text="above")
            
plot(ma05, color=maColor(ma05, ma150), style=plot.style_line, title="MMA05", linewidth=2)
plot(ma08, color=maColor(ma08, ma150), style=plot.style_line, title="MMA08", linewidth=1)
plot(ma13, color=maColor(ma13, ma150), style=plot.style_line, title="MMA13", linewidth=1)
plot(ma20, color=maColor(ma20, ma150), style=plot.style_line, title="MMA20", linewidth=1)
plot(ma30, color=maColor(ma30, ma150), style=plot.style_line, title="MMA30", linewidth=1)
plot(ma45, color=maColor(ma45, ma200), style=plot.style_line, title="MMA45", linewidth=1)
plot(ma70, color=maColor(ma70, ma200), style=plot.style_line, title="MMA70", linewidth=2)
plot(ma105, color=maColor(ma105, ma200), style=plot.style_line, title="MMA105", linewidth=2)
plot(ma150, color=maColor(ma150, ma200), style=plot.style_line, title="MMA150", linewidth=3)
plot(ma200, color=maColor(ma200, ma200), style=plot.style_line, title="MM200", linewidth=3)


closeLong=belowMost(6,1) and belowMost(6,2) and belowMost(6,3)
closeShort=aboveMost(6,1) and aboveMost(6,2) and aboveMost(6,3)

isAbove=aboveConfirmed(5,ma200)
strategy.entry("short", false, when=belowConfirmed(3,ma200) and belowMost(8,1) and belowMost(8,2) and belowMost(8,3))
strategy.entry("long", true, when=aboveConfirmed(3,ma200) and aboveMost(8,1) and aboveMost(8,2) and aboveMost(8,3))




strategy.close("long",when=closeLong)
strategy.close("short",when=closeShort)