संसाधन लोड हो रहा है... लोड करना...

दीर्घकालिक ट्रेंड एसएमए क्रॉसओवर मात्रात्मक रणनीति

लेखक:चाओझांग, दिनांकः 2025-01-06 17:01:08
टैगःएसएमएईएमए

img

अवलोकन

यह रणनीति बहु-अवधि सरल चलती औसत (एसएमए) क्रॉसओवर संकेतों के आधार पर एक मात्रात्मक ट्रेडिंग प्रणाली है। यह मुख्य रूप से दीर्घकालिक अपट्रेंड के भीतर पुलबैक अवसरों की पहचान करता है। रणनीति उनके सापेक्ष पदों और क्रॉसओवर संकेतों के माध्यम से बाजार के रुझानों और ट्रेडिंग अवसरों को निर्धारित करने के लिए पांच अलग-अलग अवधि (5, 10, 20, 60, और 120 दिन) के एसएमए का उपयोग करती है।

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

मूल तर्क में कई प्रमुख घटक शामिल हैंः

  1. SMA20 और SMA60 की सापेक्ष स्थिति के माध्यम से दीर्घकालिक प्रवृत्ति की पहचान, जब SMA20 SMA60 से ऊपर होता है, तो एक अपट्रेंड की पुष्टि करता है।
  2. खरीद सिग्नल तब ट्रिगर होते हैं जब अल्पकालिक एसएमए5 एक पुलबैक के बाद एसएमए20 से ऊपर जाता है, जो अपट्रेंड के भीतर रिबाउंड का संकेत देता है।
  3. बाहर निकलने के संकेत तब होते हैं जब SMA20 SMA5 के ऊपर से गुजरता है, जिससे अल्पकालिक गति कमजोर होती है।
  4. इस रणनीति में बैकटेस्टिंग की अवधि को सीमित करने के लिए समय फिल्टर कार्यक्षमता शामिल है, जिससे लचीलापन बढ़ता है।

रणनीतिक लाभ

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

रणनीतिक जोखिम

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

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

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

सारांश

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


/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("Long-Term Growing Stock Strategy", overlay=true)
// Date Range
// STEP 1. Create inputs that configure the backtest's date range
useDateFilter = input.bool(true, title="Filter Date Range of Backtest",group="Backtest Time Period")
backtestStartDate = input(timestamp("1 Jan 2014"),title="Start Date", group="Backtest Time Period",tooltip="This start date is in the time zone of the exchange " + "where the chart's instrument trades. It doesn't use the time " +"zone of the chart or of your computer.")
backtestEndDate = input(timestamp("31 Dec 2024"), title="End Date", group="Backtest Time Period")
// STEP 2. See if current bar falls inside the date range
inTradeWindow = true


// Calculate EMAs
// ema20 = ta.ema(close, ema20_length)
// ema60 = ta.ema(close, ema60_length)
// ema120 = ta.ema(close, ema120_length)
sma5 = ta.sma(close, 5)
sma10 = ta.sma(close, 10)
sma20 = ta.sma(close, 20)
sma60 = ta.sma(close, 60)
sma120 = ta.sma(close, 120)

// Long-term growth condition: EMA 20 > EMA 60 > EMA 120
longTermGrowth = sma20 > sma60
//  and ema60 > ema120

// Entry condition: Stock closes below EMA 20 and then rises back above EMA 10

// entryCondition = ta.crossover(close, ema20) or (close[1] < ema20[1] and close > ema20)
entryCondition =  sma5[1] <= sma20[1] and sma5 > sma20
// ta.crossover(sma5, sma20)

// Exit condition: EMA 20 drops below EMA 60
// exitCondition = ema5 < ema60 or (year == 2024 and month == 12 and dayofmonth == 30)
exitCondition = ta.crossover(sma20, sma5)

// Execute trades
if entryCondition and inTradeWindow
    strategy.entry("Long Entry", strategy.long)

if exitCondition and inTradeWindow
    strategy.close("Long Entry")
// plotchar(true, char="sma5: " + str.tostring(sma5))
// plotchar(true, char="sma5: " + sma20)
// label.new(x=bar_index, y=high + 10, text="SMA 5: " + str.tostring(sma5), color=color.blue, style=label.style_label_down, textcolor=color.white, size=size.small)
// label.new(x=bar_index, y=low, text="SMA 20: " + str.tostring(sma20), color=color.red, style=label.style_label_down, textcolor=color.white, size=size.small)


// x = time + (time - time[1]) * offset_x

//     var label lab = na
//     label.delete(lab)
//     lab := label.new(x=x, y=0, text=txt, xloc=xloc.bar_time, yloc=yloc.belowbar, color=color.red, textcolor=color.black, size=size.normal, style=label.style_label_up)
//     label.set_x(lab, x)



// Plot EMAs for visualization
// plot(ema20, color=color.red, title="EMA 20")
// plot(ema60, color=color.green, title="EMA 60")
// plot(ema120, color=color.blue, title="EMA 120")

संबंधित

अधिक