MACD গতিশীল অস্থিরতা ক্রসওভার পূর্বাভাস কৌশল

MACD EMA SMA ROC
সৃষ্টির তারিখ: 2024-11-27 14:54:02 অবশেষে সংশোধন করুন: 2024-11-27 14:54:02
অনুলিপি: 0 ক্লিকের সংখ্যা: 441
1
ফোকাস
1617
অনুসারী

MACD গতিশীল অস্থিরতা ক্রসওভার পূর্বাভাস কৌশল

ওভারভিউ

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

কৌশল নীতি

কৌশলটি একটি সংশোধিত সংস্করণের MACD সূচক সিস্টেম ব্যবহার করে, যা দ্রুত চলমান গড় ((EMA12) এবং ধীর চলমান গড় ((EMA26) এর পার্থক্য গণনা করে, এবং ২-চক্রের উপর ভিত্তি করে সংকেত লাইন। মূল ট্রেডিং লজিক নিম্নলিখিত কয়েকটি মূল পয়েন্টের উপর ভিত্তি করেঃ

  1. ধারাবাহিকতার গতিশীল পরিবর্তনগুলি হিসাব করার জন্য একটি কলামযুক্ত গ্রাফের পরিবর্তনের হার (hist_change) গণনা করুন
  2. যখন পিলারটি নেতিবাচক হয় এবং তিনটি ধারাবাহিক চক্রের জন্য একটি উত্থানের প্রবণতা থাকে, তখন প্রাক-বিচারটি একটি সোনার ফর্ক সংকেত হতে পারে, আরও আগে প্রবেশ করুন
  3. যখন পিলার চার্টটি ধনাত্মক হয় এবং তিনটি ধারাবাহিক চক্রের জন্য একটি নিম্নমুখী প্রবণতা দেখায়, তখন পূর্বাভাসটি একটি মৃত ফর্ক সিগন্যাল হতে পারে, এবং একটি সমতল পজিশনে বেরিয়ে আসে
  4. কৌশলটি সময় ফিল্টারিং পদ্ধতি প্রবর্তন করে, শুধুমাত্র নির্দিষ্ট সময়ের মধ্যে লেনদেন করে

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

  1. সিগন্যাল পূর্বাভাসঃ সম্ভাব্য ক্রস সিগন্যালের পূর্বাভাস দিতে এবং প্রবেশের সময় বাড়ানোর জন্য কলামযুক্ত গ্রাফের গতিশীল পরিবর্তনগুলি পর্যবেক্ষণ করে
  2. ঝুঁকি নিয়ন্ত্রণ যুক্তিসঙ্গতঃ ০.১% প্রসেসিং ফি এবং ৩ টি স্লাইড পয়েন্টের লেনদেনের ব্যয় নির্ধারণ করা হয়েছে, যা প্রকৃত লেনদেনের পরিবেশের সাথে সামঞ্জস্যপূর্ণ
  3. ফান্ড ম্যানেজমেন্টের নমনীয়তাঃ অ্যাকাউন্টের মোট মূল্যের শতকরা হার ব্যবহার করে পজিশন ম্যানেজমেন্ট করুন, ঝুঁকি কার্যকরভাবে নিয়ন্ত্রণ করুন
  4. দুর্দান্ত ভিজ্যুয়ালাইজেশনঃ বিভিন্ন রঙের চিহ্নিত স্তম্ভের চার্ট এবং তীরচিহ্নের মাধ্যমে ট্রেডিং সিগন্যাল বিশ্লেষণের জন্য

কৌশলগত ঝুঁকি

  1. ভুয়া ব্রেকিংয়ের ঝুঁকিঃ ঘন ঘন ভুয়া ব্রেকিংয়ের সংকেত পাওয়া যেতে পারে।
  2. পিছিয়ে পড়ার ঝুঁকিঃ প্রি-ডেডিকশন পদ্ধতি ব্যবহার করা হলেও, MACD নিজেই কিছুটা পিছিয়ে রয়েছে
  3. বাজার পরিস্থিতির উপর নির্ভরশীলতাঃ কৌশলগুলি প্রবণতাযুক্ত বাজারগুলিতে ভাল কাজ করে এবং অস্থির বাজারগুলিতে দুর্বল হতে পারে
  4. প্যারামিটার সংবেদনশীলতাঃ দ্রুত বা ধীর লাইন চক্রের সেটিংটি কৌশলটির কার্যকারিতার উপর প্রভাব ফেলে

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

  1. বাজারের পরিবেশের ফিল্টারঃ ট্রেন্ডিংয়ের জন্য বিভিন্ন ট্রেডিং প্যারামিটার যুক্ত করা যায়
  2. অপ্টিমাইজড পজিশন ম্যানেজমেন্টঃ পজিশন হোল্ডিং অনুপাতের গতিশীলতা সিগন্যাল শক্তির উপর নির্ভর করে
  3. ক্ষতি বন্ধ করার প্রক্রিয়া উন্নত করুনঃ ট্র্যাকিং ক্ষতি বা স্থির ক্ষতি বন্ধ করুন যাতে প্রত্যাহার নিয়ন্ত্রণ করা যায়
  4. সংকেত নিশ্চিতকরণ ব্যবস্থা বাড়ানোঃ অন্যান্য প্রযুক্তিগত সূচকের সাথে সংযুক্ত ক্রস-যাচাইকরণ, সংকেতের নির্ভরযোগ্যতা বাড়ানো
  5. অপ্টিমাইজেশন প্যারামিটার নির্বাচনঃ বাজারের অবস্থার গতিশীলতা অনুযায়ী সূচক প্যারামিটারগুলিকে সামঞ্জস্য করার জন্য একটি অভিযোজিত প্যারামিটার পদ্ধতি ব্যবহার করা যেতে পারে

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Demo GPT - Moving Average Convergence Divergence", shorttitle="MACD", commission_type=strategy.commission.percent, commission_value=0.1, slippage=3, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Getting inputs
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=2)  // Set smoothing line to 2
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"])

// Date inputs
start_date = input(title="Start Date", defval=timestamp("2018-01-01T00:00:00"))
end_date = input(title="End Date", defval=timestamp("2069-12-31T23:59:59"))

// Calculating
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

// Strategy logic
isInDateRange = true

// Calculate the rate of change of the histogram
hist_change = hist - hist[1]

// Anticipate a bullish crossover: histogram is negative, increasing, and approaching zero
anticipate_long = isInDateRange and hist < 0 and hist_change > 0 and hist > hist[1] and hist > hist[2]

// Anticipate an exit (bearish crossover): histogram is positive, decreasing, and approaching zero
anticipate_exit = isInDateRange and hist > 0 and hist_change < 0 and hist < hist[1] and hist < hist[2]

if anticipate_long
    strategy.entry("Long", strategy.long)

if anticipate_exit
    strategy.close("Long")

// Plotting
hline(0, "Zero Line", color=color.new(#787B86, 50))
plot(hist, title="Histogram", style=plot.style_columns, color=(hist >= 0 ? (hist > hist[1] ? #26A69A : #B2DFDB) : (hist < hist[1] ? #FF5252 : #FFCDD2)))
plot(macd, title="MACD", color=#2962FF)
plot(signal, title="Signal", color=#FF6D00)

// Plotting arrows when anticipating the crossover
plotshape(anticipate_long, title="Long +1", location=location.belowbar, color=color.green, style=shape.arrowup, size=size.tiny, text="Long +1")
plotshape(anticipate_exit, title="Short -1", location=location.abovebar, color=color.red, style=shape.arrowdown, size=size.tiny, text="Short -1")