मूविंग एवरेज स्लोप क्रॉसओवर ट्रेंड फॉलोइंग रणनीति


निर्माण तिथि: 2023-10-17 17:02:30 अंत में संशोधित करें: 2023-10-17 17:02:30
कॉपी: 0 क्लिक्स: 848
1
ध्यान केंद्रित करना
1617
समर्थक

मूविंग एवरेज स्लोप क्रॉसओवर ट्रेंड फॉलोइंग रणनीति

अवलोकन

यह रणनीति दो अलग-अलग लंबाई के सूचकांक चलती औसत (ईएमए) के स्केलेबल क्रॉसिंग का उपयोग करती है ताकि एक ट्रेंड ट्रैकिंग सिग्नल उत्पन्न किया जा सके। डिफ़ॉल्ट रूप से 130 और 400 की ईएमए का उपयोग किया जाता है, जो दोनों पैरामीटर के संयोजन के लिए अच्छा काम करता है।

जब तेज रेखा ईएमए ढलान पर धीमी रेखा ईएमए ढलान को पार करता है और ईएमए की कीमत 200 चक्र से अधिक है, तो अधिक करें; जब तेज रेखा ईएमए ढलान के नीचे धीमी रेखा ईएमए ढलान को पार करता है और ईएमए की कीमत 200 चक्र से कम है, तो खाली करें।

एक समतल स्थिति में एक समतल स्थिति को पार करना।

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

4 घंटे के समय के लिए सबसे अच्छा है।

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

प्रभाव अद्भुत है, आनंद लें!

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

इस रणनीति के केंद्र में दो अलग-अलग लंबाई के ईएमए सूचकांक के चलती औसत की स्लिपेट की तुलना करना है।

पहले 130 और 400 की ईएमए की गणना करें, फिर उनके संबंधित स्केलेबिलिटी की गणना करें, और फिर उनके संबंधित स्केलेबिलिटी की गणना करें 3 की ईएमए की गणना करें और स्केलेबिलिटी वक्र को चिकना करें।

एक खरीद संकेत उत्पन्न होता है जब तेज रेखा ईएमए ढलान पर धीमी रेखा ईएमए ढलान को पार करती है; एक बेचने का संकेत उत्पन्न होता है जब तेज रेखा ईएमए ढलान के नीचे धीमी रेखा ईएमए ढलान को पार करती है।

झूलों को फ़िल्टर करने के लिए, 200 चक्र ईएमए को ट्रेंड फिल्टर के रूप में चुना जा सकता है, केवल ईएमए से अधिक कीमत पर विचार करने के लिए अधिक सिग्नल करें, और शून्य सिग्नल पर विचार करने के लिए कम।

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

जब तेजी से धीमी गति से ढलान उल्टा हो जाता है, तो पोजीशन को सपाट करना बंद हो जाता है।

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

  1. स्केलेबल क्रॉसिंग का उपयोग करके संकेत उत्पन्न करें, जिससे ट्रेंड को प्रभावी ढंग से ट्रैक किया जा सके

  2. विभिन्न बाजार स्थितियों के लिए ईएमए चक्रों के पैरामीटर के संयोजन को समायोजित करना

  3. ट्रेंड फ़िल्टर से आपदाओं से बचने में मदद मिलती है

  4. झूठे संकेतों को फ़िल्टर करने के लिए फ़्लॉपी फ़िल्टर

  5. नियम सरल, स्पष्ट और समझने में आसान हैं

  6. एक से अधिक समय फ्रेम के लिए उपलब्ध है

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

  1. बड़े झटकों के दौरान अक्सर ओपन और क्लोज हो सकता है

  2. गलत EMA चक्र पैरामीटर ट्रेंड टर्नओवर को याद कर सकता है

  3. बाजार की परिस्थितियों में परिवर्तन के लिए उपयुक्त रूप से पैरामीटर संयोजन को समायोजित करना

  4. एमए प्रणाली के समान, बड़े रुझान के अंत में नुकसान को उलट दिया जा सकता है

अनुकूलन दिशा

  1. विभिन्न ईएमए चक्र संयोजन मापदंडों को आज़माएं और सबसे अच्छा खोजें

  2. विभिन्न मुद्राओं की विशेषताओं और बाजार की स्थिति के आधार पर चयन पैरामीटर

  3. स्टॉप-लॉस रणनीति में जोखिम नियंत्रण को शामिल करने पर विचार करें

  4. गतिशील समायोजन ईएमए आवधिक मापदंडों पर विचार किया जा सकता है

  5. विभिन्न अस्थिरता थ्रेशोल्ड मापदंडों का प्रयास करें

  6. विभिन्न समय सीमाओं पर परीक्षण

संक्षेप

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

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

//@version=4
// strategy(title="Slopes",initial_capital=1000, default_qty_type=strategy.percent_of_equity, commission_type=strategy.commission.percent, commission_value=0.06, slippage = 2, default_qty_value=30, overlay=false)

//definizione input

start = timestamp(input(2018, "start year"), input(1, "start month"), input(1, "start day"), 00, 00)
end = timestamp(input(2020, "end year"), input(1, "end month"), input(1, "end day"), 00, 00)

average = input (title="Source MA Type", type=input.string, defval="EMA",options=["EMA","SMA"])

len1=input(130,title="Fast MA Length")
len2=input(400,title="Slow MA Length")

smoothingavg = input (title="Smoothing MAs Type", type=input.string, defval="EMA",options=["EMA","SMA"])
smoothingavglen = input (3,title="Smoothing MAs Length")

trendfilter=input(true,title="Trend Filter")
trendfilterperiod=input(200,title="Trend Filter MA Period")
trendfiltertype=input (title="Trend Filter MA Type", type=input.string, defval="EMA",options=["EMA","SMA"])

volatilityfilter=input(false,title="Volatility Filter")
volatilitydelta=input(0.0003,step=0.0001,title="Delta Slopes EMA")

//variabili

m1 = if average == "EMA" 
    ema(close,len1)
else
    sma(close,len1)

m2=if average == "EMA" 
    ema(close,len2)
else
    sma(close,len2)

slp1=(m1-m1[1])/m1
slp2=(m2-m2[1])/m2

e1=if smoothingavg == "EMA" 
    ema(slp1,smoothingavglen)
else
    sma(slp1,smoothingavglen)

e2=if smoothingavg == "EMA" 
    ema(slp2,smoothingavglen)
else
    sma(slp2,smoothingavglen)

plot(e1,color=color.yellow)
plot(e2,color=color.red)
//plot (abs(e1-e2),color=color.white)
//plot (ema(e1-e2,9),color=color.yellow)

//variabili accessorie e condizioni

TrendConditionL=if trendfiltertype =="EMA"
    close>ema(close,trendfilterperiod)
else
    close>sma(close,trendfilterperiod)
    
TrendConditionS=if trendfiltertype =="EMA"
    close<ema(close,trendfilterperiod)
else
    close<sma(close,trendfilterperiod)
    
VolatilityCondition = abs(e1-e2) > volatilitydelta

ConditionEntryL= if trendfilter == true
    if volatilityfilter == true
        e1>e2 and TrendConditionL and VolatilityCondition
    else
        e1>e2 and TrendConditionL
else
    if volatilityfilter == true
        e1>e2 and VolatilityCondition
    else 
        e1>e2

ConditionEntryS= if trendfilter == true
    if volatilityfilter == true
        e1<e2 and TrendConditionS and VolatilityCondition
    else 
        e1<e2 and TrendConditionS
else
    if volatilityfilter == true
        e1<e2 and VolatilityCondition
    else
        e1<e2

ConditionExitL=crossunder(e1,e2)
ConditionExitS=crossover(e1,e2)

if true
    if ConditionExitS
        if strategy.position_size < 0
            strategy.close("SLPShort")

if true
    if ConditionExitL
        if strategy.position_size > 0
            strategy.close("SLPLong")

if true
    if ConditionEntryL
        strategy.entry ("SLPLong",long=true)
        
if true
    if ConditionEntryS 
        strategy.entry("SLPShort",long=false)