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