अल्पकालिक, मध्यमकालिक और दीर्घकालिक ईएमए क्रॉसओवर ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांक: 2023-11-24 13:33:21
टैगः

img

यह रणनीति विभिन्न अवधियों के साथ तीन घातीय चलती औसत रेखाओं (ईएमए) के आधार पर ट्रेडिंग सिग्नल उत्पन्न करती हैः 5-दिवसीय अवधि के साथ अल्पकालिक ईएमए, 8-दिवसीय अवधि के साथ मध्यमकालिक ईएमए और 13-दिवसीय अवधि के साथ दीर्घकालिक ईएमए। यह लंबे समय तक जाता है जब अल्पकालिक ईएमए मध्यमकालिक और दीर्घकालिक ईएमए के पार हो जाता है, और मध्यमकालिक और दीर्घकालिक ईएमए के नीचे अल्पकालिक ईएमए के पार हो जाता है।

रणनीति तर्क

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

विशेष रूप से, यह रणनीति एक साथ 5-दिवसीय, 8-दिवसीय और 13-दिवसीय ईएमए की गणना करती है। यह लंबे संकेत उत्पन्न करती है जब 5-दिवसीय ईएमए 8-दिवसीय और 13-दिवसीय के पार हो जाता है; यह छोटे संकेत उत्पन्न करता है जब 5-दिवसीय ईएमए अन्य दो के नीचे पार हो जाता है। लंबे समय तक जाने के बाद, स्थिति बंद हो जाती है जब 5-दिवसीय ईएमए 13-दिवसीय ईएमए के नीचे वापस पार हो जाता है। शॉर्ट स्थिति के लिए भी।

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

  1. बहु-अवधि ईएमए का उपयोग करने से प्रमुख प्रवृत्ति उलट बिंदुओं को याद करने से बचा जाता है जो अत्यधिक छोटी या लंबी एकल ईएमए अवधि के साथ हो सकते हैं
  2. लघु, मध्यम और दीर्घकालिक तीन ईएमए को जोड़ने से व्यापार संकेतों की विश्वसनीयता बढ़ जाती है
  3. ईएमए के माध्यम से सुचारू मूल्य निर्धारण से बाजार में कुछ शोर निकलता है और अनावश्यक प्रविष्टियों को रोका जाता है

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

  1. तीनों ईएमए विलंबित प्रवृत्ति संकेतक हैं, जिनमें वास्तविक मूल्य ब्रेकआउट से पहले कुछ समय की देरी होती है, जिससे देर से संकेत देने का जोखिम होता है।
  2. ईएमए वास्तविक रुझानों और अल्पकालिक सुधारों में प्रभावी ढंग से अंतर नहीं कर सकते हैं, जिससे झूठे संकेत मिलने लगते हैं
  3. फिक्स्ड ईएमए अवधि विभिन्न समय सीमाओं में भिन्न बाजार व्यवस्थाओं के अनुकूल नहीं हो सकती है

सुधार के विचार:

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

सारांश

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


/*backtest
start: 2023-11-16 00:00:00
end: 2023-11-23 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// 
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © gregoirejohnb
// @It is modified by ttsaadet.
// Moving average crossover systems measure drift in the market. They are great strategies for time-limited people.
// So, why don't more people use them?
// 

//
strategy(title="EMA Crossover Strategy", shorttitle="EMA-5-8-13 COS by TTS", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, currency=currency.TRY,commission_type=strategy.commission.percent,commission_value=0.04, process_orders_on_close = true, initial_capital = 100000)

// === GENERAL INPUTS ===
//strategy start date
start_year = input(defval=2020, title="Backtest Start Year")

// === LOGIC ===
short_period = input(type=input.integer,defval=5,minval=1,title="Length")
mid_period = input(type=input.integer,defval=8,minval=1,title="Length")
long_period = input(type=input.integer,defval=13,minval=1,title="Length")

longOnly = input(type=input.bool,defval=false,title="Long Only")
shortEma = ema(hl2,short_period)
midEma = ema(hl2,mid_period)
longEma = ema(hl2,long_period)

plot(shortEma,linewidth=2,color=color.red,title="Fast")
plot(midEma,linewidth=2,color=color.orange,title="Fast")
plot(longEma,linewidth=2,color=color.blue,title="Slow")

longEntry = ((shortEma > midEma) and crossover(shortEma,longEma)) or ((shortEma > longEma) and crossover(shortEma,midEma))
shortEntry =((shortEma < midEma) and crossunder(shortEma,longEma)) or ((shortEma < longEma) and crossunder(shortEma,midEma))

plotshape(longEntry ? close : na,style=shape.triangleup,color=color.green,location=location.belowbar,size=size.small,title="Long Triangle")
plotshape(shortEntry and not longOnly ? close : na,style=shape.triangledown,color=color.red,location=location.abovebar,size=size.small,title="Short Triangle")
plotshape(shortEntry and longOnly ? close : na,style=shape.xcross,color=color.black,location=location.abovebar,size=size.small,title="Exit Sign")

// === STRATEGY - LONG POSITION EXECUTION ===
enterLong() =>
    longEntry 
exitLong() =>
    crossunder(shortEma,longEma)

strategy.entry(id="Long", long=strategy.long, when=enterLong())
strategy.close(id="Long", when=exitLong())


// === STRATEGY - SHORT POSITION EXECUTION ===

enterShort() =>
    not longOnly and shortEntry  
exitShort() =>
    crossover(shortEma,longEma)

strategy.entry(id="Short", long=strategy.short, when=enterShort())
strategy.close(id="Short", when=exitShort())

अधिक