बहु सूचक ईएमए रणनीति

लेखक:चाओझांग, दिनांक: 2023-09-28 15:57:34
टैगः

अवलोकन

मल्टी-इंडिकेटर ईएमए रणनीति एक ट्रेंड फॉलो करने वाली रणनीति है जो ट्रेडिंग सिग्नल उत्पन्न करने के लिए ईएमए, एमएसीडी, ऑसिलेटर, आरएसआई, स्टोकास्टिक, बोलिंगर बैंड जैसे कई संकेतकों को शामिल करती है। कई संकेतकों के आधार पर एक समग्र संकेत की गणना करके, यह निर्धारित करता है कि बाजार एक अपट्रेंड या डाउनट्रेंड में है या नहीं।

रणनीति तर्क

रणनीति में सबसे पहले निम्नलिखित संकेतकों की गणना की जाती हैः

  • ईएमएः एक निश्चित अवधि में घातीय चलती औसत।

  • एमएसीडी: एमएसीडी डीआईएफ और डीईए लाइनें।

  • ऑसिलेटरः किसी अवधि में बंद और खुले के बीच का अंतर।

  • आरएसआईः एक अवधि में सापेक्ष शक्ति सूचकांक।

  • स्टोकैस्टिक: पैरामीटर के साथ स्टोकैस्टिक K और D मान।

  • बोलिंगर बैंडः एक अवधि में ऊपरी, मध्य और निचले बैंड।

फिर प्रत्येक संकेतक को इसकी वर्तमान स्थिति के आधार पर एक मान सौंपा जाता है। उदाहरण के लिए, 20 से नीचे स्टोकैस्टिक को 2 सौंपा जाता है, 80 से ऊपर आरएसआई को -2 सौंपा जाता है।

संकेतक मानों को संकलित संकेत ट्रिगर प्राप्त करने के लिए जोड़ दिया जाता है। यदि ट्रिगर >= 7, तो एक लंबा संकेत उत्पन्न होता है। यदि ट्रिगर <= -7, तो एक छोटा संकेत उत्पन्न होता है।

कई संकेतकों के संकेतों को मिलाकर, रणनीति अधिक सटीक रूप से प्रवृत्ति की दिशा निर्धारित कर सकती है और विश्वसनीय ट्रेडिंग संकेत उत्पन्न कर सकती है।

लाभ विश्लेषण

इस बहु-निर्देशक रणनीति का मुख्य लाभ यह है कि यह अधिक व्यापक और सटीक मूल्यांकन के लिए कई संकेतकों की ताकतों को जोड़ती है, जिससे व्यक्तिगत संकेतकों से झूठे संकेतों से बचा जाता है।

विशेष रूप से, लाभ निम्नलिखित हैंः

  1. कई संकेतकों का संयोजन अधिक विश्वसनीय प्रवृत्ति निर्धारण प्रदान करता है। व्यक्तिगत संकेतकों से भ्रामक संकेत मिल सकते हैं जबकि कई संकेतकों से एक दूसरे को सत्यापित किया जा सकता है और त्रुटियों को कम किया जा सकता है।

  2. विभिन्न संकेतक अपनी विशेषताओं के आधार पर प्रवृत्ति के विभिन्न चरणों की पहचान कर सकते हैं। उदाहरण के लिए, प्रवृत्ति की शुरुआत के लिए एमएसीडी, ओवरबॉट/ओवरसोल्ड स्थिति के लिए आरएसआई।

  3. विभिन्न मापदंडों वाले संकेतक विभिन्न समय सीमाओं पर विशेषताओं को कैप्चर कर सकते हैं। उदाहरण के लिए, तेज और धीमी ईएमए अवधि।

  4. प्रत्येक संकेतक के भार को अनुकूलित किया जा सकता है। अधिक महत्वपूर्ण संकेतक को उच्च भार सौंपा जा सकता है।

  5. बेहतर प्रदर्शन के लिए सूचक मिश्रण और भार को बैकटेस्टिंग के माध्यम से अनुकूलित किया जा सकता है।

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

कई संकेतकों के प्रयोग के बावजूद कुछ जोखिम मौजूद हैंः

  1. संकेतकों का अनुचित संयोजन ताकतों का लाभ उठाने में विफल हो सकता है या संघर्ष पैदा कर सकता है। संकेतकों के लागू होने की उचित समझ की आवश्यकता है।

  2. तर्कहीन भार वितरण सूचक महत्व को गलत तरीके से दर्शा सकता है। भारों को पुनरावर्ती परीक्षण और समायोजन की आवश्यकता होती है।

  3. एकल पैरामीटर सेट ओवरफिटिंग का कारण बन सकता है। मल्टी-टाइमफ्रेम सत्यापन का उपयोग किया जाना चाहिए।

  4. स्थैतिक संकेतकों के भार/परिमिति बदलती बाजार स्थितियों के अनुकूल नहीं हो सकते। गतिशील समायोजन तंत्र की आवश्यकता है।

  5. सूचक संकेतों में विलंब हो सकता है। स्टॉप लॉस टाइमिंग निर्धारित करने के लिए अन्य तकनीकों का उपयोग किया जाना चाहिए।

  6. कई संकेतकों से बढ़ी हुई रणनीति जटिलता के लिए पर्याप्त ऐतिहासिक डेटा और अधिक पैरामीटर ट्यूनिंग कठिनाई की आवश्यकता होती है।

सुधार के अवसर

रणनीति में सुधार के कुछ तरीके:

  1. वर्तमान बाजार स्थितियों के प्रति संवेदनशील संकेतकों को खोजने के लिए अधिक प्रकार के संकेतकों का परीक्षण करें।

  2. विभिन्न समय सीमाओं पर रुझानों को पकड़ने के लिए सूचक अवधि का अनुकूलन करें।

  3. सापेक्ष महत्व को बेहतर ढंग से प्रदर्शित करने के लिए संकेतक भारों को अनुकूलित करें।

  4. परिवर्तनशील बाजार स्थितियों के अनुकूल वास्तविक समय में मापदंडों और भारों को अनुकूलित करने के लिए गतिशील समायोजन जोड़ें।

  5. घाटे को सीमित करने के लिए तर्कसंगत स्टॉप लॉस बिंदुओं के साथ स्टॉप लॉस रणनीतियों को शामिल करें।

  6. एकल समय सीमा में ओवरफिटिंग से बचने के लिए बहु-समय सीमा सत्यापन जोड़ें।

  7. इष्टतम पैरामीटर संयोजन खोजने के लिए चरणबद्ध और संयोजन अनुकूलन का उपयोग करें।

  8. अधिक स्मार्ट गतिशील संकेतक भार के लिए मशीन लर्निंग जोड़ें।

  9. ट्रेडिंग रुझानों को ट्रैक करने और ओवरट्रेडिंग से बचने के लिए प्रवेश और निकास तर्क को अनुकूलित करें।

निष्कर्ष

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


/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ally17

//@version=4
// strategy("ELIA MULTI STRATEGY",overlay=true,initial_capital=1000, default_qty_type=strategy.percent_of_equity, commission_type=strategy.commission.percent, commission_value=0.00, default_qty_value=25)

//INPUT
start = timestamp(input(2021, "start year"), 1, 1, 00, 00)
end = timestamp(input(9999, "end year"), 1, 1, 00, 00)

emalen=input(80, title="Ema Len")
macdfast=input(12, title="Macd Fast Len")
macdslow=input(26, title="Macd Fast Len")
macdsig=input(12, title="Macd Signal Len")
occlen=input(15, title="Occ Len")

rsilen=input(2, title="Rsi Len")
stochklen=input(11, title="Stk K Len")
stochdlen=input(3, title="Stk D Len")
stochlen=input(3, title="Stk Smooth Len")
bblength = input(10, minval=1, title="BB Len")
mult = input(2.0, minval=0.001, maxval=50, title="BB Std Dev")

momlen=input(10, title="Mom Len")


//CALCOLI
var trigger = 0.0

var emavar = 0.0
var macdvar = 0.0
var occvar = 0.0

var rsivar = 0.0
var stochvar = 0.0
var bbvar = 0.0

var donvar =0.0

ema = ema(close,emalen)

[macdLine, signalLine, histLine] = macd(close, 12, 26, 9) // MACD

occ = ema(close,occlen) - ema(open,occlen)

rsi = rsi(close, rsilen) // RSI

stoch = sma(stoch(close, high, low, stochklen), stochlen) // Stoch

basis = sma(close, bblength)
dev = mult * stdev(close, bblength)
upper = basis + dev
lower = basis - dev

moment = mom(close, momlen) // Momentum

Obv = obv // OBV


//PLOT


//STRATEGIA
emavar := (close>ema)? 3 : -3
macdvar := (macdLine>signalLine)? 3 : -3
occvar := (occ>0)? 3 : -3

rsivar := (rsi<20)? 2 : (rsi>50 and rsi<80)? 1 : (rsi>80)? -2 : (rsi<50 and rsi>20)? -1 : 0
stochvar := (stoch<20)? 2 : (stoch>80)? -2 : 0
bbvar :=  (close<lower)? 2 : (close>upper)? -2 : 0

trigger := emavar+macdvar+occvar+rsivar+stochvar+bbvar

longcondition = trigger>=7
closelong = trigger<3

shortcondition = trigger<=-7
closeshort = trigger >-3

trendcolor = longcondition ? color.green : shortcondition? color.red : (trigger>3 and trigger<7)? #A2E1BF : (trigger<-3 and trigger>-7)? #E19997 : na
bgcolor(trendcolor, transp=80)


if time > start and time < end
    if longcondition
        strategy.entry("LONG", long=strategy.long)

if closelong
    strategy.close("LONG", comment="CLOSE LONG")
    
if time > start and time < end
    if shortcondition
        strategy.entry("SHORT", long=strategy.short)

if closeshort
    strategy.close("SHORT", comment="CLOSE SHORT")
    
//plotshape(longcondition, color=color.green, text="L", size=size.small, style=shape.triangledown)
//plotshape(shortcondition, color=color.red, "S"(trigger), size=size.small, style=shape.triangledown)
//plotshape(closelong, color=color.purple, text="LC", size=size.small, style=shape.triangledown)
//plotshape(closeshort, color=color.purple, text="SC", size=size.small, style=shape.triangledown)


अधिक