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


সৃষ্টির তারিখ: 2023-11-14 16:23:42 অবশেষে সংশোধন করুন: 2023-11-14 16:23:42
অনুলিপি: 0 ক্লিকের সংখ্যা: 733
1
ফোকাস
1617
অনুসারী

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

ওভারভিউ

এই কৌশলটি সমান্তরাল সূচক এবং সুপার ট্রেন্ডিং সূচককে একত্রিত করে ট্রেন্ড অনুসরণ করার জন্য। ট্রেন্ডিংয়ের সময় আরও বেশি করুন এবং ট্রেন্ডিংয়ের সময় খালি করুন।

কৌশল নীতি

  1. ওজনযুক্ত মুভিং এভারেজ (MA) গণনা করুন। লেনদেনের পরিমাণকে ওজন হিসাবে ব্যবহার করে একটি নির্দিষ্ট সময়ের ওজনযুক্ত গড় মূল্য গণনা করুন।

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

  3. সুপার ট্রেন্ডিং সূচক গণনা করুন। সুপার ট্রেন্ডিং সূচকটি এটিআর এর সাথে মিলিত হয়, যাতে দামের প্রবণতার পরিবর্তনগুলি দেখা যায়। উর্ধ্বগামী এবং নিম্নগামী ট্র্যাক গণনা করুন।

  4. যখন ক্লোজ-আপের দাম ওপরে উঠে যায়, তখন বেশি করুন; যখন ক্লোজ-আপের দাম নীচে নেমে যায়, তখন খালি করুন।

  5. খোলার মূল্য, বন্ধের মূল্য, সর্বোচ্চ মূল্য, সর্বনিম্ন মূল্যের মতো সহায়ক সূচকগুলি আঁকুন এবং আরও স্বজ্ঞাতভাবে দামের পরিবর্তনগুলি দেখুন।

  6. ক্রস-ইনডিকেটর ভিত্তিতে ক্রয় ও বিক্রয় সিদ্ধান্ত নেওয়া।

সামর্থ্য বিশ্লেষণ

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

  2. Hull গড় লাইন মূল্য পরিবর্তনের প্রতি আরো সংবেদনশীল, যা প্রবণতা পরিবর্তনের সময়মত সনাক্তকরণে সহায়ক।

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

  4. সহায়ক সূচকগুলি দামের পরিবর্তনগুলিকে দৃশ্যমানভাবে প্রদর্শন করে এবং সূচক সংকেতগুলির সাথে বিচার করে।

  5. কৌশল প্যারামিটার অপ্টিমাইজ করার জন্য অনেক জায়গা রয়েছে, যার মধ্যে রয়েছে গড়-রেখার সময়কাল, অতি-প্রবণতা গুণক ইত্যাদি প্যারামিটার।

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

  1. “অর্থনীতিবিদরা মনে করেন যে, এ ধরনের ঘটনা ঘটতে পারে, কারণ এ ধরনের ঘটনা ঘটতে পারে না।

  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)