ম্যাকডি সূচক ভিত্তিক ট্রেডিং কৌশল

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

img

সারসংক্ষেপ

এই কৌশলটির মূলটি অ্যান্ড্রু আব্রাহামের দ্বারা TASC ম্যাগাজিনের সেপ্টেম্বর ১৯৯৮ সংখ্যায় প্রকাশিত ট্রেডিং দ্য ট্রেন্ড নিবন্ধে উন্নত সূচকের উপর ভিত্তি করে। সূচকটি বাজারের প্রবণতার দিক নির্ধারণের জন্য গড় সত্যিকারের পরিসীমা এবং মূল্য চ্যানেল ব্যবহার করে, বাণিজ্য সংকেত ফিল্টারিংয়ের জন্য MACD সূচকের সাথে মিলিত হয়, যার লক্ষ্য মধ্যমেয়াদী দীর্ঘমেয়াদী প্রবণতা ক্যাপচার করা।

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

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

বিশেষত, উপরের চ্যানেলের সীমাটি গত 21 দিনের সর্বনিম্ন মূল্য বিয়োগ 3 বার বেসলাইন ATR হিসাবে সংজ্ঞায়িত করা হয় এবং নিম্ন চ্যানেলের সীমাটি গত 21 দিনের সর্বনিম্ন মূল্য প্লাস 3 বার বেসলাইন ATR। যখন বন্ধের দাম উপরের সীমা থেকে বেশি হয়, তখন এটি একটি উত্থান প্রবণতা নির্দেশ করে। যখন বন্ধের দাম নিম্ন সীমা থেকে কম হয়, তখন এটি একটি bearish প্রবণতা নির্দেশ করে।

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

সুবিধা

এই কৌশলটি প্রবণতা নির্ধারণ এবং সূচক ফিল্টারিংকে একত্রিত করে, যা স্বল্পমেয়াদী ওঠানামা দ্বারা বিভ্রান্ত না হয়ে মধ্যমেয়াদী বাজার প্রবণতা দিকটি কার্যকরভাবে সনাক্ত করতে পারে। প্রধান সুবিধা হলঃ

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

ঝুঁকি

এই কৌশলটির কিছু ঝুঁকিও রয়েছে, প্রধানত নিম্নলিখিত দিকগুলিতেঃ

  1. দামের চ্যানেল ভেঙে যাওয়ার ঝুঁকি
  2. এমএসিডি সিগন্যালিং ত্রুটির ঝুঁকি
  3. অপর্যাপ্ত প্যারামিটার সেটআপ কৌশল অস্থিরতা সৃষ্টি করতে পারে

এই ঝুঁকিগুলি প্যারামিটারগুলি অনুকূল করে, কঠোর অবস্থান আকার এবং সময়মত স্টপ লস দ্বারা হ্রাস করা যেতে পারে।

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

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

  1. সর্বোত্তম খুঁজে পেতে বিভিন্ন পরামিতি সমন্বয় পরীক্ষা

ব্যাকটেস্টের উপর ভিত্তি করে সর্বোচ্চ রিটার্ন প্রদানকারী প্যারামিটার সংমিশ্রণটি খুঁজে পেতে দৈর্ঘ্য বা মাল্টিপ্লিফায়ারের বিভিন্ন সংমিশ্রণ পরীক্ষা করুন।

  1. অন্যান্য সূচকগুলির সাথে ফিল্টারিং যোগ করুন

সিগন্যালগুলি ফিল্টার করতে এবং লাভজনকতা উন্নত করতে RSI, KDJ এবং অন্যান্য সূচক অন্তর্ভুক্ত করে পরীক্ষা।

  1. গতিশীলভাবে পরামিতি সামঞ্জস্য করুন

বাজারের অবস্থার উপর ভিত্তি করে প্যারামিটারগুলিকে গতিশীলভাবে সামঞ্জস্য করুন, যেমন প্রবণতা শক্তিশালী হলে চ্যানেলের পরিসীমা যথাযথভাবে প্রসারিত করা বা বাজারটি আরও পরিসীমাযুক্ত হলে পরিসীমা সংকীর্ণ করা।

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

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


/*backtest
start: 2023-01-26 00:00:00
end: 2024-02-01 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/
// © melihtuna

//@version=1
strategy("Trend Trader Strategy with MACD", overlay=true)

// === Trend Trader Strategy ===
Length = input(21),
Multiplier = input(3, minval=1)
MacdControl = input(true, title="Control 'MACD Histogram is positive?' when Buy condition")
avgTR      = wma(atr(1), Length)
highestC   = highest(Length)
lowestC    = lowest(Length)
hiLimit = highestC[1]-(avgTR[1] * Multiplier)
loLimit = lowestC[1]+(avgTR[1] * Multiplier)
ret = iff(close > hiLimit and close > loLimit, hiLimit,
        iff(close < loLimit and close < hiLimit, loLimit, nz(ret[1], 0)))
pos =	iff(close > ret, 1,
	    iff(close < ret, -1, nz(pos[1], 0))) 
barcolor(pos == -1 ? red: pos == 1 ? green : blue )
plot(ret, color= blue , title="Trend Trader Strategy with MACD")

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2020, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true

// === MACD ===
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)
macdCond= MacdControl ? histLine[0] > 0 ? true : false : true

strategy.entry("BUY", strategy.long, when = window() and pos == 1 and macdCond)
strategy.entry("SELL", strategy.short, when = window() and pos == -1)




আরো