दोहरी ईएमए गोल्डन क्रॉस सफलता रणनीति

लेखक:चाओझांग, दिनांक: 2023-12-20 16:34:58
टैगः

img

अवलोकन

यह रणनीति 5 मिनट और 34 मिनट के घातीय चलती औसत (ईएमए) लाइनों के स्वर्ण क्रॉस और मृत्यु क्रॉस संचालन के आधार पर एक प्रवृत्ति के बाद की रणनीति है। यह लंबे समय तक चला जाता है जब तेजी से ईएमए नीचे से धीमी ईएमए के ऊपर से गुजरता है, और कम हो जाता है जब तेजी से ईएमए ऊपर से धीमी ईएमए के नीचे से गुजरता है। यह जोखिमों को नियंत्रित करने के लिए स्टॉप प्रॉफिट और स्टॉप लॉस भी सेट करता है।

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

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

लाभ विश्लेषण

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

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

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

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

  1. सर्वोत्तम पैरामीटर संयोजन खोजने के लिए ईएमए मापदंडों का अनुकूलन करें.
  2. अधिक लाभ प्राप्त करने के लिए स्टॉप लाभ और स्टॉप हानि बिंदुओं को अनुकूलित करें।
  3. संकेतों को फ़िल्टर करने और सटीकता में सुधार करने के लिए एमएसीडी, केडीजे जैसे अन्य संकेतक जोड़ें।

सारांश

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


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

//@version=2
strategy(title='[STRATEGY][RS]MicuRobert EMA cross V2', shorttitle='S', overlay=true, pyramiding=0, initial_capital=100000)
USE_TRADESESSION = input(title='Use Trading Session?', type=bool, defval=true)
USE_TRAILINGSTOP = input(title='Use Trailing Stop?', type=bool, defval=true)
trade_session = input(title='Trade Session:',defval='0400-1500', confirm=false)
istradingsession = not USE_TRADESESSION ? false : not na(time('1', trade_session))
bgcolor(istradingsession?gray:na)
trade_size = input(title='Trade Size:', type=float, defval=1)
tp = input(title='Take profit in pips:', type=float, defval=55.0) * (syminfo.mintick*10)
sl = input(title='Stop loss in pips:', type=float, defval=22.0) * (syminfo.mintick*10)
ma_length00 = input(title='EMA length:',  defval=5)
ma_length01 = input(title='DEMA length:',  defval=34)
price = input(title='Price source:',  defval=open)

//  ||--- NO LAG EMA, Credit LazyBear:  ---||
f_LB_zlema(_src, _length)=>
    _ema1=ema(_src, _length)
    _ema2=ema(_ema1, _length)
    _d=_ema1-_ema2
    _zlema=_ema1+_d
//  ||-------------------------------------||

ma00 = f_LB_zlema(price, ma_length00)
ma01 = f_LB_zlema(price, ma_length01)
plot(title='M0', series=ma00, color=black)
plot(title='M1', series=ma01, color=black)

isnewbuy = change(strategy.position_size)>0 and change(strategy.opentrades)>0
isnewsel = change(strategy.position_size)<0 and change(strategy.opentrades)>0

buy_entry_price = isnewbuy ? price : buy_entry_price[1]
sel_entry_price = isnewsel ? price : sel_entry_price[1]
plot(title='BE', series=buy_entry_price, style=circles, color=strategy.position_size <= 0 ? na : aqua)
plot(title='SE', series=sel_entry_price, style=circles, color=strategy.position_size >= 0 ? na : aqua)
buy_appex = na(buy_appex[1]) ? price : isnewbuy ? high : high >= buy_appex[1] ? high : buy_appex[1]
sel_appex = na(sel_appex[1]) ? price : isnewsel ? low : low <= sel_appex[1] ? low : sel_appex[1]
plot(title='BA', series=buy_appex, style=circles, color=strategy.position_size <= 0 ? na : teal)
plot(title='SA', series=sel_appex, style=circles, color=strategy.position_size >= 0 ? na : teal)
buy_ts = buy_appex - sl
sel_ts = sel_appex + sl
plot(title='Bts', series=buy_ts, style=circles, color=strategy.position_size <= 0 ? na : red)
plot(title='Sts', series=sel_ts, style=circles, color=strategy.position_size >= 0 ? na : red)

buy_cond1 = crossover(ma00, ma01) and (USE_TRADESESSION ? istradingsession : true)
buy_cond0 = crossover(price, ma00) and ma00 > ma01 and (USE_TRADESESSION ? istradingsession : true)
buy_entry = buy_cond1 or buy_cond0
buy_close = (not USE_TRAILINGSTOP ? low <= buy_entry_price - sl: low <= buy_ts) or high>=buy_entry_price+tp//high>=last_traded_price + tp or low<=last_traded_price - sl //high >= hh or 
sel_cond1 = crossunder(ma00, ma01) and (USE_TRADESESSION ? istradingsession : true)
sel_cond0 = crossunder(price, ma00) and ma00 < ma01 and (USE_TRADESESSION ? istradingsession : true)
sel_entry = sel_cond1 or sel_cond0
sel_close = (not USE_TRAILINGSTOP ? high >= sel_entry_price + sl : high >= sel_ts) or low<=sel_entry_price-tp//low<=last_traded_price - tp or high>=last_traded_price + sl //low <= ll or 

strategy.entry('buy', long=strategy.long, qty=trade_size, comment='buy', when=buy_entry)
strategy.close('buy', when=buy_close)
strategy.entry('sell', long=strategy.short, qty=trade_size, comment='sell', when=sel_entry)
strategy.close('sell', when=sel_close)

अधिक