ٹرپل ڈریگن سسٹم ایک جامع تکنیکی تجارتی حکمت عملی ہے جس میں توسیع شدہ قیمت حجم رجحان (ای پی وی ٹی) اشارے ، ڈونچیان چینلز اشارے اور پیرا بولک SAR اشارے کو یکجا کیا گیا ہے۔ یہ حکمت عملی مارکیٹ کے رجحان کی سمت اور ممکنہ خرید و فروخت کے اشاروں کی نشاندہی کرنے کے لئے تین اشارے کی مکمل طاقتوں کا استعمال کرتی ہے۔
اس حکمت عملی میں سب سے پہلے مارکیٹ کے رجحان کی سمت کا تعین کرنے کے لئے ای پی وی ٹی اور ڈونچیئن چینلز کا استعمال کیا جاتا ہے۔ جب ای پی وی ٹی اپنی بیس لائن سے اوپر ہے اور قیمت ڈونچیئن چینل کے اوپری حصے سے اوپر ہے تو ، یہ ایک اپ ٹرینڈ کا اشارہ کرتا ہے۔ اس کے برعکس ، جب ای پی وی ٹی اپنی بیس لائن سے نیچے ہے اور قیمت ڈونچیئن چینل کے نچلے حصے سے نیچے ہے تو ، یہ ایک ڈاؤن ٹرینڈ کا اشارہ کرتا ہے۔
رجحان کی سمت کی نشاندہی کرنے کے بعد ، یہ حکمت عملی مخصوص داخلی اور خارجی مقامات کی نشاندہی کرنے کے لئے پیرا بولک ایس اے آر اشارے کو متعارف کراتی ہے۔ جب پیرا بولک ایس اے آر قیمت سے نیچے عبور کرتا ہے تو ، یہ خرید کا اشارہ پیدا کرتا ہے۔ جب پیرا بولک ایس اے آر قیمت سے اوپر عبور کرتا ہے تو ، یہ فروخت کا اشارہ پیدا کرتا ہے۔
سگنلز کی مزید توثیق کے لئے ، یہ حکمت عملی متعدد ٹائم فریموں میں رجحان کی سمت کی تصدیق بھی کرتی ہے تاکہ اعلی اتار چڑھاؤ کے ادوار کے دوران مارکیٹ میں داخل ہونے سے بچ سکے۔ اس کے علاوہ ، منافع میں مقفل ہونے اور خطرے پر قابو پانے کے لئے متعدد منافع لینے کی سطح مقرر کی گئی ہے۔
ٹریپل ڈریگن سسٹم کا سب سے بڑا فائدہ مارکیٹ کے رجحانات کو زیادہ جامع اور درست طریقے سے طے کرنے کے لئے تین مختلف قسم کے انتہائی مکمل اشارے کے مشترکہ استعمال میں ہے۔ خاص طور پر ، اہم فوائد یہ ہیں:
اشارے کو منظم طریقے سے جوڑ کر ، ٹرپل ڈریگن سسٹم ہر اشارے کے فوائد کا بھرپور استعمال کرسکتا ہے ، جس کے نتیجے میں طویل ، درمیانی اور طویل مدتی رجحانات کا اندازہ لگانے میں اعلی صحت سے متعلق ، انٹری اور آؤٹ پوائنٹس کی زیادہ عین مطابق نشاندہی ، اور اعلی رسک - انعام تناسب۔
ایک اشارے پورٹ فولیو کی حکمت عملی کے طور پر، ٹرپل ڈریگن سسٹم میں مجموعی طور پر قابو پانے والے خطرات ہیں، لیکن پھر بھی کچھ خطرات کو نوٹ کرنا:
مذکورہ بالا خطرات سے نمٹنے کے لئے ، ہم تجویز کرتے ہیں کہ اشارے کی پیرامیٹرز کی ترتیبات کو مناسب طریقے سے ایڈجسٹ کیا جائے اور کسی ایک اشارے کی ناکامی کے امکان کو کم کرنے کے لئے اضافی فیصلے کے لئے دوسرے اشارے استعمال کیے جائیں۔ اس کے علاوہ ، اسٹاپ نقصان اور پوزیشن کا مناسب سائز بھی مجموعی حکمت عملی کے خطرے کے کنٹرول کے لئے اہم ہے۔
ٹرپل ڈریگن سسٹم میں مزید اصلاحات کی گنجائش ہے:
الگورتھمک پیرامیٹر کی اصلاح ، کثیر اشارے کے امتزاج کے فیصلے ، اور طرز عمل کے مقداری تجزیے کے ذریعے ، ٹرپل ڈریگن سسٹم کی منافع بخش اور استحکام کو مزید بہتر بنانے کی صلاحیت موجود ہے۔ ہم حکمت عملی کے نظام کو مستقل طور پر بہتر بنانے اور بہتر بنانے کے لئے جدید ترین صنعت کی پیشرفتوں سے آگاہ رہیں گے۔
ٹرپل ڈریگن سسٹم ایک تکنیکی اشارے پورٹ فولیو کی حکمت عملی ہے جو مارکیٹ کے رجحانات کا تعین کرنے اور تجارتی مواقع کی نشاندہی کرنے کے لئے ای پی وی ٹی ، ڈونچیان چینلز اور پیرا بولک ایس اے آر کی تکمیلی طاقتوں کا فائدہ اٹھاتا ہے۔ اس حکمت عملی میں عین مطابق فیصلے ، قابو پانے والے خطرات ، توثیق کی متعدد پرتیں ہیں ، اور یہ درمیانی اور طویل مدتی سرمایہ کاروں کے لئے موزوں ایک موثر نظام ہے۔ ہم اعلی رسک - انعام تناسب کے لئے ٹرپل ڈریگن سسٹم کو بہتر بناتے رہیں گے۔
/*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 ///////////