রিসোর্স লোড হচ্ছে... লোডিং...

ডায়নামিক চ্যানেল এবং চলমান গড় ট্রেডিং সিস্টেমের সাথে মাল্টি-ইন্ডিক্টর ট্রেন্ড অনুসরণকারী কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৪-১২-১২
ট্যাগঃইএমএএটিআর

 Multi-Indicator Trend Following Strategy with Dynamic Channel and Moving Average Trading System

সারসংক্ষেপ

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

কৌশলগত নীতি

কৌশলটির মূল যুক্তি নিম্নলিখিত মূল উপাদানগুলির উপর ভিত্তি করেঃ 1. জি-চ্যানেল গতিশীল সমর্থন এবং প্রতিরোধের মাত্রা গণনা করে, ক্রমাগত উপরের এবং নীচের ব্যান্ড সমন্বয় 2. ইএমএ সামগ্রিক প্রবণতার দিকনির্দেশনা নিশ্চিত করে, যেখানে ইএমএর তুলনায় মূল্য অবস্থানের দ্বারা বাণিজ্যের দিকনির্দেশনা নির্ধারিত হয় ৩. এন্ট্রি সিগন্যালগুলি জি-চ্যানেল ব্রেকআউট এবং ইএমএ পজিশন নিশ্চিতকরণের উপর ভিত্তি করে ৪. স্টপ লস এবং টেক লাভের মাত্রা ATR এর বহুগুণ ব্যবহার করে নির্ধারণ করা হয়, যেখানে স্টপ লসের জন্য 2x ATR এবং টেক লাভের জন্য 4x ATR ৫. স্টেট ট্র্যাকিং ধারাবাহিক ডুপ্লিকেট সিগন্যাল প্রতিরোধ করে

কৌশলগত সুবিধা

  1. মাল্টি-লেভেল সিগন্যাল কনফার্মেশন মেকানিজম ট্রেডিংয়ের নির্ভরযোগ্যতা বাড়ায়
  2. গতিশীলভাবে নিয়ন্ত্রিত চ্যানেলের সীমানা বিভিন্ন বাজারের অবস্থার সাথে মানিয়ে নেয়
  3. উদ্বায়ীতা ভিত্তিক ঝুঁকি ব্যবস্থাপনা আরও ভাল অভিযোজনযোগ্যতা প্রদান করে
  4. ডুপ্লিকেট সিগন্যাল এড়ানো ওভারট্রেডিং ঝুঁকি হ্রাস করে
  5. স্পষ্ট চাক্ষুষ ক্রয়/বিক্রয় চিহ্নিতকারী বিশ্লেষণ এবং ব্যাকটেস্টিং সহজতর করে

কৌশলগত ঝুঁকি

  1. বিভিন্ন বাজারে অত্যধিক মিথ্যা ব্রেকআউট সংকেত তৈরি করতে পারে
  2. EMA একটি বিলম্বিত সূচক হিসাবে বিলম্বিত প্রবেশের সময়কালের দিকে পরিচালিত করতে পারে
  3. উচ্চ অস্থিরতার সময়ে স্টপগুলির জন্য স্থির এটিআর গুণকগুলির নমনীয়তার অভাব হতে পারে
  4. সূচক গণনার জন্য দীর্ঘতর ঐতিহাসিক তথ্য প্রয়োজন
  5. প্যারামিটার অপ্টিমাইজেশান ওভারফিটিং হতে পারে

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

  1. উন্নত ব্রেকআউট নির্ভরযোগ্যতার জন্য ভলিউম নিশ্চিতকরণ অন্তর্ভুক্ত করুন
  2. বিভিন্ন বাজারের অস্থিরতার অবস্থার সাথে খাপ খাইয়ে নেওয়ার জন্য গতিশীল এটিআর গুণকগুলি বাস্তবায়ন করুন
  3. অনুপযুক্ত অবস্থার সময় ট্রেডিং এড়াতে বাজার পরিবেশ ফিল্টার যোগ করুন
  4. মিথ্যা সংকেত আরও হ্রাস করার জন্য সংকেত ফিল্টারিং লজিক অপ্টিমাইজ করুন
  5. একটি গতিশীল অবস্থান আকার সিস্টেম যোগ বিবেচনা

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

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


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("G-Channel with EMA Strategy and ATR SL/TP", shorttitle="G-EMA-ATR", overlay=true)

// Input parameters
length = input.int(100, title="G-Channel Length")
src = input.source(close, title="Source")
ema_length = input.int(50, title="EMA Length")  // EMA length
atr_length = input.int(14, title="ATR Length")  // ATR length

// G-Channel calculation
var float a = na
var float b = na
a := math.max(src, nz(a[1])) - nz(a[1] - b[1]) / length
b := math.min(src, nz(b[1])) + nz(a[1] - b[1]) / length
avg = (a + b) / 2

// G-Channel cross conditions
crossup = b[1] < close[1] and b > close
crossdn = a[1] < close[1] and a > close
bullish = ta.barssince(crossdn) <= ta.barssince(crossup)
c = bullish ? color.lime : color.red

// EMA calculation
ema_value = ta.ema(src, ema_length)

// ATR calculation
atr_value = ta.atr(atr_length)

// Plot G-Channel average and Close price
p1 = plot(avg, "G-Channel Average", color=c, linewidth=1, transp=90)
p2 = plot(close, "Close Price", color=c, linewidth=1, transp=100)
fill(p1, p2, color=c, transp=90)

// Plot EMA
plot(ema_value, color=color.blue, linewidth=2, title="EMA")

// Buy and Sell conditions
buy_condition = bullish and close < ema_value
sell_condition = not bullish and close > ema_value

// Track the last signal state
var bool last_was_buy = false
var bool last_was_sell = false

// ATR-based SL and TP calculations
long_sl = close - 2 * atr_value  // 2 ATR below the entry for SL
long_tp = close + 4 * atr_value  // 4 ATR above the entry for TP
short_sl = close + 2 * atr_value // 2 ATR above the entry for SL (short)
short_tp = close - 4 * atr_value // 4 ATR below the entry for TP (short)

// Generate Buy signal only if the last signal was not Buy
if (buy_condition and not last_was_buy)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Exit Buy", from_entry="Buy", stop=long_sl, limit=long_tp)
    last_was_buy := true
    last_was_sell := false

// Generate Sell signal only if the last signal was not Sell
if (sell_condition and not last_was_sell)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Exit Sell", from_entry="Sell", stop=short_sl, limit=short_tp)
    last_was_sell := true
    last_was_buy := false

// Plot shapes for Buy and Sell signals
plotshape(series=buy_condition and not last_was_buy, location=location.belowbar, style=shape.labelup, color=color.lime, size=size.small, text="Buy", textcolor=color.white)
plotshape(series=sell_condition and not last_was_sell, location=location.abovebar, style=shape.labeldown, color=color.red, size=size.small, text="Sell", textcolor=color.white)


সম্পর্কিত

আরো