ट्रिपल ड्रैगन सिस्टम एक कम्पोजिट तकनीकी ट्रेडिंग रणनीति है जिसमें एक्सटेंडेड प्राइस वॉल्यूम ट्रेंड (ईपीवीटी) इंडिकेटर, डॉनचियन चैनल इंडिकेटर और पैराबोलिक एसएआर इंडिकेटर को मिलाया गया है। यह रणनीति बाजार की प्रवृत्ति दिशा और संभावित खरीद और बिक्री संकेतों की पहचान करने के लिए तीन संकेतकों की पूरक ताकतों का उपयोग करती है।
यह रणनीति सबसे पहले ईपीवीटी और डोंचियन चैनलों का उपयोग बाजार की प्रवृत्ति दिशा निर्धारित करने के लिए करती है। जब ईपीवीटी अपनी बेसलाइन से ऊपर है और कीमत ऊपरी डोंचियन चैनल से ऊपर है, तो यह एक अपट्रेंड का सुझाव देती है। इसके विपरीत, जब ईपीवीटी अपनी बेसलाइन से नीचे है और कीमत निचले डोंचियन चैनल से नीचे है, तो यह एक डाउनट्रेंड का सुझाव देती है।
प्रवृत्ति की दिशा की पहचान करने के बाद, यह रणनीति विशिष्ट प्रवेश और निकास बिंदुओं की पहचान करने के लिए पैराबोलिक एसएआर संकेतक पेश करती है। जब पैराबोलिक एसएआर कीमत से नीचे पार करता है, तो यह एक खरीद संकेत उत्पन्न करता है। जब पैराबोलिक एसएआर कीमत से ऊपर पार करता है, तो यह एक बिक्री संकेत उत्पन्न करता है।
संकेतों को और अधिक मान्य करने के लिए, यह रणनीति उच्च अस्थिरता की अवधि के दौरान बाजार में प्रवेश करने से बचने के लिए कई समय सीमाओं में प्रवृत्ति की दिशा की पुष्टि करती है। इसके अलावा, लाभ और जोखिम को नियंत्रित करने के लिए कई लाभ लेने के स्तर निर्धारित किए जाते हैं।
ट्रिपल ड्रैगन सिस्टम का सबसे बड़ा लाभ बाजार के रुझानों को अधिक व्यापक और सटीक रूप से निर्धारित करने के लिए तीन अलग-अलग प्रकार के अत्यधिक पूरक संकेतकों का संयुक्त उपयोग है। विशेष रूप से मुख्य लाभ हैंः
सूचकों को व्यवस्थित रूप से जोड़कर, ट्रिपल ड्रैगन सिस्टम प्रत्येक सूचक के लाभों का पूर्ण उपयोग कर सकता है, जिसके परिणामस्वरूप दीर्घकालिक, मध्यम और दीर्घकालिक रुझानों का उच्च सटीक आकलन, प्रवेश और निकास बिंदुओं की अधिक सटीक पहचान और बेहतर जोखिम-लाभ अनुपात हो सकता है।
एक सूचक पोर्टफोलियो रणनीति के रूप में, ट्रिपल ड्रैगन सिस्टम में कुल मिलाकर नियंत्रित जोखिम हैं, लेकिन फिर भी कुछ जोखिम ध्यान देने योग्य हैंः
उपरोक्त जोखिमों से निपटने के लिए, हम संकेतकों के पैरामीटर सेटिंग्स को उचित रूप से समायोजित करने और एकल संकेतकों की विफलता की संभावना को कम करने के लिए पूरक निर्णय के लिए अन्य संकेतकों का उपयोग करने की सलाह देते हैं। इसके अलावा, समग्र रणनीति जोखिम नियंत्रण के लिए उचित स्टॉप लॉस और स्थिति आकार भी महत्वपूर्ण हैं।
ट्रिपल ड्रैगन सिस्टम के आगे अनुकूलन के लिए जगह हैः
एल्गोरिथम पैरामीटर अनुकूलन, मल्टी-इंडिकेटर संयोजन निर्णय और व्यवहारिक मात्रात्मक विश्लेषण के माध्यम से, ट्रिपल ड्रैगन प्रणाली की लाभप्रदता और स्थिरता में और सुधार की संभावना है। हम रणनीति प्रणाली को लगातार अनुकूलित और परिष्कृत करने के लिए उद्योग के अत्याधुनिक विकास के साथ बने रहेंगे।
ट्रिपल ड्रैगन सिस्टम एक तकनीकी संकेतक पोर्टफोलियो रणनीति है जो बाजार के रुझानों को निर्धारित करने और व्यापारिक अवसरों की पहचान करने के लिए ईपीवीटी, डॉनचियन चैनलों और पैराबोलिक एसएआर की पूरक ताकतों का लाभ उठाती है। इस रणनीति में सटीक निर्णय, नियंत्रित जोखिम, सत्यापन की कई परतें हैं, और मध्यम और दीर्घकालिक निवेशकों के लिए उपयुक्त एक प्रभावी प्रणाली है। हम बेहतर जोखिम-लाभ अनुपात के लिए ट्रिपल ड्रैगन सिस्टम को अनुकूलित करना जारी रखेंगे।
/*backtest start: 2023-11-20 00:00:00 end: 2023-12-20 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="TRIPLE DRAGON SYSTEM", overlay=true,default_qty_type = strategy.percent_of_equity,default_qty_value=100,initial_capital=1000,pyramiding=0,commission_value=0.01) /////////////// DRAG-ON ///// EMA'S /////////////// emar = ta.ema(close,5) plot(emar, color=color.blue, title="S-Fast EMA") //EMAlengthTRF = input.int(200, minval=1,title = "EMA Filter") //ematrf = ta.ema(close,EMAlengthTRF) //plot(ematrf, "EMA-TREND FILTER", color=color.red,linewidth = 4) /////////////// 1-DRAG-ON /////EXTENDED PRICE VOLUME TREND /////////////// lenght = input(200,"EPVT - Trend Lenght") var cumVol = 0. cumVol += nz(volume) if barstate.islast and cumVol == 0 runtime.error("No volume is provided by the data vendor.") src = close vt = ta.cum(ta.change(src)/src[1]*volume) upx = ta.highest(vt,lenght) downx = ta.lowest(vt,lenght) basex = (upx +downx)/2 VTX = vt - basex /////////////// 2-DRAG-ON ///// DON TREND /////////////// length = input.int(200, minval=1, title = "Donchian Lenght") lower = ta.lowest(length) upper = ta.highest(length) basis = math.avg(upper, lower) updiff = upper - close downdiff = lower - close dontrend = -(updiff + downdiff) xupx = ta.highest(dontrend,length) >0 ? ta.highest(dontrend,length) : 0 xdownx = ta.lowest(dontrend,length) < 0 ?ta.lowest(dontrend,length) :0 xxbasisxx = math.avg(xdownx, xupx) inversedragup = xupx[1] inversedragdown = xdownx[1] inversedragon = (inversedragup+inversedragdown)/2 /////////////// 3-DRAG-ON ///// SUPER SAR-X /////////////// start = input(0.02) increment = input(0.02) maximum = input(0.8) entry_bars = input(1, title='Entry on Nth trend bar') atr = ta.atr(14) atr := na(atr) ? ta.tr : atr psar = 0.0 // PSAR af = 0.0 // Acceleration Factor trend_dir = 0 // Current direction of PSAR ep = 0.0 // Extreme point trend_bars = 0 sar_long_to_short = trend_dir[1] == 1 and close <= psar[1] // PSAR switches from long to short sar_short_to_long = trend_dir[1] == -1 and close >= psar[1] // PSAR switches from short to long trend_change = barstate.isfirst[1] or sar_long_to_short or sar_short_to_long // Calculate trend direction trend_dir := barstate.isfirst[1] and close[1] > open[1] ? 1 : barstate.isfirst[1] and close[1] <= open[1] ? -1 : sar_long_to_short ? -1 : sar_short_to_long ? 1 : nz(trend_dir[1]) trend_bars := sar_long_to_short ? -1 : sar_short_to_long ? 1 : trend_dir == 1 ? nz(trend_bars[1]) + 1 : trend_dir == -1 ? nz(trend_bars[1]) - 1 : nz(trend_bars[1]) // Calculate Acceleration Factor af := trend_change ? start : trend_dir == 1 and high > ep[1] or trend_dir == -1 and low < ep[1] ? math.min(maximum, af[1] + increment) : af[1] // Calculate extreme point ep := trend_change and trend_dir == 1 ? high : trend_change and trend_dir == -1 ? low : trend_dir == 1 ? math.max(ep[1], high) : math.min(ep[1], low) // Calculate PSAR psar := barstate.isfirst[1] and close[1] > open[1] ? low[1] : barstate.isfirst[1] and close[1] <= open[1] ? high[1] : trend_change ? ep[1] : trend_dir == 1 ? psar[1] + af * atr : psar[1] - af * atr //////////////// MELODY /////////////////// VTY = ta.valuewhen(ta.cross(VTX,0),close,0) //plot(VTY, color=color.black, title="Extended-PVT") //DONTRENDX = ta.valuewhen(ta.cross(dontrend,0),close,0) //plot(DONTRENDX, color=color.red, title="DONCHIAN TREND") SSARX = ta.valuewhen(ta.cross(psar,close),close,0) //plot(SSARX, color=color.black, title="SSAR-X") MAXDRAG = math.max(SSARX,VTY) //plot(MAXDRAG, color=color.black, title="MAX DRAG") MINDRAG = math.min(SSARX,VTY) //plot(MINDRAG, color=color.black, title="MIN DRAG") BASEDRAG = math.avg(MAXDRAG,MINDRAG) //plot(BASEDRAG, color=color.red, title="BASE DRAG") /////BUY AND SELL LOGIC /////////// DRAGONBUY = (ta.crossover(close,MAXDRAG) or ta.crossover(close,MINDRAG) ) DRAGONBUYSTOP = (ta.crossunder(close,MAXDRAG) or ta.crossunder(close,MINDRAG)) DRAGONBUYPLOT = ta.valuewhen(DRAGONBUY==true,close,0) plot(DRAGONBUYPLOT, color=color.red, title="BUY LINE") DRAGONSELL = (ta.crossunder(close,MAXDRAG) or ta.crossunder(close,MINDRAG) ) DRAGONSELLSTOP = (ta.crossover(close,MAXDRAG) or ta.crossover(close,MINDRAG)) DRAGONSELLPLOT = ta.valuewhen(DRAGONSELL==true,close,0) plot(DRAGONSELLPLOT, color=color.red, title="SELL LINE") /////TAKE PROFIT LOGIC /////////// tp1 = input.int(5, minval=1,title = "TP-1") tp2 = input.int(10, minval=1,title = "TP-2") tp3 = input.int(15, minval=1,title = "TP-3") TPTAKA1B = DRAGONBUYPLOT*(1+tp1/100) //plot(TPTAKA1B, "BUY-TP1", color=color.red,linewidth = 1) TPTAKA2B = DRAGONBUYPLOT*(1+tp2/100) //plot(TPTAKA2B, "BUY-TP2", color=color.red,linewidth = 1) TPTAKA3B = DRAGONBUYPLOT*(1+tp3/100) //plot(TPTAKA3B, "BUY-TP3", color=color.red,linewidth = 1) TPTAKA1S = DRAGONSELLPLOT*(1-tp1/100) //plot(TPTAKA1S, "SELL-TP1", color=color.red,linewidth = 1) TPTAKA2S = DRAGONSELLPLOT*(1-tp2/100) //plot(TPTAKA2S, "SELL-TP2", color=color.red,linewidth = 1) TPTAKA3S = DRAGONSELLPLOT*(1-tp3/100) //plot(TPTAKA3S, "SELL-TP3", color=color.red,linewidth = 1) BUYTP = ta.crossunder(emar,TPTAKA1B) or ta.crossunder(emar,TPTAKA2B) or ta.crossunder(emar,TPTAKA3B) SELLTP = ta.crossover(emar,TPTAKA1B) or ta.crossover(emar,TPTAKA2B) or ta.crossover(emar,TPTAKA3B) /////STRATEGY /////////// // Enter condition longCondition = DRAGONBUY==true if longCondition strategy.entry('Long', strategy.long, comment = "ENTER-LONG") // Exit condition strategy.close('Long', when=DRAGONBUYSTOP, comment = "EXIT-LONG") // Enter condition ShortCondition = DRAGONSELL if ShortCondition strategy.entry('Short', strategy.short, comment = "ENTER-SHORT") // Exit condition strategy.close('Short', when=DRAGONSELLSTOP, comment = "EXIT-SHORT") ///// END OF STRATEGY ///////////