চলমান গড় এবং সুপার ট্রেন্ডের উপর ভিত্তি করে কৌশল অনুসরণ

লেখক:চাওঝাং, তারিখঃ ২০২৩-১১-১৪ 16:23:42
ট্যাগঃ

img

সারসংক্ষেপ

এই কৌশলটি প্রবণতা অনুসরণ করার জন্য চলমান গড় এবং সুপার প্রবণতা সূচকগুলিকে একত্রিত করে। প্রবণতা বাড়ার সময় এটি দীর্ঘ যায় এবং প্রবণতা হ্রাস পাওয়ার সময় এটি সংক্ষিপ্ত হয়।

কৌশলগত যুক্তি

  1. ওজনযুক্ত চলমান গড় MA গণনা করুন। একটি সময়ের জন্য ওজনযুক্ত গড় মূল্য গণনা করার জন্য ভলিউমকে ওজন হিসাবে ব্যবহার করুন।

  2. এমএ এর উপর ভিত্তি করে হুল চলমান গড় গণনা করুন। হুল চলমান গড় মূল্য পরিবর্তনের জন্য আরও সংবেদনশীল।

  3. সুপার ট্রেন্ড সূচক গণনা করুন। সুপার ট্রেন্ড ট্রেন্ড পরিবর্তন সনাক্ত করতে ATR একত্রিত করে। এটি উপরের এবং নীচের ব্যান্ড গণনা করে।

  4. যখন উপরের ব্যান্ডের উপরে ঘনিষ্ঠ বিরতি হয়, তখন দীর্ঘ যান। যখন নিম্ন ব্যান্ডের নীচে ঘনিষ্ঠ বিরতি হয়, তখন সংক্ষিপ্ত যান।

  5. মূল্যের গতিবিধি দৃশ্যমানভাবে পর্যবেক্ষণ করার জন্য ওপেন, ক্লোজ, হাই এবং লো এর মতো সহায়ক সূচকগুলি প্লট করুন।

  6. সূচক ক্রসওভারের উপর ভিত্তি করে ট্রেডিং সিদ্ধান্ত নিন।

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

  1. কৌশলটি চলমান গড় এবং সুপার ট্রেন্ড উভয়ই একত্রিত করে, যা আরও সঠিক ট্রেন্ড সনাক্তকরণকে সক্ষম করে।

  2. হোল মুভিং এভারেজ মূল্য পরিবর্তনের প্রতি বেশি সংবেদনশীল, যা সময়মত স্পট ট্রেন্ড বিপরীত হতে সাহায্য করে।

  3. সুপার ট্রেন্ড গতিশীলভাবে বাজারের অস্থিরতার সাথে মানিয়ে নিতে উপরের এবং নীচের ব্যান্ডগুলি সামঞ্জস্য করে।

  4. সহায়ক সূচকগুলি সূচক সংকেতগুলির মাধ্যমে সিদ্ধান্ত গ্রহণে সহায়তা করার জন্য মূল্যের গতিবিধিগুলি চাক্ষুষভাবে প্রদর্শন করে।

  5. এই কৌশলটি চলমান গড় সময়ের উপর প্যারামিটার অপ্টিমাইজেশান, সুপার ট্রেন্ড মাল্টিপ্লায়ার ইত্যাদির অনুমতি দেয়।

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

  1. Whipsaws ব্যাপ্তি সীমাবদ্ধ বাজার সময় মিথ্যা সংকেত উৎপন্ন করতে পারে, অপ্রয়োজনীয় ট্রেডিং কারণ।

  2. একাধিক সূচক পর্যবেক্ষণের ফলে কৌশলটি বাস্তবায়ন করা তুলনামূলকভাবে জটিল হতে পারে।

  3. বিভিন্ন পণ্যের বৈশিষ্ট্য অনুসারে পরামিতিগুলি যথাযথভাবে সামঞ্জস্য করতে হবে।

  4. একক পজিশনের ক্ষতি সীমিত করতে কঠোর স্টপ লস প্রয়োজন।

  5. উচ্চ বাণিজ্যের ঘনত্ব কমিশন থেকে প্রভাব নিয়ন্ত্রণের প্রয়োজন।

অপ্টিমাইজেশান নির্দেশাবলী

  1. বাজারের প্রতি আরো সংবেদনশীল একটি খুঁজে পেতে বিভিন্ন চলমান গড় পরীক্ষা করুন।

  2. সময়ের সাথে সাথে ট্রেন্ডের পরিবর্তনগুলি ধরতে বিভিন্ন সুপার ট্রেন্ড মাল্টিপ্লায়ার পরীক্ষা করুন।

  3. ভোল্টেবিলিটি বাড়ার সময় পজিশনের আকার হ্রাস করার জন্য ভোল্টেবিলিটি সূচক অন্তর্ভুক্ত করুন।

  4. পরিসীমা সীমাবদ্ধ সময়কালে মিথ্যা সংকেত এড়াতে ব্রেকআউট শর্ত যোগ করুন।

  5. স্টপ লস কৌশলকে অপ্টিমাইজ করুন যাতে এটি বাজারের অবস্থার সাথে আরও অভিযোজিত হয়।

সংক্ষিপ্তসার

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


/*backtest
start: 2022-11-07 00:00:00
end: 2023-11-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © rajukpatel

//@version=5
strategy('My RK Strategy with Alert', shorttitle='My RK Strategy with Alert', overlay=true )
src5 = input(close)

tf = input(1440)
len5 = timeframe.isintraday and timeframe.multiplier >= 1 ? tf / timeframe.multiplier * 7 : timeframe.isintraday and timeframe.multiplier < 60 ? 60 / timeframe.multiplier * 24 * 7 : 7

ma = ta.ema(src5 * volume, len5) / ta.ema(volume, len5)


//script taken from https://www.tradingview.com/script/kChCRRZI-Hull-Moving-Average/

src1 = ma

p(src1, len5) =>
    n = 0.0
    s = 0.0
    for i = 0 to len5 - 1 by 1
        w = (len5 - i) * len5
        n += w
        s += src5[i] * w
        s
    s / n

hm = 2.0 * p(src1, math.floor(len5 / 3)) - p(src1, len5)
vhma = p(hm, math.floor(math.sqrt(len5)))
lineColor = vhma > vhma[1] ? color.lime : color.red
plot(vhma, title='VHMA', color=lineColor, linewidth=3)
hColor = true
vis = true
hu = hColor ? vhma > vhma[2] ? #00ff00 : #ff0000 : #ff9800

vl = vhma[0]
ll = vhma[1]
m1 = plot(vl, color=hu, linewidth=1, transp=60)
m2 = plot(vis ? ll : na, color=hu, linewidth=2, transp=80)

fill(m1, m2, color=hu, transp=70)
//

b = timeframe.isintraday and timeframe.multiplier >= 1 ? 60 / timeframe.multiplier * 7 : timeframe.isintraday and timeframe.multiplier < 60 ? 60 / timeframe.multiplier * 24 * 7 : 7



//
res5 = input.timeframe('D')

o = request.security(syminfo.tickerid, res5, open, barmerge.gaps_off, barmerge.lookahead_on)
c = request.security(syminfo.tickerid, res5, close, barmerge.gaps_off, barmerge.lookahead_on)
hz = request.security(syminfo.tickerid, res5, high, barmerge.gaps_off, barmerge.lookahead_on)
l = request.security(syminfo.tickerid, res5, low, barmerge.gaps_off, barmerge.lookahead_on)



col = c >= o ? color.lime : color.red

ppo = plot(b ? o >= c ? hz : l : o, color=col, title='Open', style=plot.style_stepline, transp=100)
ppc = plot(b ? o <= c ? hz : l : c, color=col, title='Close', style=plot.style_stepline, transp=100)

plot(b and hz > c ? hz : na, color=col, title='High', style=plot.style_circles, linewidth=2, transp=60)
plot(b and l < c ? l : na, color=col, title='Low', style=plot.style_circles, linewidth=2, transp=60)

fill(ppo, ppc, col, transp=90)

//
// INPUTS //
st_mult = input.float(1, title='SuperTrend Multiplier', minval=0, maxval=100, step=0.01)
st_period = input.int(50, title='SuperTrend Period', minval=1)

// CALCULATIONS //
up_lev = l - st_mult * ta.atr(st_period)
dn_lev = hz + st_mult * ta.atr(st_period)

up_trend = 0.0
up_trend := c[1] > up_trend[1] ? math.max(up_lev, up_trend[1]) : up_lev

down_trend = 0.0
down_trend := c[1] < down_trend[1] ? math.min(dn_lev, down_trend[1]) : dn_lev

// Calculate trend var
trend = 0
trend := c > down_trend[1] ? 1 : c < up_trend[1] ? -1 : nz(trend[1], 1)

// Calculate SuperTrend Line
st_line = trend == 1 ? up_trend : down_trend

// Plotting
//plot(st_line[1], color = trend == 1 ? color.green : color.red , style = plot.style_cross, linewidth = 2, title = "SuperTrend")
buy = ta.crossover(c, st_line)
sell = ta.crossunder(c, st_line)
signal = input(false)

/////////////// Plotting /////////////// 
plotshape(signal and buy, style=shape.triangleup, size=size.normal, location=location.belowbar, color=color.new(color.lime, 0))
plotshape(signal and sell, style=shape.triangledown, size=size.normal, location=location.abovebar, color=color.new(color.red, 0))


if buy
    strategy.entry('My Long Entry Id', strategy.long)

if sell
    strategy.entry('My Short Entry Id', strategy.short)



আরো