गतिशील इंट्राडे लोंग-शॉर्ट बैलेंसिंग रणनीति जो मूविंग एवरेज और सुपरट्रेंड को जोड़ती है

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

img

रणनीति का अवलोकन

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

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

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

  1. वर्तमान रुझान दिशा निर्धारित करने के लिए सुपरट्रेंड सूचक का प्रयोग करें। जब सुपरट्रेंड सूचक बदलता है, तो यह रुझान के उलट होने का संकेत देता है।
  2. गति में परिवर्तन का न्याय करने के लिए एमएसीडी सूचक के हिस्टोग्राम का उपयोग करें। जब एमएसीडी हिस्टोग्राम नकारात्मक से सकारात्मक में बदल जाता है, तो यह ऊपर की गति में वृद्धि को इंगित करता है; जब एमएसीडी हिस्टोग्राम सकारात्मक से नकारात्मक में बदल जाता है, तो यह नीचे की गति में वृद्धि को इंगित करता है।
  3. एक लंबी स्थिति खोलें जब सुपरट्रेंड सूचक और एमएसीडी सूचक दोनों एक लंबा संकेत देते हैं; एक छोटी स्थिति खोलें जब सुपरट्रेंड सूचक और एमएसीडी सूचक दोनों एक छोटा संकेत देते हैं।
  4. रात भर के जोखिम से बचने के लिए प्रत्येक व्यापारिक दिन में सभी पदों को एक निश्चित समय (जैसे 15:15) पर बंद करें।
  5. सुपरट्रेंड सूचक और एमएसीडी सूचक के संकेतों के अनुसार एक नए व्यापार दिवस (जैसे 9:30) पर स्थिति फिर से खोलें।

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

रणनीतिक लाभ

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

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

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

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

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

सारांश

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

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

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


/*backtest
start: 2023-03-05 00:00:00
end: 2024-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © smj31071995

//@version=5
strategy("EQ - INTRA - Samsuga supertrend prod", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_every_tick = false)


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

[supertrend, direction] =request.security(symbol = syminfo.tickerid, timeframe = st_tf,expression =  ta.supertrend(factor, atrPeriod),lookahead=barmerge.lookahead_on)

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 = 2
macdp2=8
macdp3=4

[macdLine, signalLine, histLine] =request.security(symbol = syminfo.tickerid, timeframe = macd_tf,expression = ta.macd(close,macdp1,macdp2,macdp3),lookahead=barmerge.lookahead_on)
// log.info(str.tostring(syminfo.tickerid)+str.tostring(histLine[0]))
timezone_input = input("Asia/Kolkata", title="Timezone")
// log.info(timezone_input)
if(hour==15 and minute==15)
    strategy.close_all(comment = "DAY EXIT",alert_message = "X-D")
else if(hour==9 and minute==30)
    if(longcondition or histLine[1]>0)
        strategy.entry(id= "Long", direction=strategy.long,  comment = "DL",alert_message = "L")
    else if(shortCondition or histLine[1]<0) 
        strategy.entry(id= "Short", direction=strategy.short,  comment = "DS",alert_message = "S")
else
    if(longcondition)
        strategy.close("Short",comment = "X-S", alert_message = "X-S")
        if(histLine[1]>0)    
            strategy.entry(id= "Long", direction=strategy.long,  comment = "L",alert_message = "L")
    else if(shortCondition) 
        strategy.close("Long",comment = "X-L",alert_message = "X-L")
        if(histLine[1]<0)    
            strategy.entry(id= "Short", direction=strategy.short,  comment = "S",alert_message = "S")


// 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-----------------////////////////



अधिक