ট্রিপল ড্রাগন সিস্টেম

লেখক:চাওঝাং, তারিখ: ২০২৩-১২-২১ 11:56:31
ট্যাগঃ

img

সারসংক্ষেপ

ট্রিপল ড্রাগন সিস্টেম একটি যৌগিক প্রযুক্তিগত ট্রেডিং কৌশল যা এক্সটেন্ডেড প্রাইস ভলিউম ট্রেন্ড (ইপিভিটি) সূচক, ডনচিয়ান চ্যানেল সূচক এবং প্যারাবোলিক এসএআর সূচককে একত্রিত করে। এই কৌশলটি বাজারের প্রবণতা দিক এবং সম্ভাব্য ক্রয় এবং বিক্রয় সংকেত সনাক্ত করতে তিনটি সূচকের পরিপূরক শক্তি ব্যবহার করে।

কৌশল নীতি

এই কৌশলটি প্রথমে বাজারের প্রবণতার দিকনির্দেশ নির্ধারণের জন্য ইপিভিটি এবং ডনচিয়ান চ্যানেল ব্যবহার করে। যখন ইপিভিটি তার বেসলাইন উপরে থাকে এবং দাম উপরের ডনচিয়ান চ্যানেলের উপরে থাকে, তখন এটি একটি আপট্রেন্ডের পরামর্শ দেয়। বিপরীতভাবে, যখন ইপিভিটি তার বেসলাইন নীচে থাকে এবং দাম নিম্ন ডনচিয়ান চ্যানেলের নীচে থাকে, তখন এটি একটি ডাউনট্রেন্ডের পরামর্শ দেয়।

প্রবণতা দিক চিহ্নিত করার পরে, এই কৌশলটি নির্দিষ্ট এন্ট্রি এবং প্রস্থান পয়েন্টগুলি সনাক্ত করতে প্যারাবোলিক এসএআর সূচক প্রবর্তন করে। যখন প্যারাবোলিক এসএআর মূল্যের নীচে ক্রস করে, এটি একটি ক্রয় সংকেত উত্পন্ন করে। যখন প্যারাবোলিক এসএআর মূল্যের উপরে ক্রস করে, এটি একটি বিক্রয় সংকেত উত্পন্ন করে।

সিগন্যালগুলিকে আরও বৈধ করার জন্য, এই কৌশলটি উচ্চ অস্থিরতার সময়কালে বাজারে প্রবেশ এড়াতে একাধিক সময়সীমার মধ্যে প্রবণতার দিকটিও নিশ্চিত করে। উপরন্তু, লাভ এবং ঝুঁকি নিয়ন্ত্রণের জন্য একাধিক লাভের স্তর সেট করা হয়।

সুবিধা বিশ্লেষণ

ট্রিপল ড্রাগন সিস্টেমের সবচেয়ে বড় সুবিধা হ'ল বাজারের প্রবণতা আরও বিস্তৃত এবং নির্ভুলভাবে নির্ধারণের জন্য তিনটি বিভিন্ন ধরণের অত্যন্ত পরিপূরক সূচকগুলির সমন্বিত ব্যবহার। বিশেষত প্রধান সুবিধাগুলি হ'লঃ

  1. ইপিভিটি সঠিক মূলসূত্রের সাহায্যে প্রবণতা পরিবর্তন পয়েন্ট এবং প্রবণতা শক্তি সঠিকভাবে চিহ্নিত করতে পারে;
  2. ডনচিয়ান চ্যানেলগুলি স্পষ্টভাবে প্রবণতার দিকনির্দেশনা নির্ধারণ করতে পারে এবং প্রবণতাগুলি ভালভাবে ক্যাপচার করতে পারে;
  3. প্যারাবলিক এসএআর, যখন প্রবণতা সূচকগুলির সাথে মিলিত হয়, তখন প্রবেশ এবং প্রস্থান পয়েন্টগুলি আরও সঠিকভাবে সনাক্ত করতে পারে।

সূচকগুলিকে একত্রিত করে, ট্রিপল ড্রাগন সিস্টেম প্রতিটি সূচকের সুবিধাগুলি পুরোপুরি ব্যবহার করতে পারে, যার ফলে দীর্ঘ, মাঝারি এবং দীর্ঘমেয়াদী প্রবণতা বিচার করার ক্ষেত্রে উচ্চ নির্ভুলতা, প্রবেশ এবং প্রস্থান পয়েন্টগুলির আরও সুনির্দিষ্ট সনাক্তকরণ এবং উচ্চতর ঝুঁকি-প্রতিফলন অনুপাতের ফলে।

ঝুঁকি বিশ্লেষণ

একটি সূচক পোর্টফোলিও কৌশল হিসাবে, ট্রিপল ড্রাগন সিস্টেমের সামগ্রিকভাবে নিয়ন্ত্রণযোগ্য ঝুঁকি রয়েছে, তবে এখনও কিছু ঝুঁকি রয়েছেঃ

  1. ইপিভিটি-তে ভুয়া পলাতক এবং বিপুল বিপর্যয়ের ঝুঁকি রয়েছে।
  2. ডোনচিয়ান চ্যানেলগুলি পাশের একত্রীকরণের সময় সংকীর্ণ হতে পারে, ত্রুটি সংকেত সম্ভাবনা বৃদ্ধি করে;
  3. অনুপযুক্ত প্যারাবলিক এসএআর পরামিতি সেটিংগুলিও কিছু পরিমাণে কেনা/বিক্রয় পয়েন্ট সনাক্তকরণকে প্রভাবিত করতে পারে।

উপরোক্ত ঝুঁকিগুলি মোকাবেলা করার জন্য, আমরা নির্দেশক পরামিতি সেটিংগুলি যথাযথভাবে সামঞ্জস্য করার পরামর্শ দিই এবং একক নির্দেশকের ব্যর্থতার সম্ভাবনা হ্রাস করার জন্য পরিপূরক বিচারের জন্য অন্যান্য সূচকগুলি ব্যবহার করি। উপরন্তু, সামগ্রিক কৌশল ঝুঁকি নিয়ন্ত্রণের জন্য সঠিক স্টপ লস এবং অবস্থানের আকারও গুরুত্বপূর্ণ।

কৌশল অপ্টিমাইজেশন

ট্রাইপল ড্রাগন সিস্টেমের আরও অপ্টিমাইজেশনের সুযোগ রয়েছে:

  1. স্বয়ংক্রিয় পরামিতি অপ্টিমাইজেশনের জন্য মেশিন লার্নিং অ্যালগরিদম চালু করা যেতে পারে;
  2. স্থিতিশীলতা বাড়ানোর জন্য অস্থিরতা সূচক বিবেচনা করা যেতে পারে;
  3. জনসাধারণের মনোভাবের ওঠানামা নির্ধারণের জন্য অনুভূতি সূচকগুলি অন্তর্ভুক্ত করা যেতে পারে।

অ্যালগরিদমিক প্যারামিটার অপ্টিমাইজেশান, মাল্টি-ইন্ডিকেটর সংমিশ্রণ রায় এবং আচরণগত পরিমাণ বিশ্লেষণের মাধ্যমে, ট্রিপল ড্রাগন সিস্টেমের লাভজনকতা এবং স্থিতিশীলতা আরও উন্নত করার সম্ভাবনা রয়েছে। আমরা কৌশল সিস্টেমকে ক্রমাগত অপ্টিমাইজ এবং পরিমার্জন করতে শিল্পের কাটিয়া প্রান্তের উন্নয়নের সাথে তাল মিলিয়ে চলব।

সিদ্ধান্ত

ট্রিপল ড্রাগন সিস্টেম একটি প্রযুক্তিগত সূচক পোর্টফোলিও কৌশল যা বাজারের প্রবণতা নির্ধারণ এবং ট্রেডিং সুযোগ সনাক্ত করার জন্য ইপিভিটি, ডনচিয়ান চ্যানেল এবং প্যারাবোলিক এসএআর এর পরিপূরক শক্তি ব্যবহার করে। এই কৌশলটির সুনির্দিষ্ট বিচার, নিয়ন্ত্রণযোগ্য ঝুঁকি, বৈধতার একাধিক স্তর রয়েছে এবং এটি মাঝারি-দীর্ঘমেয়াদী বিনিয়োগকারীদের জন্য উপযুক্ত একটি কার্যকর সিস্টেম। আমরা উচ্চতর ঝুঁকি-পুরষ্কার অনুপাতের জন্য ট্রিপল ড্রাগন সিস্টেমকে অপ্টিমাইজ করা চালিয়ে যাব।


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

আরো