এই কৌশলটি দ্রুত এবং ধীর চলমান গড় রেখাগুলির মধ্যে পার্থক্য গণনা করে এমএসিডি সূচক তৈরি করে এবং সিগন্যাল লাইনের সাথে আর্থিক বাজারগুলির প্রবণতা এবং ওভারকিপড / ওভারসোল্ড অঞ্চলগুলিকে বিচার করে। এটি দীর্ঘ হয় যখন এমএসিডি এবং সিগন্যাল লাইন একটি সোনার ক্রস গঠন করে যখন দাম 200 দিনের এমএ এর উপরে থাকে এবং যখন দাম 200 দিনের এমএ এর নীচে থাকে তখন একটি মৃত ক্রস গঠন করে তখন সংক্ষিপ্ত হয়। এটি একটি সাধারণ দ্বৈত চলমান গড় ক্রসওভার ব্রেকওভার কৌশল।
মৌলিক যুক্তিটি হ'ল বাজারের প্রবণতা দিক নির্ধারণের জন্য দ্রুত এবং ধীর এমএ পার্থক্য থেকে উত্পন্ন এমএসিডি সূচক এবং ওভারবয় / ওভারসোল্ড স্তরগুলি বিচার করার জন্য সংকেত রেখা ব্যবহার করা। যখন এমএসিডি এবং সংকেত রেখা একটি সোনার ক্রস গঠন করে, এটি লম্বা যাওয়ার দীর্ঘ সংকেত। যখন একটি মৃত ক্রস গঠন করে, এটি সংক্ষিপ্ত হওয়ার সংকেত। এদিকে, এটি 200 দিনের এমএ এর সাথে মূল্যের সম্পর্ককে সংকেতগুলি ফিল্টার করতে ব্যবহার করে, যখন দাম 200 দিনের এমএ এর উপরে থাকে এবং যখন দাম 200 দিনের এমএ এর নীচে থাকে তখন সংক্ষিপ্ত সংকেতগুলি গ্রহণ করে, যাতে শক্তিশালী প্রবণতাগুলির সময় হুইপসাউ এড়ানো যায়।
নির্দিষ্ট হিসাব পদ্ধতি হলঃ
যখন ম্যাকডি সিগন্যাল লাইনের উপরে অতিক্রম করে যখন তারা উভয়ই 0 এর নীচে থাকে, এটি একটি সোনার ক্রস লং সিগন্যাল। যখন ম্যাকডি সিগন্যাল লাইনের নীচে অতিক্রম করে যখন তারা উভয়ই 0 এর উপরে থাকে, এটি একটি মৃত ক্রস শর্ট সিগন্যাল। এদিকে, যখন দাম 200 দিনের এমএ এর উপরে থাকে তখনই দীর্ঘ সময় নেয় এবং যখন দাম 200 দিনের এমএ এর নীচে থাকে তখনই সংক্ষিপ্ত হয়।
এমএ সময়কাল সংক্ষিপ্ত করে, অন্যান্য সূচক যোগ করে এবং স্টপ লস যোগ করে ঝুঁকি হ্রাস করতে পারে।
1.15M থেকে 1D পর্যন্ত বিভিন্ন সময়সীমার উপর পরীক্ষা করা হয়েছে, ঝুঁকি সমন্বিত রিটার্নের ক্ষেত্রে 4H এ সর্বোত্তম ফলাফল
২. দ্রুত এবং ধীর ম্যাকডকে অপ্টিমাইজ করুন যাতে এমএসিডি চক্রগুলি ধারণ করে, ৭-২১ ১৫ মিটারের জন্য ভাল
৩.ম্যাকডির জন্য হুল এমএ ভাল ফলাফল দিয়েছে
৪.ট্রেইলিং স্টপলস ঝুঁকি ব্যবস্থাপনা উন্নত করে
এটি সামগ্রিকভাবে একটি খুব সহজ এবং ব্যবহারিক কৌশল, দ্বৈত সূচক সিস্টেম এবং মূল্য ফিল্টারিংয়ের মাধ্যমে উচ্চ সম্ভাব্যতার ট্রেডিং সংকেত উত্পন্ন করে। এটি তুলনামূলকভাবে উচ্চ মুনাফা মার্জিন রয়েছে, অতিরিক্ত অপ্টিমাইজেশন এড়াতে ক্লাসিক এমএসিডি প্যারামিটার সংমিশ্রণ ব্যবহার করে। এমএ প্যারামিটারগুলি সামঞ্জস্য করে, অন্যান্য সূচক এবং স্টপ লস প্রক্রিয়াগুলি যুক্ত করে আরও পারফরম্যান্স উন্নত করে অপ্টিমাইজেশনের জন্য এখনও প্রচুর জায়গা রয়েছে। সামগ্রিকভাবে এটি মৌলিক উপর ভিত্তি করে একটি সাধারণ পরিমাণগত কৌশল।
/*backtest start: 2024-02-14 00:00:00 end: 2024-02-21 00:00:00 period: 1h basePeriod: 15m 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/ // © Hurmun //@version=4 strategy("Simple MACD strategy ", overlay=true, margin_long=100, margin_short=100) 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 movinga2 = input(title="movinga 2", type=input.integer, defval=200) movinga200 = sma(close, movinga2) plot(movinga200, "MA", color.orange) longCondition = crossover(macd, signal) and macd < 0 and signal < 0 and close > movinga200 if (longCondition) strategy.entry("My Long Entry Id", strategy.long) shortCondition = crossunder(macd, signal) and macd > 0 and signal > 0 and close < movinga200 if (shortCondition) strategy.entry("My Short Entry Id", strategy.short) shortProfitPerc = input(title="Short Take Profit (%)", minval=0.0, step=0.1, defval=2) / 100 longProfitPerc = input(title="Long Take Profit (%)", minval=0.0, step=0.1, defval=2) / 100 stoploss = input(title="stoploss in %", minval = 0.0, step=1, defval=2) /100 longStoploss = strategy.position_avg_price * (1 - stoploss) longExitPrice = strategy.position_avg_price * (1 + longProfitPerc) shortExitPrice = strategy.position_avg_price * (1 - shortProfitPerc) shortStoploss = strategy.position_avg_price * (1 + stoploss) if (strategy.position_size > 0 ) strategy.exit(id="XL TP", limit=longExitPrice, stop=longStoploss) if (strategy.position_size < 0 ) strategy.exit(id="XS TP", limit=shortExitPrice, stop=shortStoploss)