এই ট্রেডিং কৌশলটি MACD সূচকের 200 দিনের চলমান গড় ক্রসওভার অপারেশনের উপর ভিত্তি করে একটি পরিমাণগত কৌশল। এটি বাজারের ক্রয় এবং বিক্রয় সংকেত বিচার করতে MACD সূচকের দ্বৈত ফাংশন এবং বাজারের প্রবণতা বিচার করার জন্য 200 দিনের চলমান গড়কে একত্রিত করে, আরও সুনির্দিষ্ট প্রবেশ এবং প্রস্থান সময় আবিষ্কারের লক্ষ্যে।
এই কৌশল দুটি মূল পয়েন্ট আছেঃ
এমএসিডি সূচক
200 দিনের চলমান গড় সামগ্রিক বাজারের প্রবণতা বিচার করে। 200 দিনের চলমান গড়ের উপরে দামগুলি একটি ষাঁড়ের বাজার নির্দেশ করে এবং নীচে একটি ভালুকের বাজার নির্দেশ করে। কিনুন সংকেতগুলি কেবল একটি ভালুকের বাজারে কাজ করা হয়, এবং বিক্রয় সংকেতগুলি কেবল একটি ভালুকের বাজারে।
এই দুটি পয়েন্ট অনুযায়ী, এই কৌশলটির বিশেষ ব্যবসায়িক নিয়মগুলি হলঃ
যখন এমএসিডি ফাস্ট লাইন এমএসিডি ধীর রেখার মধ্য দিয়ে উপরে যায়, হিস্টোগ্রামটি নেতিবাচক হয় এবং দাম 200 দিনের চলমান গড়ের উপরে থাকে, তখন একটি ক্রয় অপারেশন করা হয়। যখন এমএসিডি ফাস্ট লাইন ধীর রেখার মধ্য দিয়ে নীচে যায়, হিস্টোগ্রামটি ইতিবাচক হয়, এবং দাম 200 দিনের চলমান গড়ের নীচে থাকে, তখন একটি বিক্রয় অপারেশন করা হয়।
ডাবল কনফার্মেশন কৌশলটির স্থিতিশীলতা এবং সাফল্যের হারকে উন্নত করে। এমএসিডি ক্রয় এবং বিক্রয় সংকেতগুলি বিচার করে এবং 200 দিনের চলমান গড় বাজার প্রবণতা বিচার করে। ডাবল কনফার্মেশন আরও অনিশ্চয়তার সাথে কিছু ট্রেডিং সংকেত ফিল্টার করতে পারে।
একটি শক্তিশালী ট্রেন্ডিং বাজারে, এই কৌশলটি তুলনামূলকভাবে উচ্চ মুনাফা আনতে পারে। বিশেষ করে একটি ষাঁড়ের বাজারে, এটি দ্রুত মূল্যের উত্থানের সুযোগগুলি ক্যাপচার করতে পারে।
এমএসিডি সূচকটিও সংহতকরণের পর্যায়ে থেকে বেরিয়ে আসার ক্ষেত্রে তুলনামূলকভাবে সংবেদনশীল। যখন দাম সংহতকরণের দীর্ঘ সময় শেষ করে এবং একটি প্রবণতা পর্যায়ে প্রবেশ করে, এই কৌশলটি দ্রুত নতুন প্রবণতার দিক ধরতে পারে।
এই কৌশলটি প্যারামিটার সেটিংসে বেশ সংবেদনশীল। ভুল MACD সূচক প্যারামিটার সেটিংগুলি মিথ্যা সংকেত সৃষ্টি করতে পারে।
ট্রেন্ড টার্নিং পয়েন্টের কাছাকাছি, এমএসিডি সংকেতগুলি আরও বেশি ত্রুটি তৈরি করে। এই সময়ে, কৌশলটির মুনাফায় বৃহত্তর ড্রাউনডাউন হতে পারে।
যখন দাম দীর্ঘ সময় ধরে একত্রীকরণের মধ্যে থাকে, তখন এই কৌশলটি একটি স্পষ্ট প্রবণতা দিক নির্ধারণ করতে পারে না, যা মুনাফা/হানিতে বৃদ্ধি পায় এবং দীর্ঘতর সময় নেয়।
আরো সঠিক সংকেত উৎপন্ন করে এমন MACD পরামিতিগুলি খুঁজে পেতে বিভিন্ন পরামিতি সমন্বয় পরীক্ষা করা যেতে পারে।
একাধিক সূচককে একমত করার জন্য আরএসআই এবং কেডি-র মতো অন্যান্য প্রযুক্তিগত সূচক থেকে নিশ্চিতকরণ যুক্ত করার বিষয়টি বিবেচনা করুন, যার ফলে কৌশলটির নির্ভরযোগ্যতা বাড়বে।
সর্বাধিক ড্রাউনডাউন নিয়ন্ত্রণ করতে স্টপ লস পয়েন্ট সেট করুন। যখন দামগুলি উল্লেখযোগ্য বিপরীত হয় তখন অবিলম্বে স্টপ লস করুন, যা কার্যকরভাবে ক্ষতির বৃদ্ধি এড়াতে পারে।
এমএসিডি ২০০ দিনের চলমান গড় ক্রসওভার কৌশলটি প্রবণতা রায় এবং ট্রেডিং সংকেত রায়ের দ্বৈত ফাংশনকে একত্রিত করে, যা কার্যকরভাবে লাভজনকতার সম্ভাবনা উন্নত করতে পারে। এটি একটি অপেক্ষাকৃত শক্তিশালী এবং নির্ভরযোগ্য পরিমাণগত ট্রেডিং কৌশল। তবে এই কৌশলটি কিছু পরিমাণে পরামিতি এবং বাজারের অবস্থার উপরও নির্ভর করে। অবিচ্ছিন্ন অপ্টিমাইজেশন এবং পরীক্ষা কৌশলটির স্থিতিশীল মুনাফা-উত্পাদন ক্ষমতা আরও বাড়িয়ে তুলতে পারে।
/*backtest start: 2023-12-26 00:00:00 end: 2024-01-02 00:00:00 period: 1m basePeriod: 1m 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/ // © x11joe //@version=4 //This strategy is based on a youtube strategy that suggested I do this...so I did! strategy(title="MacD 200 Day Moving Average Signal Crossover Strategy", overlay=false, precision=2,commission_value=0.26, initial_capital=10000, currency=currency.USD, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // Getting inputs fast_length = input(title="Fast Length", type=input.integer, defval=12) slow_length = input(title="Slow Length", type=input.integer, defval=26) src = input(title="Source", type=input.source, defval=close) signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9) sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=false) sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false) // Plot colors col_grow_above = #26A69A col_grow_below = #FFCDD2 col_fall_above = #B2DFDB col_fall_below = #EF5350 col_macd = #0094ff col_signal = #ff6a00 // Calculating fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length) slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length) macd = fast_ma - slow_ma signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length) hist = macd - signal moving_avg_length = input(title="Moving Average Length", type=input.integer, defval=200) moving_avg = sma(close,moving_avg_length) moving_avg_normalized = close - moving_avg plot(moving_avg_normalized, title="Moving Average Normalized", style=plot.style_line, color=color.orange,linewidth=3) 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) ), transp=0 ) plot(macd, title="MACD", color=col_macd, transp=0) plot(signal, title="Signal", color=col_signal, transp=0) if(macd>signal and macd<0 and close>moving_avg) strategy.entry("buy",strategy.long) if(close<moving_avg and macd<signal and macd>0) strategy.entry("sell",strategy.short)