सैमसुगा सुपरट्रेंड एमएसीडी रणनीति

लेखक:चाओझांग, दिनांकः 2024-03-11 11:24:20
टैगः

img

अवलोकन

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

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

  1. एटीआर अवधि और गुणक कारक के लिए मापदंडों के साथ सुपरट्रेंड संकेतक की गणना करने के लिए ta.supertrend फ़ंक्शन का उपयोग करें।
  2. सुपरट्रेंड सूचक की दिशा में परिवर्तन के आधार पर लंबी/लघु प्रवृत्ति निर्धारित करें। जब दिशा 0 से अधिक से 0 से कम या बराबर हो जाती है, तो इसे अपट्रेंड माना जाता है; अन्यथा, इसे डाउनट्रेंड माना जाता है।
  3. 30-मिनट के समय-सीमा पर एमएसीडी संकेतक मान प्राप्त करने के लिए request.security फ़ंक्शन का उपयोग करें, जिसमें एमएसीडी रेखा, संकेत रेखा और हिस्टोग्राम शामिल हैं।
  4. अपट्रेंड में, यदि एमएसीडी हिस्टोग्राम 0 से अधिक है, तो एक लंबी स्थिति खोलें और किसी भी पिछली छोटी स्थिति को बंद करें।
  5. डाउनट्रेंड में, यदि एमएसीडी हिस्टोग्राम 0 से कम है, तो शॉर्ट पोजीशन खोलें और किसी भी पिछले लॉन्ग पोजीशन को बंद करें।

लाभ विश्लेषण

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

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

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

अनुकूलन दिशा

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

निष्कर्ष

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


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

//@version=5
strategy("Samsuga supertrend", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)


atrPeriod = input.int(7,    "ATR Length", minval = 1)
factor =    input.float(1.0, "Factor",     minval = 0.01, step = 0.01)

[supertrend, direction] = ta.supertrend(factor, atrPeriod)

supertrend := barstate.isfirst ? na : supertrend
upTrend =    plot(direction <= 0 ? supertrend : na, "Up Trend",   color = color.green, style = plot.style_linebr)
downTrend =  plot(direction <= 0 ? na : supertrend, "Down Trend", color = color.red,   style = plot.style_linebr)
bodyMiddle = plot(barstate.isfirst ? na : (open + close) / 2, "Body Middle",display = display.none)
longcondition = direction[1] > direction 
shortCondition = direction[1] < direction 

macdp1 = 3
macdp2=10
macdp3=6

[macdLine, signalLine, histLine] =request.security(symbol = syminfo.tickerid, timeframe = "30",expression = ta.macd(close,macdp1,macdp2,macdp3),lookahead=barmerge.lookahead_on)
// plot(macdLine,   title = "MACD",   color = #2962FF)
// plot(signalLine, title = "Signal", color = #FF6D00)
// 8, 21, 5
// 8,13,9
// 12,26,9
//  1--> 3, 17, 5
// 3, 10, 16
// log.info(str.tostring(syminfo.tickerid)+str.tostring(histLine[0]))
//  /////////----------------METHOD 1-----------------////////////////
// if(longcondition)
//     if(strategy.opentrades>0)
//         strategy.close("Long","Prev Exit", immediately = true)
//     if( histLine[0] > 0.1)
//         strategy.entry(id= "Long", direction=strategy.long,  comment = "update long")

    
// else if(shortCondition and strategy.openprofit<=0.1) 
//     strategy.close("Long",comment = "Close",immediately = true)
//  /////////----------------METHOD 2-----------------////////////////
// if(longcondition)
//     if(histLine[0] > 0)
//         strategy.entry(id= "Long", direction=strategy.long,  comment = "update long" )
//         strategy.exit("Long", loss = close*0.2)


    
// else if(shortCondition ) 
//     strategy.close("Long",comment = "Close",immediately = true)
//  /////////----------------METHOD 3-----------------////////////////
// log.info(str.tostring(syminfo.tickerid)+str.tostring(histLine[0]))
if(longcondition)
    if(histLine[0] > 0)    
        strategy.close("Short",comment = "E-S", alert_message = "E-S",disable_alert = true)
        strategy.entry(id= "Long", direction=strategy.long,  comment = "L",alert_message = "L")
else if(shortCondition) 
    if(histLine[0] < 0)    
        strategy.close("Long",comment = "E-L",alert_message = "E-L",disable_alert = true)
        strategy.entry(id= "Short", direction=strategy.short,  comment = "S",alert_message = "S")

अधिक