मूविंग एवरेज गोल्डन क्रॉस और डेड क्रॉस पर आधारित ट्रेडिंग रणनीति


निर्माण तिथि: 2023-12-07 14:56:50 अंत में संशोधित करें: 2023-12-07 14:56:50
कॉपी: 0 क्लिक्स: 843
1
ध्यान केंद्रित करना
1619
समर्थक

मूविंग एवरेज गोल्डन क्रॉस और डेड क्रॉस पर आधारित ट्रेडिंग रणनीति

अवलोकन

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

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

जब 50 दिन की चलती औसत के ऊपर 200 दिन की चलती औसत को तोड़ने के लिए एक पीतल का कांटा होता है, तो यह दर्शाता है कि बीटीसी एक बहुमुखी बाजार में प्रवेश कर रहा है और एक खरीद संकेत देता है। और जब 50 दिन की चलती औसत नीचे 200 दिन की चलती औसत को तोड़ती है और एक फिसलन कांटा बनाता है, तो यह दर्शाता है कि बीटीसी एक खाली बाजार में प्रवेश कर रहा है और एक बेचने का संकेत देता है।

इस रणनीति में, मूल चलती औसत के लिए स्वर्ण कांटा और फंसे हुए कांटा संकेतों के अलावा, निर्णय लेने के लिए कुछ अतिरिक्त तकनीकी संकेतकों को शामिल किया गया है, जिनमें शामिल हैंः

  1. ईएमए संकेतक: एक लंबाई + ऑफसेट के ईएमए संकेतक की गणना करें, जो यह दर्शाता है कि वर्तमान में एक बहु-स्तरीय बाजार में है, जब यह बढ़ता है, तो इसे खरीदा जा सकता है।

  2. चलती औसत और ईएमए के बीच संख्यात्मक संबंध की तुलना करें: यदि ईएमए 50 दिन की चलती औसत से अधिक है, तो एक खरीद निर्णय उत्पन्न होता है।

  3. जांच करें कि कीमत पिछले K लाइन के निचले बिंदु से 1% से अधिक गिर गई है, यदि यह संतुष्ट है तो यह एक बेचने का संकेत देता है।

उपरोक्त संकेतकों के संयोजन के माध्यम से, कुछ गलत संकेतों को फ़िल्टर किया जा सकता है, जिससे रणनीतिक ट्रेडिंग निर्णयों को अधिक विश्वसनीय बनाया जा सकता है।

श्रेष्ठता विश्लेषण

इस रणनीति के कुछ फायदे हैंः

  1. मूविंग एवरेज का उपयोग मुख्य ट्रेडिंग सिग्नल के रूप में किया जाता है, जिससे बाजार के शोर को फ़िल्टर किया जा सकता है और रुझान की दिशा की पहचान की जा सकती है।

  2. ईएमए जैसे कई सहायक तकनीकी संकेतकों के संयोजन के साथ, सिग्नल की विश्वसनीयता को बढ़ाया जा सकता है, झूठे संकेतों को फ़िल्टर किया जा सकता है।

  3. उचित स्टॉप लॉस रणनीतियों के साथ, एकल नुकसान को प्रभावी ढंग से नियंत्रित किया जा सकता है।

  4. सरल लेन-देन तर्क, आसानी से समझने योग्य कार्यान्वयन, और मात्रात्मक लेनदेन के शुरुआती लोगों के लिए उपयुक्त।

  5. अधिक विन्यास योग्य पैरामीटर हैं, जिन्हें आप अपनी पसंद के अनुसार समायोजित कर सकते हैं।

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

इस रणनीति के कुछ जोखिम भी हैं, जिनके बारे में ध्यान देने की आवश्यकता हैः

  1. इस प्रकार, एक चलती औसत अपने आप में बहुत पिछड़ा हुआ है, और यह कीमतों के तेजी से पलटने के अवसरों को खो सकता है।

  2. सहायक संकेतकों ने नियमों की संख्या में वृद्धि की है और गलत संकेतों की संभावना को बढ़ाया है।

  3. गलत स्टॉप लॉस सेटिंग से नुकसान बढ़ सकता है।

  4. गलत पैरामीटर सेटिंग्स (जैसे चलती औसत लंबाई आदि) भी रणनीति को प्रभावित कर सकते हैं।

समाधान के लिएः

  1. उचित रूप से चलती औसत चक्र को छोटा करें और पैरामीटर अनुकूलन की सीमा को बढ़ाएं।

  2. सिग्नल की गुणवत्ता की जांच के लिए फीडबैक डेटा की मात्रा बढ़ाएं।

  3. स्टॉप लॉस को उचित रूप से ढीला करें और स्टॉप प्रॉफिट सेट करें।

  4. पैरामीटर अनुकूलन जोड़ें, सबसे अच्छा पैरामीटर संयोजन खोजें।

अनुकूलन दिशा

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

  1. मशीन लर्निंग एल्गोरिदम को जोड़ना और पैरामीटर का स्वचालित अनुकूलन करना।

  2. अधिक सहायक संकेतकों को जोड़ना, कई उप-नीतियों का निर्माण करना और मतदान तंत्र के माध्यम से निर्णय लेना।

  3. Breakout रणनीति का प्रयोग करें और कीमतों के ब्रेकआउट की पहचान करें।

  4. डीप लर्निंग का उपयोग मूल्य प्रवृत्तियों की भविष्यवाणी करने के लिए

  5. स्टॉप लॉस को गतिशील रूप से ट्रैक करने के लिए स्टॉप लॉस को अनुकूलित करें।

उपरोक्त अनुकूलन से निर्णय लेने की सटीकता में सुधार होता है और रणनीतियों की लाभप्रदता और स्थिरता में वृद्धि होती है।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-11-06 00:00:00
end: 2023-12-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('JayJay BTC Signal', overlay=true, initial_capital=100, currency='USD', default_qty_value=100, default_qty_type=strategy.percent_of_equity, commission_value=0, calc_on_every_tick=true)

securityNoRepaint(sym, tf, src) => request.security(sym, tf, src[barstate.isrealtime ? 1 : 0])[barstate.isrealtime ? 0 : 1]

//200 50 Moving Average
ma50Len = input.int(50, minval=1, title='MA50-Length')
ma50Src = input(close, title='MA50-Source')
ma50Show = input(true, title='Show SMA50 on chart')
ma50Close = ta.sma(ma50Src, ma50Len)
ma50CloseTimeframe = input.timeframe("240", "Ma50 Timeframe", group = "EMA Options")
ma50Open = ta.sma(open, ma50Len)
ma200Len = input.int(200, minval=1, title='MA200-Length')
ma200Src = input(close, title='MA200-Source')
ma200Show = input(true, title='Show SMA200 on chart')
ma200CloseTimeframe = input.timeframe("D", "Ma200 Timeframe", group = "EMA Options")
ma200Close = ta.sma(ma200Src, ma200Len)
ma200Open = ta.sma(open, ma200Len)
//plot(ma200Close, color=color.new(#0b6ce5, 0), title='MA200')
//plot(ma50Close, color=color.new(#00d8ff, 0), title='MA50')

sma50 = securityNoRepaint(syminfo.tickerid, ma50CloseTimeframe, ma50Close)
plot(sma50 and ma50Show ? sma50 : na, color=color.new(#00d8ff, 0), title='SMA50')
sma200 = securityNoRepaint(syminfo.tickerid, ma200CloseTimeframe, ma200Close)
plot(sma200 and ma200Show ? sma200 : na, color=color.new(#00d8ff, 0), title='SMA200')

// Short/Long EMA
// Define the offset value
EMAOffsetValue = input.int(2, title='EMA Offset', minval=0)
emaplot = input(true, title='Show EMA on chart')
len = input.int(20, minval=1, title='ema Length') + EMAOffsetValue
emaCloseTimeframe = input.timeframe("240", "EMA 1 Timeframe", group = "EMA Options")
emaOpen = ta.ema(open, len)
emaClose = ta.ema(close, len)

ema = securityNoRepaint(syminfo.tickerid, emaCloseTimeframe, emaClose)

up = emaClose > ema[1]
down = emaClose < ema[1]
mycolor = up ? color.green : down ? color.red : color.blue

plot(ema and emaplot ? ema : na, title='Signal EMA', color=mycolor, linewidth=3)
//plot(emaClose and emaplot ? emaClose : na, title='Signal 20 EMA', color=color.yellow, linewidth=3)

ma50GreaterThanMa200 = sma50 > sma200

last3BarUp = ema > ema[1]

startLong = up and ema > sma50 and ma50GreaterThanMa200 and (100 - (sma50 / ema * 100) > 1.0)

startFrom = input(timestamp("20 Jan 2000 00:00"), "StartFrom")

yearFilter = true

alertLongPositionMessage = "{\"direction:\": \"long\", \"action\": \"{{strategy.order.action}}\", \"price\": \"{{strategy.order.price}}\", \"qty\": \"{{strategy.position_size}}\", \"symbol\": \"{{ticker}}\", \"date\": \"{{time}}\"}"

if true and startLong and yearFilter
    strategy.entry('Long', strategy.long, comment = "Long", alert_message = alertLongPositionMessage)

longStopLossLevel = open * 0.05
strategy.exit('StopLoss', from_entry='Long',comment = "StopLoss!", loss=longStopLossLevel, profit=close * 0.3, alert_message = alertLongPositionMessage)
longPercentageChange = low / close[1] * 100 - 100
is1PercentLower = longPercentageChange < -0.1
closeLongPositionWhen = (down and is1PercentLower) or (emaClose < sma50)
if closeLongPositionWhen
    strategy.close('Long', comment = "Fuck It!", alert_message =  alertLongPositionMessage)

bgcolor(startLong ? color.green : na, transp=90)