ট্রিপল ড্রাগন সিস্টেম একটি যৌগিক প্রযুক্তিগত ট্রেডিং কৌশল যা এক্সটেন্ডেড প্রাইস ভলিউম ট্রেন্ড (ইপিভিটি) সূচক, ডনচিয়ান চ্যানেল সূচক এবং প্যারাবোলিক এসএআর সূচককে একত্রিত করে। এই কৌশলটি বাজারের প্রবণতা দিক এবং সম্ভাব্য ক্রয় এবং বিক্রয় সংকেত সনাক্ত করতে তিনটি সূচকের পরিপূরক শক্তি ব্যবহার করে।
এই কৌশলটি প্রথমে বাজারের প্রবণতার দিকনির্দেশ নির্ধারণের জন্য ইপিভিটি এবং ডনচিয়ান চ্যানেল ব্যবহার করে। যখন ইপিভিটি তার বেসলাইন উপরে থাকে এবং দাম উপরের ডনচিয়ান চ্যানেলের উপরে থাকে, তখন এটি একটি আপট্রেন্ডের পরামর্শ দেয়। বিপরীতভাবে, যখন ইপিভিটি তার বেসলাইন নীচে থাকে এবং দাম নিম্ন ডনচিয়ান চ্যানেলের নীচে থাকে, তখন এটি একটি ডাউনট্রেন্ডের পরামর্শ দেয়।
প্রবণতা দিক চিহ্নিত করার পরে, এই কৌশলটি নির্দিষ্ট এন্ট্রি এবং প্রস্থান পয়েন্টগুলি সনাক্ত করতে প্যারাবোলিক এসএআর সূচক প্রবর্তন করে। যখন প্যারাবোলিক এসএআর মূল্যের নীচে ক্রস করে, এটি একটি ক্রয় সংকেত উত্পন্ন করে। যখন প্যারাবোলিক এসএআর মূল্যের উপরে ক্রস করে, এটি একটি বিক্রয় সংকেত উত্পন্ন করে।
সিগন্যালগুলিকে আরও বৈধ করার জন্য, এই কৌশলটি উচ্চ অস্থিরতার সময়কালে বাজারে প্রবেশ এড়াতে একাধিক সময়সীমার মধ্যে প্রবণতার দিকটিও নিশ্চিত করে। উপরন্তু, লাভ এবং ঝুঁকি নিয়ন্ত্রণের জন্য একাধিক লাভের স্তর সেট করা হয়।
ট্রিপল ড্রাগন সিস্টেমের সবচেয়ে বড় সুবিধা হ'ল বাজারের প্রবণতা আরও বিস্তৃত এবং নির্ভুলভাবে নির্ধারণের জন্য তিনটি বিভিন্ন ধরণের অত্যন্ত পরিপূরক সূচকগুলির সমন্বিত ব্যবহার। বিশেষত প্রধান সুবিধাগুলি হ'লঃ
সূচকগুলিকে একত্রিত করে, ট্রিপল ড্রাগন সিস্টেম প্রতিটি সূচকের সুবিধাগুলি পুরোপুরি ব্যবহার করতে পারে, যার ফলে দীর্ঘ, মাঝারি এবং দীর্ঘমেয়াদী প্রবণতা বিচার করার ক্ষেত্রে উচ্চ নির্ভুলতা, প্রবেশ এবং প্রস্থান পয়েন্টগুলির আরও সুনির্দিষ্ট সনাক্তকরণ এবং উচ্চতর ঝুঁকি-প্রতিফলন অনুপাতের ফলে।
একটি সূচক পোর্টফোলিও কৌশল হিসাবে, ট্রিপল ড্রাগন সিস্টেমের সামগ্রিকভাবে নিয়ন্ত্রণযোগ্য ঝুঁকি রয়েছে, তবে এখনও কিছু ঝুঁকি রয়েছেঃ
উপরোক্ত ঝুঁকিগুলি মোকাবেলা করার জন্য, আমরা নির্দেশক পরামিতি সেটিংগুলি যথাযথভাবে সামঞ্জস্য করার পরামর্শ দিই এবং একক নির্দেশকের ব্যর্থতার সম্ভাবনা হ্রাস করার জন্য পরিপূরক বিচারের জন্য অন্যান্য সূচকগুলি ব্যবহার করি। উপরন্তু, সামগ্রিক কৌশল ঝুঁকি নিয়ন্ত্রণের জন্য সঠিক স্টপ লস এবং অবস্থানের আকারও গুরুত্বপূর্ণ।
ট্রাইপল ড্রাগন সিস্টেমের আরও অপ্টিমাইজেশনের সুযোগ রয়েছে:
অ্যালগরিদমিক প্যারামিটার অপ্টিমাইজেশান, মাল্টি-ইন্ডিকেটর সংমিশ্রণ রায় এবং আচরণগত পরিমাণ বিশ্লেষণের মাধ্যমে, ট্রিপল ড্রাগন সিস্টেমের লাভজনকতা এবং স্থিতিশীলতা আরও উন্নত করার সম্ভাবনা রয়েছে। আমরা কৌশল সিস্টেমকে ক্রমাগত অপ্টিমাইজ এবং পরিমার্জন করতে শিল্পের কাটিয়া প্রান্তের উন্নয়নের সাথে তাল মিলিয়ে চলব।
ট্রিপল ড্রাগন সিস্টেম একটি প্রযুক্তিগত সূচক পোর্টফোলিও কৌশল যা বাজারের প্রবণতা নির্ধারণ এবং ট্রেডিং সুযোগ সনাক্ত করার জন্য ইপিভিটি, ডনচিয়ান চ্যানেল এবং প্যারাবোলিক এসএআর এর পরিপূরক শক্তি ব্যবহার করে। এই কৌশলটির সুনির্দিষ্ট বিচার, নিয়ন্ত্রণযোগ্য ঝুঁকি, বৈধতার একাধিক স্তর রয়েছে এবং এটি মাঝারি-দীর্ঘমেয়াদী বিনিয়োগকারীদের জন্য উপযুক্ত একটি কার্যকর সিস্টেম। আমরা উচ্চতর ঝুঁকি-পুরষ্কার অনুপাতের জন্য ট্রিপল ড্রাগন সিস্টেমকে অপ্টিমাইজ করা চালিয়ে যাব।
/*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 ///////////