MACD মুভিং এভারেজ বুল-বেয়ার রূপান্তর কৌশল


সৃষ্টির তারিখ: 2023-12-08 15:29:41 অবশেষে সংশোধন করুন: 2023-12-08 15:29:41
অনুলিপি: 0 ক্লিকের সংখ্যা: 772
1
ফোকাস
1621
অনুসারী

MACD মুভিং এভারেজ বুল-বেয়ার রূপান্তর কৌশল

ওভারভিউ

MACD গড়রেখার বোর-বেয়ার রূপান্তর কৌশলটি MACD সূচকের DIFF এবং DEA গড়রেখার গণনা করে, বাজার প্রবণতাটি ঘুরছে কিনা তা বিচার করে, এবং তারপরে একটি লেনদেনের সংকেত উত্পন্ন করে। যখন DIFF উপরে DEA পেরিয়ে যায়, তখন আরও বেশি করুন; যখন DIFF নীচে DEA পেরিয়ে যায়, তখন খালি করুন। এই কৌশলটি একই সাথে দামের ইএমএ গড়রেখার ফিল্টারিংয়ের সাথে মিলিত হয়, যাতে ভুয়া ব্রেকআউটগুলি এড়ানো যায়।

কৌশল নীতি

এই কৌশলটি মূলত MACD সূচকের ডিআইএফএফ এবং ডিইএ গড়ের উপর ভিত্তি করে। MACD সূচকটির চলমান গড়ের পার্থক্যকে DIFF, DEA এবং MACD লাইনের সমন্বয়ে গঠিত। এর মধ্যে, DIFF লাইনটি স্বল্পমেয়াদী ইএমএ গড় এবং দীর্ঘমেয়াদী ইএমএ গড়ের পার্থক্যকে বোঝায়, ডিইএ লাইনটি ডিআইএফএফ-এর ইএমএ গড়, যা ডিআইএফএফ লাইন সংকেত যাচাই করার জন্য ব্যবহৃত হয়, এবং MACD লাইনটি ডিআইএফএফ হ্রাস ডিইএ-র পার্থক্য, যা বিপরীতভাবে প্রতিনিধিত্ব করে।

যখন DIFF ঊর্ধ্বমুখী হয়ে DEA অতিক্রম করে, তখন স্বল্পমেয়াদী গড় লাইন শক্তিশালী হতে শুরু করে, বাজারটি পল্টুতে চলে যায়। যখন DIFF ঊর্ধ্বমুখী হয়ে DEA অতিক্রম করে, তখন স্বল্পমেয়াদী গড় লাইন দুর্বল হতে শুরু করে, বাজারটি শূন্যে চলে যায়। অতএব, এই কৌশলটি DIFF এ DEA অতিক্রম করার সময় অতিরিক্ত করে এবং নীচে অতিক্রম করার সময় শূন্য করে।

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

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

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

এর মধ্যে রয়েছেঃ

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

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

MACD গড়রেখার বিয়ার ও বোর রূপান্তর কৌশলটি কিছু ঝুঁকি নিয়েও কাজ করে, যার মধ্যে রয়েছেঃ

  1. MACD সূচকগুলি ভুল সংকেত তৈরি করতে প্রবণ, যা মূল্য EMA ফিল্টার দ্বারা যাচাই করা প্রয়োজন, তবে এটির একটি অংশও মিস করে
  2. ডিআইএফএফ এবং ডিইএ সমান্তরালকে ঘনিষ্ঠভাবে পর্যবেক্ষণ করুন, যদি প্যারামিটারগুলি অনুপযুক্তভাবে সামঞ্জস্য করা হয় তবে ত্রুটিযুক্ত সংকেতটি বাড়বে
  3. ব্রেকিং সিগন্যাল কেবলমাত্র একটি K-লাইন নির্ধারণ করে, যার ফলে এটি বন্ধ হয়ে যেতে পারে।
  4. কৌশলটি ডিআইএফএফ এবং ডিইএ ক্রসকে প্রধান ট্রেডিং সিগন্যাল হিসাবে ব্যবহার করে, যদি বাজারটি অস্পষ্ট হয় তবে ক্রস সিগন্যালগুলি ঘন ঘন উত্পন্ন হয়, যা ব্যবসায়ের ঘনত্ব বাড়িয়ে তোলে

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

  1. ভুল সংকেত কমাতে MACD প্যারামিটারগুলি সামঞ্জস্য করুন
  2. ফিল্টার শক্তি বৃদ্ধি করুন এবং ফাঁস হওয়ার সম্ভাবনা হ্রাস করুন
  3. হোল্ডিং ফিল্টার বাড়ানো, ট্রেডিং ফ্রিকোয়েন্সি সীমিত করা

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

MACD গড়রেখার শূকর-হরিণ রূপান্তর কৌশলটি নিম্নলিখিত মাত্রাগুলি থেকে অপ্টিমাইজ করার জন্য আরও স্থান রয়েছেঃ

  1. MACD প্যারামিটার অপ্টিমাইজ করুন, DIFF এবং DEA চক্রের সাথে সামঞ্জস্য করুন;
  2. ট্রেডিং ফ্রিকোয়েন্সি কমানোর জন্য হোল্ডিং টাইম ফিল্টারিং বাড়ানো;
  3. একক ক্ষতি নিয়ন্ত্রণের জন্য স্টপ লস স্টপ কৌশল বাড়ানো।
  4. BOLL, KD ইত্যাদির মতো অন্যান্য সূচকগুলির সাথে মিলিত ফিল্টারিং;
  5. ট্রেডিংয়ে প্রবণতা বাড়াতে এবং বিপরীতমুখী ট্রেডিং এড়াতে;
  6. এই কৌশল ফ্রেমওয়ার্কের উপর ভিত্তি করে, আপনি একটি স্টপ-অফ বা স্টপ-আউট কৌশল টেমপ্লেট তৈরি করতে পারেন।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("macd_strategy", 
          shorttitle="macd", 
          overlay=true, 
          pyramiding=1, 
          max_bars_back=5000, 
          calc_on_order_fills = false, 
          calc_on_every_tick=true, 
          default_qty_type=strategy.percent_of_equity, 
          default_qty_value=100, 
          commission_type =strategy.commission.percent, 
          commission_value=0.00075)
[diff, dea, _] = macd(close, 12, 26, 7)
dea_close = ema(diff, 3)
price = ema(close, 9)
plot(price)
cross_over_price = na
cross_over_signal = na
cross_over_price := cross_over_price[1]
cross_over_signal := cross_over_signal[1]

cross_under_price = na
cross_under_signal = na
cross_under_price := cross_under_price[1]
cross_under_signal := cross_under_signal[1]
if (crossover(diff,dea))
    cross_over_price := price[1]
    cross_over_signal := diff
if (crossunder(diff,dea))
    cross_under_price := price[1]
    cross_under_signal := diff
if dea > 0
    cross_over_price = na
    cross_over_signal = na
else
    cross_under_price = na
    cross_under_signal = na
if diff > 0
    if cross_under_price > cross_under_price[1]*1 and cross_under_signal < cross_under_signal[1]*0.95
        strategy.entry("S", strategy.short,  comment="S")
else
    if cross_over_price < cross_over_price[1]*1 and cross_over_signal > cross_over_signal[1]*0.95
        strategy.entry("B", strategy.long,  comment="B")
// strategy.exit("exit_s", "S", stop = strategy.position_avg_price*1.05, when=strategy.position_size < 0)
// strategy.exit("exit_b", "B", stop = strategy.position_avg_price*0.95, when=strategy.position_size > 0)
strategy.close_all(when=(strategy.position_size < 0 and (dea < 0 or diff > cross_under_signal*1 or crossover(diff, dea)) or (strategy.position_size > 0 and (dea > 0 or diff < cross_over_signal*1 or crossunder(diff, dea)))))