तीन गुना ओवरलैपिंग सुपरट्रेंड रणनीति

लेखक:चाओझांग, दिनांकः 2024-02-26 10:04:18
टैगः

img

अवलोकन

यह एक रणनीति है जो तीन ओवरलैप सुपरट्रेंड संकेतकों के आधार पर व्यापारिक निर्णय लेती है। यह ट्रेंडिंग बाजारों में बड़े दिशात्मक अवसरों को पकड़ सकती है।

रणनीति तर्क

रणनीति विभिन्न पैरामीटर सेटिंग्स के साथ तीन सुपरट्रेंड संकेतकों की गणना करने के लिए ta.supertrend() फ़ंक्शन का उपयोग करती है, अर्थात् 10 दिनों के साथ सुपरट्रेंड1 और 3 के गुणक के साथ, 14 दिनों के साथ सुपरट्रेंड2 और 2 के गुणक के साथ, और 20 दिनों के साथ सुपरट्रेंड3 और 2.5 के गुणक के साथ। एक खरीद संकेत तब उत्पन्न होता है जब कीमत तीनों सुपरट्रेंड लाइनों के ऊपर से गुजरती है। एक बिक्री संकेत तब उत्पन्न होता है जब कीमत तीनों सुपरट्रेंड लाइनों के नीचे से गुजरती है।

सुपरट्रेंड इंडिकेटर में एटीआर इंडिकेटर शामिल है ताकि प्रभावी रूप से मूल्य प्रवृत्ति परिवर्तनों को ट्रैक किया जा सके। तीन ओवरलैप सुपरट्रेंड की रणनीति संकेतों को अधिक विश्वसनीय बनाती है, जिससे ट्रेंडिंग बाजारों में अधिक लाभ प्राप्त होता है।

लाभ

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

जोखिम

  1. कई फ़िल्टरिंग संकेत कुछ अवसरों को खो सकते हैं
  2. विभिन्न बाजारों में अच्छा प्रदर्शन नहीं करता है
  3. हाइपरपैरामीटर के तीन सेटों के संयोजनों के अनुकूलन की आवश्यकता है
  4. एकाग्र व्यापार समय अचानक घटनाओं के प्रति संवेदनशील है

जोखिमों को कम करने के लिए निम्नलिखित पर विचार किया जा सकता हैः

  1. फ़िल्टरिंग स्थितियों को समायोजित करें, एक या दो सुपरट्रेंड रखें
  2. स्टॉप लॉस रणनीति जोड़ें
  3. जीत दर में सुधार करने के लिए हाइपरपैरामीटर अनुकूलित करें

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

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

निष्कर्ष

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


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

//@version=5
strategy('Combined Supertrend Strategy - Ajit Prasad', overlay=true)

// Function to calculate Supertrend
supertrendFunc(atrLength, factor) =>
    [supertrend, direction] = ta.supertrend(factor, atrLength)
    [supertrend, direction]

// Input parameters for the first Supertrend
atrPeriod1 = input(10, 'ATR Length 1')
factor1 = input(3, 'Factor 1')

// Calculate the first Supertrend
[supertrend1, direction1] = supertrendFunc(atrPeriod1, factor1)

// Input parameters for the second Supertrend
atrPeriod2 = input(14, 'ATR Length 2') // Change values as needed
factor2 = input(2, 'Factor 2') // Change values as needed

// Calculate the second Supertrend
[supertrend2, direction2] = supertrendFunc(atrPeriod2, factor2)

// Input parameters for the third Supertrend
atrPeriod3 = input(20, 'ATR Length 3') // Change values as needed
factor3 = input(2.5, 'Factor 3') // Change values as needed

// Calculate the third Supertrend
[supertrend3, direction3] = supertrendFunc(atrPeriod3, factor3)

// Define market opening and closing times
marketOpenHour = 9
marketOpenMinute = 15
marketCloseHour = 15
marketCloseMinute = 30
exitTimeHour = 15
exitTimeMinute = 10

// Fetch historical close values using security function
histClose = request.security(syminfo.tickerid, "D", close)

// Buy condition
buyCondition = close > supertrend1 and close > supertrend2 and close > supertrend3 and close[1] <= supertrend1[1]

// Sell condition
sellCondition = close < supertrend1 and close < supertrend2 and close < supertrend3 and close[1] >= supertrend1[1]

// Exit conditions
buyExitCondition = close < supertrend1[1] or close < supertrend2[1] or close < supertrend3[1]
sellExitCondition = close > supertrend1[1] or close > supertrend2[1] or close > supertrend3[1]

// Execute orders with market timing
if true
    // Buy condition without 'and not'
    strategy.entry('Buy', strategy.long, when = buyCondition)

    // Sell condition without 'and not'
    strategy.entry('Sell', strategy.short, when = sellCondition)

    // Close conditions
    strategy.close('Buy', when = buyExitCondition )
    strategy.close('Sell', when = sellExitCondition)

// Close all trades at 3:10 pm IST
if true
    strategy.close_all()

// Plot Supertrends
plot(supertrend1, 'Supertrend 1', color=color.new(color.green, 0), style=plot.style_linebr)
plot(supertrend2, 'Supertrend 2', color=color.new(color.red, 0), style=plot.style_linebr)
plot(supertrend3, 'Supertrend 3', color=color.new(color.blue, 0), style=plot.style_linebr)

// Plot labels
plotshape(buyCondition, style=shape.labelup, location=location.belowbar, color=color.new(color.green, 0), size=size.large, text='Buy Signal', textcolor=color.new(color.white, 0))
plotshape(sellCondition, style=shape.labeldown, location=location.abovebar, color=color.new(color.red, 0), size=size.large, text='Sell Signal', textcolor=color.new(color.white, 0))

अधिक