এই কৌশলটি এমএসিডি হিস্টোগ্রামের প্রবণতার উপর ভিত্তি করে ট্রেডিং সিদ্ধান্ত নেয়। এটি হিস্টোগ্রামের উপরের এবং নীচের প্রবণতা ব্যবহার করে কিনুন এবং বিক্রয় সংকেত তৈরি করে। যখন হিস্টোগ্রামটি নির্দিষ্ট সময়ের জন্য বৃদ্ধি বা পতন অব্যাহত রাখে, তখন সংশ্লিষ্ট সংকেত উত্পন্ন হয়।
কৌশলটি এমএসিডি সূচকের দ্রুত লাইন, ধীর লাইন এবং হিস্টোগ্রাম ব্যবহার করে। প্রথমে দ্রুত ইএমএ এবং ধীর ইএমএ গণনা করুন। তারপরে এমএসিডি পেতে দ্রুত ইএমএ থেকে ধীর ইএমএ বিয়োগ করুন এবং সিগন্যাল বিয়োগ করুন যা হিস্টোগ্রাম পেতে এমএসিডির চলমান গড়।
যখন হিস্টোগ্রামটি সেট সময়ের জন্য বৃদ্ধি অব্যাহত রাখে, তখন একটি ক্রয় সংকেত তৈরি হয়। এটি নির্দেশ করে যে এমএসিডি তার সংকেত রেখাটি উপরে ভাঙ্গার জন্য ত্বরান্বিত হচ্ছে, যা পূর্বাভাস দেয় যে দাম বাড়তে পারে।
যখন হিস্টোগ্রাম নির্ধারিত সময়ের জন্য হ্রাস অব্যাহত রাখে, তখন একটি বিক্রয় সংকেত উৎপন্ন হয়। এটি নির্দেশ করে যে এমএসিডি তার সিগন্যাল লাইনটি নীচের দিকে ভাঙ্গার জন্য ত্বরান্বিত হচ্ছে, যা পূর্বাভাস দেয় যে দামগুলি হ্রাস পেতে পারে।
এই কৌশলটির নিম্নলিখিত সুবিধা রয়েছে:
এমএসিডি হিস্টোগ্রামের ট্রেন্ডিং বৈশিষ্ট্য ব্যবহার করে, এটি মূল্য পরিবর্তনের টার্নিং পয়েন্টগুলি ক্যাপচার করতে পারে এবং লাভজনকতা বাড়িয়ে তুলতে পারে।
হিস্টোগ্রামের ক্রমাগত বৃদ্ধি বা পতনের শর্তের সাথে মিলিয়ে, কিছু গোলমাল ট্রেডগুলি অপ্রয়োজনীয় ক্ষতি হ্রাস করার জন্য ফিল্টার করা যেতে পারে।
এটি MACD পরামিতি এবং হিস্টোগ্রাম ট্রেন্ড সময়ের কাস্টমাইজেশনের অনুমতি দেয়, এটি বিভিন্ন পণ্য এবং ট্রেডিং সেশনের জন্য সামঞ্জস্য করা যেতে পারে।
কৌশল যুক্তি সহজ এবং স্পষ্ট, সহজেই বোঝা এবং সংশোধন করা যায়, এবং অন্যান্য সূচক বা কৌশলগুলির সাথে একত্রিত করার জন্যও সুবিধাজনক।
এই কৌশলের কিছু ঝুঁকিও রয়েছে:
যখন দামগুলি পরিসরে দোলায় তখন ভুল সংকেত দেখা দিতে পারে। ফিল্টার করার জন্য প্রবণতা সূচকগুলি একত্রিত করা দরকার।
হিস্টোগ্রাম বৃদ্ধি বা পতনের পরে, এমএসিডি লাইন সিগন্যাল লাইনটি ভেঙে ফেলতে ব্যর্থ হতে পারে, লাভজনকভাবে বেরিয়ে আসতে অক্ষম। ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস সেট করা উচিত।
ট্রেডিং খরচ এবং স্লিপজকে বিবেচনা করা হয় না। লাইভ ট্রেডিংয়ে প্রকৃত মুনাফা হ্রাস পেতে পারে।
অনুপযুক্ত পরামিতি সেটিং (যেমন এমএসিডি সময়কাল, হিস্টোগ্রাম ট্রেন্ড সময়কাল) কৌশল কর্মক্ষমতা খারাপ হতে পারে। পণ্য এবং সেশনের জন্য পরামিতিগুলি অপ্টিমাইজ করা দরকার।
এই ঝুঁকিগুলিকে প্রবণতা সূচকগুলির সাথে একত্রিত করা, স্টপ লস প্রক্রিয়া সেট করা, পরামিতিগুলি অনুকূলিতকরণ ইত্যাদির মাধ্যমে নিয়ন্ত্রণ এবং হ্রাস করা যেতে পারে।
কৌশলটি নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ
সামগ্রিক প্রবণতার দিকনির্দেশনা নির্ধারণের জন্য অন্যান্য সূচকগুলিকে একত্রিত করুন, দোলনশীল পরিসরে ট্রেডিং এড়ানো। উদাহরণস্বরূপ, মাঝারি দীর্ঘমেয়াদী প্রবণতার জন্য 20 দিনের লাইন।
স্টপ লস মেকানিজম যোগ করুন। উদাহরণস্বরূপ স্টপ লস যখন এমএসিডি সিগন্যাল লাইনটি আবার নীচে ভাঙবে।
বিভিন্ন ফ্রিকোয়েন্সির পণ্যের জন্য MACD পরামিতিগুলি অনুকূল করুন। উদাহরণস্বরূপ উচ্চ ফ্রিকোয়েন্সি ডেটার জন্য সময়কালের পরামিতিগুলি সংক্ষিপ্ত করুন।
ধারাবাহিক হিস্টোগ্রাম বৃদ্ধি বা পতনের সর্বনিম্ন সময়কাল অনুকূল করুন, সিগন্যাল ফ্রিকোয়েন্সি এবং নির্ভরযোগ্যতা ভারসাম্য বজায় রাখুন।
ব্রেকআউট ব্যর্থতার পর ট্রেলিং সিগন্যালের লজিক চেষ্টা করুন। অর্থাৎ হিস্টোগ্রাম বিপরীত হওয়ার পর ট্রেলিং রিভার্স সিগন্যাল।
বাজারের উত্তাপ এবং ফিল্টার সংকেতগুলি পরিমাপ করার জন্য ভলিউম বা অস্থিরতা সূচকগুলির মতো অন্যান্য সূচকগুলি একত্রিত করুন।
উপসংহারে, এমএসিডি হিস্টোগ্রাম ট্রেন্ড কৌশলটি হিস্টোগ্রাম ট্রেন্ড পরিবর্তনগুলি ক্যাপচার করে মূল্য পরিবর্তনের টার্নিং পয়েন্টগুলির বিচার উপলব্ধি করে। প্যারামিটার অপ্টিমাইজেশন এবং কম্বো সূচকগুলির সংমিশ্রণ কার্যকরভাবে ভুল সংকেতগুলি ফিল্টার করতে পারে। পরিমাণগত ব্যবসায়ের একটি গুরুত্বপূর্ণ সহায়ক বিচার সরঞ্জাম হিসাবে, এই কৌশলটি এমএসিডি হিস্টোগ্রাম ব্যবহার করে একটি সহজ এবং ব্যবহারিক ট্রেডিং ধারণা সরবরাহ করে।
/*backtest start: 2023-01-18 00:00:00 end: 2024-01-24 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //study(title="Histogram Strategy by Sedkur", shorttitle="Histogram Strategy by Sedkur") strategy (title="Histogram Trends Strategy by Sedkur", shorttitle="Histogram Trends Strategy by Sedkur") /// Getting inputs dyear = input(title="Year", type=input.integer, defval=2017, minval=1950, maxval=2500) fast_length = input(title="Fast Length", type=input.integer, defval=12) slow_length = input(title="Slow Length", type=input.integer, defval=26) hist_length = input(title="Trend of Histogram Number", type=input.integer, defval=1, minval=1, maxval=100) //buyh = input(title="Buy histogram value", type=input.float, defval=0.0, minval=-1000, maxval=1000, step=0.1) //sellh = input(title="Sell histogram value", type=input.float, defval=0.0, minval=-1000, maxval=1000, step=0.1) 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 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) //bullish = hist[1] <= hist and buyh<=hist?true:false //bearish = hist[1] >= hist and sellh>=hist?true:false bull=0 bear=0 for i=0 to hist_length if (hist[i+1] <= hist[i]) bull:=bull+1 bullish = bull==hist_length+1?true:false for j=0 to hist_length if (hist[j+1] >= hist[j]) bear:=bear+1 bearish = bear==hist_length+1?true:false //bullish = hist[1] <= hist and hist[2] <= hist and hist[3] <= hist and hist[4] <= hist and hist[5] <= hist?true:false //bearish = hist[1] >= hist and hist[2] >= hist and hist[3] >= hist and hist[4] >= hist and hist[5] >= hist?true:false strategy.entry("buy", strategy.long, comment="buy", when = bullish and year>=dyear) strategy.entry("sell", strategy.short, comment="sell", when = bearish and year>=dyear)