डबल ईएमए क्रॉसओवर सिस्टम के साथ ट्रेंड ट्रेडिंग

लेखक:चाओझांग, दिनांकः 2023-10-26 17:15:46
टैगः

img

अवलोकन

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

यह कैसे काम करता है

इस प्रणाली का मूल दो ईएमए पर निर्भर करता है, एक तेज ईएमए और एक धीमी ईएमए। जब तेज ईएमए धीमी ईएमए से ऊपर होता है, तो इसे तेजी माना जाता है। जब तेज ईएमए धीमी ईएमए से नीचे होता है, तो इसे मंदी माना जाता है।

दोनों ईएमए के साथ मूल्य के संबंध के आधार पर, सलाखों को विभिन्न व्यापार क्षेत्रों में वर्गीकृत किया जा सकता हैः

  • जब तेज ईएमए धीमी ईएमए से ऊपर होता है और कीमत तेज ईएमए (जी1) से ऊपर होती है, तो यह एक मजबूत खरीद क्षेत्र है, यहां एक लंबी स्थिति ली जा सकती है।

  • जब तेज ईएमए धीमी ईएमए से नीचे होता है और कीमत तेज ईएमए (आर1) से नीचे होती है, तो यह एक मजबूत बिक्री क्षेत्र है, यहां एक छोटी स्थिति ली जा सकती है।

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

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

स्टोचआरएसआई को संभावित प्रवेश और निकास बिंदुओं की पहचान करने में सहायता के लिए भी लागू किया गया है। स्टोचआरएसआई से ओवरसोल्ड और ओवरबॉट रीडिंग अतिरिक्त खरीद और बिक्री संकेत प्रदान कर सकती है।

लाभ

  • सरल और स्वच्छ तर्क जिसे समझना और लागू करना आसान हो

  • मध्यम से दीर्घकालिक रुझानों को प्रभावी ढंग से पकड़ता है

  • चेतावनी/संक्रमण क्षेत्रों से मजबूत क्षेत्रों को अलग करता है, विश्वसनीय व्यापार संकेत उत्पन्न करता है

  • स्टॉकआरएसआई को शामिल करने से प्रवेश और निकास के समय में और सुधार होता है

जोखिम

  • एक शुद्ध प्रवृत्ति के बाद प्रणाली के रूप में, प्रदर्शन गैर-प्रवृत्ति बाजारों में पीड़ित हो सकता है

  • अनुचित ईएमए अवधि सेटिंग्स से झूठे संकेत हो सकते हैं

  • चेतावनी और संक्रमण क्षेत्रों में अधिक व्यापारिक जोखिम होते हैं और सावधानी बरतनी चाहिए

  • स्टॉप लॉस की अनुपस्थिति के कारण अधिक नुकसान हो सकता है

जोखिमों को निम्न द्वारा कम किया जा सकता हैः

  1. प्रवृत्ति के साथ मजबूत साधनों का चयन करना और प्रवृत्ति कमजोर होने पर व्यापार को रोकना

  2. झूठे संकेतों को कम करने के लिए ईएमए अवधि का अनुकूलन

  3. चेतावनी/संक्रमण क्षेत्रों में पुष्टि के लिए अतिरिक्त संकेतकों की शुरूआत

  4. व्यापार के प्रति हानि को नियंत्रित करने के लिए स्टॉप लॉस लागू करना

बढ़ोतरी के अवसर

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

  1. संकेत की पुष्टि के लिए MACD, KDJ जैसे अधिक संकेतकों को शामिल करें

  2. व्यापार सफलता दर में सुधार के लिए व्यापार क्षेत्रों में मात्रा विस्तार जैसे फ़िल्टर जोड़ें

  3. अनुकूलित मापदंडों के लिए बाजार स्थितियों के आधार पर ईएमए अवधि को गतिशील रूप से समायोजित करें

  4. कुछ हानि प्रतिशत पर ट्रेडों से बाहर निकलने के लिए स्टॉप लॉस रणनीतियों को लागू करें

  5. स्थिति आकार और धन प्रबंधन को अनुकूलित करें

  6. सबसे अच्छा विन्यास खोजने के लिए विभिन्न उपकरणों में परीक्षण और ठीक समायोजन पैरामीटर

अधिक संकेत पुष्टि, गतिशील पैरामीटर अनुकूलन, स्टॉप लॉस और उचित धन प्रबंधन की शुरूआत करके, बेहतर परिणामों के लिए सिस्टम की मजबूती में सुधार किया जा सकता है और जोखिमों को कम किया जा सकता है।

निष्कर्ष

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


/*backtest
start: 2023-01-01 00:00:00
end: 2023-10-25 00:00:00
period: 1d
basePeriod: 1h
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/
// © Vvaz_
//base-on CDC ActionZone By Piriya   a simple 2EMA and is most suitable for use with medium volatility market
//@version=4
strategy(title="Vin's Playzone" ,shorttitle="VPz", overlay=true, margin_long=4, margin_short=2)

//variable
srcf = input(title="Source",type=input.source,defval=close)
tffix = input(title="Fixed Timeframe",type=input.bool,defval=true)
tfn = input(title="Timeframe in",type=input.resolution,defval="D")
ema1 = input(title="Fast EMA",type=input.integer,defval=12)
ema2 = input(title="Slow EMA",type=input.integer,defval=26)
ema3 = input(title="EMA 100",type=input.bool,defval=true)
smooter =input(title="Smoothing period (1 = no smoothing)",type=input.integer,defval=2)
fillbar =input(title="Fill Bar Color",type=input.bool,defval=true)
emasw = input(title="Show EMA",type=input.bool,defval=true)
bssw = input(title="Show Buy-Sell signal",type=input.bool,defval=true)
plotmm = input(title="Show Buy-Sell Momentum",type=input.bool,defval=true)
plotmmsm = input(title="RSI Smoothing",type=input.integer,defval=0,minval=0,maxval=2)

//math
xcross =ema(srcf,smooter)
efast = tffix ?  ema(security(syminfo.tickerid,tfn,ema(srcf,ema1), gaps = barmerge.gaps_off,lookahead = barmerge.lookahead_on),smooter) :ema(xcross,ema1)
eslow = tffix ?  ema(security(syminfo.tickerid,tfn,ema(srcf,ema2), gaps = barmerge.gaps_off,lookahead = barmerge.lookahead_on),smooter) :ema(xcross,ema2)
ema3x = ema(xcross,100)


//Zone
Bull = efast > eslow
Bear = efast < eslow

G1 = Bull and xcross > efast //buy
G2 = Bear and xcross > efast and xcross > eslow //pre-buy1
G3 = Bear and xcross > efast and xcross < eslow //pre-buy2

R1 = Bear and xcross < efast //sell
R2 = Bull and xcross < efast and xcross < eslow //pre-sell1
R3 = Bull and xcross < efast and xcross > eslow //pre-sell2

//color
bcl =   G1 ? color.green :  G2 ? color.yellow : G3 ? color.orange :R1 ? color.red :R2 ? color.orange : R3 ? color.yellow : color.black
barcolor(color=fillbar ? bcl : na )

//plots
line1 = plot(ema3 ? ema3x : na ,"EMA100",color=color.white)
line2 = plot(emasw ? efast : na ,"Fast EMA",color=color.green)
line3 = plot(emasw ? eslow : na ,"Slow EMA",color=color.red)
fillcl = Bull ? color.green : Bear ? color.red : color.black
fill(line2,line3,fillcl)

//actions
buywhen = G1 and G1[1]==0
sellwhen = R1 and R1[1]==0

bullish = barssince(buywhen) < barssince(sellwhen)
bearish = barssince(sellwhen) < barssince(buywhen)

buy = bearish[1] and buywhen
sell = bullish[1] and sellwhen

bullbearcl = bullish ? color.green : bearish ? color.red : color.black

//plot trend
plotshape(bssw ? buy : na ,style=shape.arrowup,title="BUY",location=location.belowbar,color=color.green)
plotshape( bssw ? sell : na ,style=shape.arrowdown ,title="Sell",location=location.abovebar,color=color.red)

// Momentum Signal using StochRSI

smoothK = input(5,"StochRSI smooth K",type=input.integer,minval=1)
smoothD = input(4,"StochRSI smooth D",type=input.integer,minval=1)
RSIlen = input(14,"RSI length",type=input.integer,minval=1)
STOlen = input(14,"Stochastic length",type=input.integer,minval=1)
SRsrc = input(close,"Source for StochasticRSI",type=input.source)
OSlel = input(20,"Oversold Threshold",type=input.float,minval=0.00)
OBlel = input(80,"Oversold Threshold",type=input.float,minval=0.00)
rsil = rsi(SRsrc,RSIlen)
K = sma(stoch(rsil,rsil,rsil,STOlen),smoothK)
D = sma(K,smoothD)

buymore = iff( bullish ,iff(D < OSlel and crossover(K,D),	2,	 iff(D > OSlel and crossover(K,D),	 1,0)),0)
sellmore = iff( bearish,iff(D > OBlel and crossunder(K,D),	2,	 iff(D < OBlel and crossunder(K,D),	 1,0)),0)
//plot momentum
plotshape(plotmm ? buymore > plotmmsm ? buymore : na : na ,"Buy More!" ,style=shape.triangleup,location=location.belowbar,color=color.green)
plotshape(plotmm ? sellmore > plotmmsm ? sellmore : na : na ,"Sell More!" ,style=shape.triangledown,location=location.abovebar,color=color.red)


// === INPUT BACKTEST RANGE ===
FromYear  = input(defval = 2009, title = "From Year", minval = 2009)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2009)
ToMonth   = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 31, title = "To Day", minval = 1, maxval = 31)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"

//stratgy excuter
strategy.entry("Long",true,when=window() and buy or buymore)
strategy.close("Long",when=window() and sell or sellmore,comment="TP Long")
strategy.entry("Short",false,when=window() and sell or sellmore)
strategy.close("Short",when=window() and buy or buymore,comment="TP Short")




        

अधिक