এই কৌশলটি প্রবণতা ট্র্যাক করার জন্য বিভিন্ন সহায়ক সূচকগুলির সাথে ইচিমোকু ক্লাউড চার্টকে একত্রিত করে। এটি প্রধানত প্রবণতা দিক নির্ধারণের জন্য ইচিমোকু ক্লাউড এবং সিগন্যালের গুণমান উন্নত করার জন্য ফিল্টারিংয়ের জন্য এমএসিডি, সিএমএফ, টিএসআই এবং অন্যান্য সূচক ব্যবহার করে। এটি একাধিক কারণের ব্যাপক বিচারের উপর ভিত্তি করে একটি শক্তিশালী প্রবণতা কৌশল।
এই কৌশলটি মূলত প্রবণতা দিক নির্ধারণের জন্য ইচিমোকু মেঘের রূপান্তর ব্যবহার করে। যখন টেনকান-সেন মেঘের উপরে অতিক্রম করে তখন এটি দীর্ঘ হয় এবং যখন টেনকান-সেন নীচে অতিক্রম করে তখন এটি সংক্ষিপ্ত হয়। এদিকে, এটি সিগন্যালের গুণমান নিশ্চিত করার জন্য মাল্টি-স্তর ফিল্টারিংয়ের জন্য চিকু স্প্যান, এমএসিডি হিস্টোগ্রাম, সিএমএফ এবং টিএসআই ব্যবহার করে।
বিশেষ করে, দীর্ঘ সংকেতটি তখনই সক্রিয় হয় যখনঃ
শর্ট সিগন্যাল তখনই সক্রিয় হয় যখন উপরের শর্তগুলি বিপরীত হয়। এই ধরনের ব্যাপক মানদণ্ডের মাধ্যমে, বেশিরভাগ মিথ্যা সংকেতগুলি ফিল্টার করা যায় এবং বাজারের প্রধান প্রবণতাগুলি ধরা যায়।
এই কৌশলটির সবচেয়ে বড় সুবিধা হল একাধিক সূচককে একত্রিত করে মিথ্যা সংকেত ফিল্টার করা এবং শক্তিশালী প্রবণতা ধরা। বিশেষ করেঃ
এই ধরনের মূল্যায়নের মাধ্যমে কৌশলটি মধ্য ও দীর্ঘমেয়াদী হট সেক্টরগুলিকে কার্যকরভাবে চিহ্নিত করতে পারে এবং ট্রেন্ড ট্রেডিং থেকে লাভ করতে পারে।
এই কৌশলটির প্রধান ঝুঁকিগুলির মধ্যে রয়েছেঃ
সমাধান:
মূল অপ্টিমাইজেশান দিকঃ
আরও ভাল প্যারামিটার সমন্বয় খুঁজে পেতে আরও ব্যাকটেস্টের মাধ্যমে প্যারামিটার অপ্টিমাইজেশন
ঝুঁকি নিয়ন্ত্রণে স্টপ লস মেকানিজম যোগ করা
মুনাফা লক করার জন্য ট্রেলিং স্টপ লস যোগ করুন
আরও ভাল ফিল্টার সংমিশ্রণ খুঁজে পেতে আরও সূচক পরীক্ষা করুন
প্রকৃত ব্রেকআউটকে আলাদা করার জন্য নিয়ম যোগ করুন
এই কৌশল কার্যকরভাবে Ichimoku মেঘ এবং একাধিক সহায়ক সূচক একত্রিত করে। পরামিতি অপ্টিমাইজেশান, স্টপ লস প্রক্রিয়া, সূচক নির্বাচন উপর আরও উন্নতি উচ্চতর অবিচলিত রিটার্ন জন্য স্থিতিশীলতা এবং সংকেত মান উন্নত করতে পারেন। কৌশল শক্তিশালী ব্যবহারিক মান আছে।
/*backtest start: 2024-01-11 00:00:00 end: 2024-01-13 14: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/ // © exlux99 //@version=4 strategy("Ichimoku with MACD/ CMF/ TSI", overlay=true, margin_long=0, margin_short=0) //Inputs ts_bars = input(10, minval=1, title="Tenkan-Sen Bars") ks_bars = input(30, minval=1, title="Kijun-Sen Bars") ssb_bars = input(52, minval=1, title="Senkou-Span B Bars") cs_offset = input(26, minval=1, title="Chikou-Span Offset") ss_offset = input(26, minval=1, title="Senkou-Span Offset") long_entry = input(true, title="Long Entry") short_entry = input(true, title="Short Entry") middle(len) => avg(lowest(len), highest(len)) // Ichimoku Components tenkan = middle(ts_bars) kijun = middle(ks_bars) senkouA = avg(tenkan, kijun) senkouB = middle(ssb_bars) ss_high = max(senkouA[ss_offset-1], senkouB[ss_offset-1]) ss_low = min(senkouA[ss_offset-1], senkouB[ss_offset-1]) // Entry/Exit Signals fast_length = input(title="Fast Length", type=input.integer, defval=17) slow_length = input(title="Slow Length", type=input.integer, defval=28) src = input(title="Source", type=input.source, defval=close) signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 5) sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=true) sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=true) // 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 tk_cross_bull = tenkan > kijun tk_cross_bear = tenkan < kijun cs_cross_bull = mom(close, cs_offset-1) > 0 cs_cross_bear = mom(close, cs_offset-1) < 0 price_above_kumo = close > ss_high price_below_kumo = close < ss_low //CMF lengthA = input(8, minval=1, title="CMF Length") ad = close==high and close==low or high==low ? 0 : ((2*close-low-high)/(high-low))*volume mf = sum(ad, lengthA) / sum(volume, lengthA) //TSI long = input(title="Long Length", type=input.integer, defval=8) short = input(title="Short Length", type=input.integer, defval=8) price = close double_smooth(src, long, short) => fist_smooth = ema(src, long) ema(fist_smooth, short) pc = change(price) double_smoothed_pc = double_smooth(pc, long, short) double_smoothed_abs_pc = double_smooth(abs(pc), long, short) tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc) bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and hist > 0 and mf > 0.1 and tsi_value > 0 bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and hist < 0 and mf < -0.1 and tsi_value < 0 strategy.entry("Long", strategy.long, when=bullish and long_entry) strategy.entry("Short", strategy.short, when=bearish and short_entry) strategy.close("Long", when=bearish and not short_entry) strategy.close("Short", when=bullish and not long_entry)