चलती औसत क्रॉसओवर एमएसीडी ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांकः 2024-02-22 16:25:13
टैगः

img

अवलोकन

चलती औसत क्रॉसओवर एमएसीडी ट्रेडिंग रणनीति एक मात्रात्मक ट्रेडिंग रणनीति है जो अल्पकालिक और दीर्घकालिक घातीय चलती औसत (ईएमए) के क्रॉसओवर स्थितियों को ट्रैक करती है और गोल्डन क्रॉस और डेड क्रॉस होने पर खरीद और बिक्री संचालन करती है। यह रणनीति ट्रेडिंग सिग्नल निर्णय के लिए एमएसीडी संकेतक को जोड़ती है।

रणनीति तर्क

यह रणनीति मुख्य रूप से 12-दिवसीय ईएमए, 26-दिवसीय ईएमए और एमएसीडी संकेतक पर निर्भर करती है।

  1. 12-दिवसीय ईएमए और 26-दिवसीय ईएमए की गणना करें।
  2. एमएसीडी की गणना करें (यानी 12 दिन का ईएमए घटाकर 26 दिन का ईएमए) ।
  3. सिग्नल लाइन के रूप में एमएसीडी के 9 दिन के ईएमए की गणना करें.
  4. जब एमएसीडी सिग्नल लाइन से ऊपर जाता है, तो एक खरीद सिग्नल उत्पन्न होता है।
  5. जब एमएसीडी सिग्नल लाइन से नीचे गिरता है, तो एक बिक्री संकेत उत्पन्न होता है।
  6. सिग्नल उत्पन्न होने के बाद दूसरे कैंडलस्टिक के बंद होने पर संबंधित खरीद या बिक्री कार्य करें।

इसके अतिरिक्त, यह रणनीति कुछ फ़िल्टरिंग शर्तों को भी निर्धारित करती हैः

  1. ट्रेडिंग का समय प्रत्येक ट्रेडिंग दिवस का गैर-बंद समय होता है।
  2. एमएसीडी और सिग्नल लाइन के बीच अंतर का पूर्ण मान 0.08 से अधिक होना चाहिए।
  3. एक समय में केवल एक दिशा की स्थिति की अनुमति है।

लाभ विश्लेषण

यह रणनीति चलती औसत क्रॉसओवर और एमएसीडी संकेतक को जोड़ती है, जो बाजार के अल्पकालिक और मध्यमकालिक रुझानों के मोड़ बिंदुओं को प्रभावी ढंग से पकड़ सकती है।

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

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

इस रणनीति में कुछ जोखिम भी हैं:

  1. बैकटेस्टिंग डेटा ओवरफिट जोखिम. वास्तविक अनुप्रयोग पैरामीटर और सीमा समायोजन की आवश्यकता हो सकती है.
  2. लगातार व्यापार करने से उच्च स्लिप लागत का जोखिम।
  3. समय पर बाहर निकलने में विफलता से हानि का जोखिम जब प्रवृत्ति उलट जाती है।
  4. मात्रात्मक व्यापार में ही जोखिम बढ़ाना।

संबंधित शमन विधियाँ:

  1. गतिशील रूप से मापदंडों का अनुकूलन करें और सीमाओं को समायोजित करें।
  2. अनावश्यक व्यापार को कम करने के लिए व्यापार नियमों में उचित ढील दी जाए।
  3. रिवर्स सिग्नल का आकलन करने के लिए अधिक संकेतकों को मिलाएं।
  4. सख्ती से नियंत्रण की स्थिति और लाभप्रदता।

अनुकूलन दिशाएँ

इस रणनीति के अनुकूलन के मुख्य पहलुओं में निम्नलिखित शामिल हैंः

  1. इष्टतम मापदंडों को खोजने के लिए लंबी चक्र चलती औसत संयोजनों का परीक्षण करें।
  2. फ़िल्टर के रूप में वित्तीय प्रदर्शन, महत्वपूर्ण घटनाओं आदि जैसे मूलभूत तत्व जोड़ें।
  3. ट्रेंड रिवर्स टाइमिंग निर्धारित करने के लिए अधिक संकेतक शामिल करें, जैसे बोलिंगर बैंड, केडीजे आदि।
  4. स्टॉप लॉस तंत्र विकसित करें. जब नुकसान पूर्व निर्धारित स्टॉप लॉस बिंदुओं तक पहुंचते हैं तो सक्रिय रूप से नुकसान को काटें.
  5. अधिकतम निकासी को नियंत्रित करने के लिए निकासी अनुपात जोड़ें।

सारांश

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


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMMA", max_bars_back = 200)

var up1 = #26A69A
var up2 = #B2DFDB
var down1 = #FF5252
var down2 = #FFCDD2
var confirmationLength = 2

var earliest = timestamp("20 Jan 2024 00:00 +0000")

// Regn u
shortEMA = ta.ema(close, 12)
longEMA = ta.ema(close, 26)
macd = shortEMA - longEMA
signal = ta.ema(macd, 9)
delta = macd - signal
absDelta = math.abs(delta)
previousDelta = delta[1]

signalCrossover = ta.crossover(macd, signal)
signalCrossunder = ta.crossunder(macd, signal)

harskiftetdag = hour(time[confirmationLength]) > hour(time)

enterLongSignal = signalCrossover[confirmationLength] and (macd > signal) and (absDelta >= 0.08)
exitLongSignal = signalCrossunder[confirmationLength] and (macd < signal)

enterShortSignal = signalCrossunder[confirmationLength] and (macd < signal) and (absDelta >= 0.08)
exitShortSignal = signalCrossover[confirmationLength] and (macd > signal)

// Så er det tid til at købe noe
qty = math.floor(strategy.equity / close)

if time >= earliest and not harskiftetdag
    if exitLongSignal 
        strategy.close("long")
    else if enterLongSignal
        strategy.close("short")
        strategy.entry("long", strategy.long, qty = qty)

    if exitShortSignal
        strategy.close("short")
    else if enterShortSignal
        strategy.close("long")
        strategy.entry("short", strategy.short, qty = qty)

// Så er det tid til at vise noe

plot(macd, color=color.blue)
plot(signal, color=color.orange)

// bgcolor(color = delta > 0.1 ? color.new(color.green, 90) : color.new(color.green, 100))
// bgcolor(color = signalCrossover ? color.purple : signalCrossunder ? color.aqua : color.new(color.green, 100))

histogramColor = delta > 0 ? (previousDelta < delta ? up1 : up2) : (previousDelta > delta ? down1 : down2)

plot(
     delta,
     style=plot.style_columns,
     color=histogramColor
     )

अधिक