এই কৌশলটি প্রবণতা অনুসরণ করার জন্য সামগ্রিক প্রবণতা বিচার করার জন্য সোনার / মৃত্যুর ক্রস দ্বারা সম্পূরক মূল্য গতির দিক নির্ধারণের জন্য চলমান গড় ক্রসওভার ব্যবহার করে।
এই কৌশলটি মূল্য গতির দিক নির্ধারণের জন্য ইএমএ এবং এসএমএ ক্রসওভার ব্যবহার করে। ইএমএ দ্রুত প্রতিক্রিয়া দেখায় যখন এসএমএ আরও স্থিতিশীল প্রতিক্রিয়া দেখায়। যখন ইএমএ এসএমএর উপরে অতিক্রম করে, তখন এটি বিচার করা হয় যে আপসাইড গতি শক্তিশালী, দীর্ঘ যান। যখন ইএমএ এসএমএর নীচে অতিক্রম করে, তখন এটি বিচার করা হয় যে ডাউনসাইড গতি শক্তিশালী, শর্ট যান।
এছাড়াও, কৌশলটি সামগ্রিক প্রবণতা দিক নির্ধারণের জন্য দ্রুত সময়ের এসএমএ এবং ধীর সময়ের এসএমএর ক্রসওভার ব্যবহার করে। যখন দ্রুত এসএমএ ধীর এসএমএর উপরে অতিক্রম করে, এটি একটি সোনার ক্রস, যা বাজারকে দীর্ঘমেয়াদী আপট্রেন্ডে নির্দেশ করে। যখন দ্রুত এসএমএ ধীর এসএমএর নীচে অতিক্রম করে, এটি একটি মৃত্যু ক্রস, যা বাজারকে দীর্ঘমেয়াদী ডাউনট্রেন্ডে নির্দেশ করে।
কৌশলটি দীর্ঘ সুযোগকে চিহ্নিত করে যখন ইএমএ এসএমএ এর উপরে অতিক্রম করে। যদি এটি এই সময়ে একটি সোনার ক্রস হয়, তবে এর অর্থ হল দীর্ঘমেয়াদী গতি এবং দীর্ঘমেয়াদী প্রবণতা উভয়ই সমর্থন করে, যা একটি ভাল দীর্ঘ সময়কাল। যদি এটি একটি মৃত্যু ক্রস হয়, তবে দীর্ঘমেয়াদী গতি কেবলমাত্র স্বল্পমেয়াদী গতি দ্বারা সমর্থিত এবং দীর্ঘমেয়াদী প্রবণতার বিরুদ্ধে, যা আরও ঝুঁকিপূর্ণ দীর্ঘ সময়কাল।
সিগন্যাল নিশ্চিতকরণের জন্য অন্যান্য সূচককে একত্রিত করে, এমএ সময়কালকে অনুকূল করে বা স্টপ লস সেট করে ঝুঁকি হ্রাস করা যেতে পারে।
সামগ্রিকভাবে, এটি একটি তুলনামূলকভাবে স্থিতিশীল এবং নির্ভরযোগ্য প্রবণতা অনুসরণকারী কৌশল। এটি স্বল্পমেয়াদী মূল্য গতি এবং দীর্ঘমেয়াদী প্রবণতা দিক উভয়কেই বিবেচনা করে, এমএ ক্রসওভারের মাধ্যমে ট্রেডিং সংকেত উত্পাদন করে। একক এমএ কৌশলগুলির তুলনায়, এটি নিশ্চিতকরণের জন্য দ্বৈত সূচকগুলিকে একত্রিত করে উচ্চতর নির্ভরযোগ্যতা রয়েছে। তবে একটি প্রবণতা অনুসরণকারী কৌশল হিসাবে, এর পরামিতি অপ্টিমাইজেশন এবং ঝুঁকি নিয়ন্ত্রণ খুব গুরুত্বপূর্ণ। এর সম্ভাব্যতা সত্যই উপলব্ধি করার জন্য এটি পুনরাবৃত্তি পরীক্ষা এবং টিউনিংয়ের প্রয়োজন। অবিচ্ছিন্ন অপ্টিমাইজেশন এবং উন্নতির সাথে, এই কৌশলটি দীর্ঘমেয়াদী পরিমাণগত বিনিয়োগ পোর্টফোলিওর একটি মূল্যবান উপাদান হয়ে উঠতে পারে।
/*backtest start: 2023-09-19 00:00:00 end: 2023-10-19 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/ // © Cryptoluc1d //@version=4 strategy("Equal-Length EMA/SMA Crossover Strategy", initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=25, commission_type=strategy.commission.percent, commission_value=0.2, overlay=true) // Create inputs mom_length = input(title="Momentum Length (EMA=SMA)", defval=50) bias_length_fast = input(title="Golden Cross Length (Fast)", defval=50) bias_length_slow = input(title="Golden Cross Length (Slow)", defval=100) // Define MAs ema = ema(close, mom_length) // EMA/SMA crossover of the same period for detecting trend acceleration/deceleration sma = sma(close, mom_length) bias_fast = sma(close, bias_length_fast) // golden/death cross for overall trend bias bias_slow = sma(close, bias_length_slow) // Define signal conditions buy_trend = crossover(ema, sma) and bias_fast >= bias_slow // buy when EMA cross above SMA. if this happens during a bullish golden cross, buying is in confluence with the overall trend (bias). buy_risky = crossover(ema, sma) and bias_fast < bias_slow // buy when EMA cross above SMA. if this happens during a bearish death cross, buying is early, more risky, and not in confluence with the overall trend (bias). buy_late = crossover(sma, bias_slow) and ema > sma // the SMA crossing the Slow_SMA gives further confirmation of bullish trend, but signal comes later. sell = crossunder(ema, sma) // sell when EMA cross under SMA. // Enable option to hide signals, then plot signals show_signal = input(title="Show Signals", defval=true) plotshape(show_signal ? buy_trend : na, title='Trend Buy', style=shape.triangleup, location=location.belowbar, color=color.green, text='TREND BUY') plotshape(show_signal ? buy_risky : na, title='Risky Buy', style=shape.triangleup, location=location.belowbar, color=color.olive, text='RISKY BUY') plotshape(show_signal ? buy_late : na, title='Late Buy', style=shape.triangleup, location=location.belowbar, color=color.lime, text='LATE BUY') plotshape(show_signal ? sell : na, title='Sell', style=shape.triangledown, location=location.abovebar, color=color.red, text='SELL') // Define entry and exit conditions longCondition = ema > sma and bias_fast >= bias_slow // LONG when EMA above SMA, and overall trend bias is bullish if (longCondition) strategy.entry("BUY TREND", strategy.long) exitLong = crossunder(ema, sma) // close LONG when EMA cross under SMA strategy.close("BUY TREND", when=exitLong) // // short conditions. turned off because up only. // shortCondition = ema < sma and bias_fast <= bias_slow // SHORT when EMA under SMA, and overall trend bias is bearish // if (shortCondition) // strategy.entry("SELL TREND", strategy.short) // exitShort = crossover(ema, sma) // close SHORT when EMA cross over SMA // strategy.close("SELL TREND", when=exitShort) // Enable option to show MAs, then plot MAs show_ma = input(title="Show MAs", defval=false) plot(show_ma ? ema : na, title="Momentum EMA", color=color.green, linewidth=1) plot(show_ma ? sma : na, title="Momentum SMA", color=color.yellow, linewidth=1) plot(show_ma ? bias_fast : na, title="Golden Cross SMA (Fast)", color=color.orange, linewidth=2) plot(show_ma ? bias_slow : na, title="Golden Cross SMA (Slow)", color=color.red, linewidth=2)