MACD-এর উপর ভিত্তি করে ডিফিউশন চ্যানেল ট্রেন্ড অনুসরণ কৌশল


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

MACD-এর উপর ভিত্তি করে ডিফিউশন চ্যানেল ট্রেন্ড অনুসরণ কৌশল

ওভারভিউ

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

কৌশল নীতি

  1. দ্রুত, ধীর এবং হিস্টোগ্রাম সহ MACD সূচকগুলি গণনা করুন।

  2. উর্ধ্ব-নিম্ন বিস্তার চ্যানেলের হিসাব করা হয়েছে। উর্ধ্বগামী রেলটি N দিনের সর্বোচ্চ মূল্য এবং নিম্নগামী রেলটি N দিনের সর্বনিম্ন মূল্য।

  3. যখন দাম উর্ধ্বমুখী হয় এবং MACD ফাস্ট লাইনটি উর্ধ্বমুখী হয়, তখন আরও কিছু করুন।

  4. যখন দাম নিচে নেমে যায় এবং MACD দ্রুত লাইনটি নীচে ধীর লাইনটি ভেঙে দেয়, তখন খালি করুন।

  5. এটিআর সূচক ব্যবহার করে এই কৌশলটির জন্য স্টপ লস গণনা করা হয়, এটি একটি ফ্যাক্টর দ্বারা মূল্য থেকে স্টপ লস দূরত্ব হিসাবে এটিআর হিসাবে গণনা করা হয়।

  6. যখন দামের বিপরীত সিগন্যাল আসে, তখন বর্তমান পজিশনটি খালি করে ফেলুন।

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

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

সুবিধাগুলো হলঃ

  1. নীতির প্যারামিটারগুলি সহজ এবং বাস্তবায়ন করা সহজ।

  2. ট্রেন্ডিং এর সময়গুলোতে ট্রেন্ডিং এর সুযোগগুলোকে কাজে লাগানোর জন্য পজিশন খোলার সুবিধাও রয়েছে।

  3. এটিআর বন্ধ করলে ঝুঁকি নিয়ন্ত্রণ করা যায়।

  4. কিন্তু, এর মধ্যেও কিছু লোক আছে যারা এই সিদ্ধান্তের বিরোধিতা করেছে।

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

এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ

  1. প্রসারণ চ্যানেলের পরামিতিগুলি ভুলভাবে সেট করা হলে ভুয়া সংকেত সৃষ্টি হতে পারে।

  2. MACD প্যারামিটারগুলি ভুলভাবে সেট করা হলে, Viticulture Administration System-এর সতর্ক সংকেত বিলম্বিত হতে পারে।

  3. স্টপ লস সেটিং খুব বেশি হলে ক্ষতির মাত্রা বাড়তে পারে।

  4. তিনি বলেন, “এটি একটি বড় ধরনের ক্ষতির কারণ হতে পারে, যদি পরিস্থিতি পাল্টে যায়।

  5. এই কৌশলটি অতিরিক্ত লেনদেনের দিকে নিয়ে যেতে পারে।

সমাধানঃ

  1. প্যারামিটার অপ্টিমাইজ করুন, সাবধানতার সাথে শেয়ার নির্বাচন করুন।

  2. স্ট্রিক্টলি স্টপ লস, ট্র্যাকিং স্টপ লস।

  3. পজিশন ম্যানেজমেন্ট যথাযথভাবে সমন্বয় করা।

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

এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যায়ঃ

  1. MACD প্যারামিটার অপ্টিমাইজ করুন এবং সূচকটির সংবেদনশীলতা বাড়ান।

  2. স্টপ লস অ্যালগরিদমের অপ্টিমাইজেশান, যাতে স্টপ লস মূল্যের কাছাকাছি থাকে।

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

  4. ভুয়া সংকেত এড়ানোর জন্য ফিল্টারিং বাড়ানো হয়েছে।

  5. ট্রেডিং প্রজাতির জন্য আরও কিছু শর্ত যুক্ত করা হয়েছে।

  6. ট্রেডিংয়ের সময়সীমার বিচার বাড়ানো।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-10-15 00:00:00
end: 2023-11-14 00:00:00
period: 1h
basePeriod: 15m
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/
// © Robrecht99

//@version=5
strategy("Trend Following with Donchian Channels and MACD", overlay=false, margin_long=100, margin_short=100, pyramiding=3)

// MACD //
fast_length = input(title="Fast Length", defval=12)
slow_length = input(title="Slow Length", defval=26)
src = input(title="Source", defval=close)
signal_length = input.int(title="Signal Smoothing",  minval = 1, maxval = 50, defval = 9)
sma_source = input.string(title="Oscillator MA Type",  defval="EMA", options=["SMA", "EMA"])
sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"])

col_macd = input(#2962FF, "MACD Line  ", group="Color Settings", inline="MACD")
col_signal = input(#FF6D00, "Signal Line  ", group="Color Settings", inline="Signal")
col_grow_above = input(#26A69A, "Above   Grow", group="Histogram", inline="Above")
col_fall_above = input(#B2DFDB, "Fall", group="Histogram", inline="Above")
col_grow_below = input(#FFCDD2, "Below Grow", group="Histogram", inline="Below")
col_fall_below = input(#FF5252, "Fall", group="Histogram", inline="Below")

fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)
hist = macd - signal
plot(hist, title="Histogram", style=plot.style_columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below)))
plot(macd, title="MACD", color=col_macd)
plot(signal, title="Signal", color=col_signal)

// Donchian Channels //

Length1 = input.int(title="Length Upper Channel", defval=50, minval=1, group="Donchian Channels Inputs")
Length2 = input.int(title="Length Lower Channel", defval=50, minval=1, group="Donchian Channels Inputs")
h1 = ta.highest(high[1], Length1)
l1 = ta.lowest(low[1], Length2)
fillColor = input.color(color.new(color.purple, 95), title = "Fill Color", group = "Donchian Channels Inputs")
upperColor = input.color(color.new(color.orange, 0), title = " Color Upper Channel", group = "Donchian Channels Inputs", inline = "upper")
lowerColor = input.color(color.new(color.orange, 0), title = " Color Lower Channel", group = "Donchian Channels Inputs", inline = "lower")
u = plot(h1, "Upper", color=upperColor)
l = plot(l1, "Lower", color=upperColor)
fill(u, l, color=fillColor)

//ATR and Position Size //
strategy.initial_capital = 50000
length = input.int(title="ATR Period", defval=14, minval=1, group="ATR Inputs")
risk = input(title="Risk Per Trade", defval=0.01, group="ATR Inputs")
multiplier = input(title="ATR Multiplier", defval=2, group="ATR Inputs")
atr = ta.atr(length)
amount = (risk * strategy.initial_capital / (multiplier * atr))

// Buy and Sell Conditions //

entrycondition1 = ta.crossover(macd, signal)
entrycondition2 = macd > signal
entrycondition3 = macd and signal > hist
sellcondition1 = ta.crossover(signal, macd)
sellcondition2 = signal > macd
sellcondition3 = macd and signal < hist

// Buy and Sell Signals //

if (close > h1 and entrycondition2 and entrycondition3)
    strategy.entry("long", strategy.long, qty=amount)
    stoploss = close - atr * 4
    strategy.exit("exit sl", stop=stoploss, trail_offset=stoploss)
if (sellcondition1 and sellcondition2 and sellcondition3)
    strategy.close(id="long")

if (close < l1 and sellcondition2 and sellcondition3)
    strategy.entry("short", strategy.short, qty=amount)
    stoploss = close + atr * 4
    strategy.exit("exit sl", stop=stoploss, trail_offset=stoploss)
if (entrycondition1 and entrycondition2 and entrycondition3)
    strategy.close(id="short")