
এই ট্রেডিং কৌশলটি MACD সূচকের উপর ভিত্তি করে 200 দিনের চলমান গড়ের উপর সিগন্যাল ক্রস অপারেশন করার জন্য একটি পরিমাণগত কৌশল। এটি MACD সূচকের দ্বৈত ফাংশনকে বাজারের ক্রয়-বিক্রয় সংকেত এবং 200 দিনের চলমান গড়ের উপর ভিত্তি করে বাজারের প্রবণতা নির্ধারণের দ্বৈত ফাংশনকে একত্রিত করে, যাতে আরও সঠিকভাবে প্রবেশ এবং প্রস্থান সময় নির্ধারণ করা যায়।
এই কৌশলটির দুটি মূল বিষয় রয়েছেঃ
MACD সূচকের দ্রুত এবং ধীর লাইন ক্রস ক্রয় এবং বিক্রয় সংকেত তৈরি করে। যখন দ্রুত লাইনটি নীচের দিক থেকে ধীর লাইনটি ভেঙে দেয়, তখন এটি একটি ক্রয় সংকেত তৈরি করে; যখন দ্রুত লাইনটি উপরের দিক থেকে নীচের দিকে ধীর লাইনটি ভেঙে দেয়, তখন এটি একটি বিক্রয় সংকেত তৈরি করে।
200-দিনের চলমান গড় লাইন বাজারটির সামগ্রিক গতি নির্ধারণ করে। 200-দিনের গড় লাইনের উপরে দামগুলি মাল্টি-হেড বাজার এবং নীচে শূন্য বাজার। কেবলমাত্র যখন মাল্টি-হেড বাজারটি কেনার সংকেত দেয় তখনই কেনা হয় এবং যখন শূন্য বাজারটি বিক্রয় সংকেত দেয় তখনই বিক্রি হয়।
এই দুটি বিষয়ের উপর ভিত্তি করে, এই কৌশলটির জন্য নির্দিষ্ট ট্রেডিং নিয়মগুলি হলঃ
যখন MACD দ্রুত লাইনটি MACD ধীর লাইন, স্তম্ভের চার্টটি নেতিবাচক এবং দামটি 200 দিনের চলমান গড়ের উপরে থাকে তখন ক্রয়-বিক্রয় অপারেশন করা হয়। যখন MACD দ্রুত লাইনটি MACD ধীর লাইন, স্তম্ভের চার্টটি ইতিবাচক এবং দামটি 200 দিনের চলমান গড়ের নীচে থাকে তখন বিক্রয় অপারেশন করা হয়।
দ্বিগুণ বিচার কৌশলটির স্থায়িত্ব এবং সাফল্যের হার বাড়ায়। MACD ক্রয়-বিক্রয় সংকেত এবং 200-দিনের গড় বাজার প্রবণতা নির্ধারণ করে। দ্বিগুণ বিচার কিছু অনিশ্চয়তাযুক্ত ট্রেডিং সংকেত ফিল্টার করতে পারে।
প্রবণতাযুক্ত বাজারে, এই কৌশলটি উচ্চ মুনাফা আনতে পারে। বিশেষ করে একটি ষাঁড়ের বাজারে, এটি দ্রুত মূল্য বৃদ্ধির সুযোগগুলি ধরতে পারে।
MACD সূচকটি ঝাঁকুনির সমন্বয় পর্ব থেকে বেরিয়ে আসার জন্যও সংবেদনশীল, যখন দাম দীর্ঘ সময় ধরে ঝাঁকুনির সমন্বয় শেষ করে ট্রেন্ডিং পরিস্থিতিতে প্রবেশ করে, এই কৌশলটি দ্রুত নতুন ট্রেন্ডিং দিকটি ধরতে পারে।
এই কৌশলটি প্যারামিটার সেটিংয়ের জন্য সংবেদনশীল। যদি MACD সূচক প্যারামিটারগুলি ভুলভাবে সেট করা হয় তবে এটি ভুল ইনপুট এবং ভুল আউটপুট হতে পারে।
প্রবণতা পাল্টানোর কাছাকাছি, MACD সূচকটির ক্রয়-বিক্রয় সংকেত আরও বেশি ত্রুটি তৈরি করে। এই সময়ে এই কৌশলটির লাভের জন্য একটি বৃহত্তর প্রত্যাহার দেখা দিতে পারে।
যখন দাম দীর্ঘমেয়াদীভাবে একটি প্রান্তিক সমন্বয় অবস্থায় থাকে, তখন এই কৌশলটি একটি সুস্পষ্ট প্রবণতা দিক নির্ধারণ করতে পারে না, যার ফলে লাভ-ক্ষতির অস্থিরতা বৃদ্ধি পায় এবং প্রত্যাহারের সময় দীর্ঘায়িত হয়।
বিভিন্ন প্যারামিটার সমন্বয় পরীক্ষা করে এমন একটি MACD প্যারামিটার খুঁজে বের করা যায় যা একটি সংকেত উৎপন্ন করে।
অন্যান্য প্রযুক্তিগত সূচক যেমন আরএসআই, কেডি ইত্যাদি যোগ করার বিষয়টি বিবেচনা করা যেতে পারে, কৌশলটির নির্ভরযোগ্যতা বাড়ানোর জন্য একাধিক সূচক রেজোনেন্স গঠন করা যেতে পারে।
সর্বাধিক প্রত্যাহার নিয়ন্ত্রণের জন্য স্টপ লস পয়েন্ট সেট করা যেতে পারে। যখন দামের একটি বড় বিপরীত বিপর্যয় ঘটে তখন অবিলম্বে স্টপ লস আউট হয়, যা কার্যকরভাবে স্টপ লস সম্প্রসারণকে এড়াতে পারে।
MACD 200 দৈনিক গড় লাইন ক্রস কৌশল প্রবণতা বিচার এবং ট্রেডিং সংকেত বিচার দ্বৈত ফাংশন সমন্বিত, এটি লাভের সম্ভাবনা কার্যকরভাবে বাড়াতে পারে, এটি একটি স্থিতিশীল নির্ভরযোগ্য পরিমাণগত ট্রেডিং কৌশল। তবে এই কৌশলটি প্যারামিটার এবং বাজারের অবস্থার উপরও কিছু নির্ভরশীলতা রয়েছে, যা পরীক্ষার অপ্টিমাইজেশন চালিয়ে যাওয়ার মাধ্যমে কৌশলটির স্থিতিশীল লাভজনকতা আরও বাড়িয়ে তুলতে পারে।[/
/*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)