এই কৌশলটি একাধিক এক্সপোনেনশিয়াল মুভিং এভারেজ (ইএমএ) ক্রসওভার সিগন্যালের উপর ভিত্তি করে একটি ট্রেডিং সিস্টেম, যা বিভিন্ন সময়ের ইএমএগুলিকে একটি এটিআর-ভিত্তিক গতিশীল স্টপ-লস প্রক্রিয়াটির সাথে একত্রিত করে। কৌশলটি একটি প্রবণতা ফিল্টার হিসাবে 143 সময়ের উচ্চতর সময়সীমার ইএমএকে অন্তর্ভুক্ত করার সময় প্রাথমিক সংকেত সূচক হিসাবে 10, 39, এবং 73 সময়ের ইএমএগুলি ব্যবহার করে এবং এটিআর সূচক ব্যবহার করে গতিশীল স্টপ-লস এবং লাভের লক্ষ্যগুলি বাস্তবায়ন করে।
মূল যুক্তিটি একাধিক ইএমএ ক্রসওভার্স এবং প্রবণতা নিশ্চিতকরণের উপর ভিত্তি করে। যখন স্বল্পমেয়াদী ইএমএ (10-অবধি) মাঝারি মেয়াদী ইএমএ (39-অবধি) এর উপরে অতিক্রম করে এবং দাম দীর্ঘমেয়াদী ইএমএ (73-অবধি) এবং উচ্চতর সময়সীমা ইএমএ (143-অবধি) উভয়ের উপরে থাকে তখন একটি দীর্ঘ সংকেত উত্পন্ন হয়। বিপরীতভাবে, যখন স্বল্পমেয়াদী ইএমএ মাঝারি মেয়াদী ইএমএ এর নীচে অতিক্রম করে এবং দাম উভয় দীর্ঘমেয়াদী ইএমএ এর নীচে থাকে তখন একটি সংক্ষিপ্ত সংকেত উত্পন্ন হয়। কৌশলটি স্টপ-লস এবং 2x এটিআর-এর জন্য 2x এটিআর ব্যবহার করে 1: 2 এর ঝুঁকি-প্রতিফল অনুপাত বাস্তবায়ন করে।
এই কৌশলটি একাধিক ইএমএ ক্রসওভার এবং এটিআর-ভিত্তিক গতিশীল স্টপগুলির মাধ্যমে প্রবণতা অনুসরণ এবং ঝুঁকি ব্যবস্থাপনাকে একত্রিত করে একটি ট্রেডিং সিস্টেম তৈরি করে। এর প্রধান শক্তিগুলি একাধিক সময়সীমা নিশ্চিতকরণ প্রক্রিয়া এবং গতিশীল অবস্থান পরিচালনায় রয়েছে, যখন বাজারের ঝুঁকি এবং বিলম্বের ঝুঁকিগুলিকে বিবেচনা করে। ভলিউম নিশ্চিতকরণ, প্রবণতা শক্তি ফিল্টারিং এবং অন্যান্য অপ্টিমাইজেশনের মাধ্যমে কৌশল স্থিতিশীলতা এবং মুনাফা আরও বাড়ানো যেতে পারে। ব্যবহারিক প্রয়োগে, পরামিতিগুলি বিভিন্ন বাজারের পরিবেশ এবং ট্রেডিং যন্ত্রের বৈশিষ্ট্য অনুসারে সামঞ্জস্য করা উচিত।
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-28 00:00:00 period: 2d basePeriod: 2d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Enhanced EMA Crossover Strategy", overlay=true) // Define the EMA lengths ema_short_length = 10 ema_long_length = 39 ema_filter_length = 73 ema_higher_tf_length = 143 // Calculate the EMAs ema_short = ta.ema(close, ema_short_length) ema_long = ta.ema(close, ema_long_length) ema_filter = ta.ema(close, ema_filter_length) ema_higher_tf = request.security(syminfo.tickerid, "D", ta.ema(close, ema_higher_tf_length)) // Calculate ATR for volatility-based stop loss and take profit atr_length = 14 atr = ta.atr(atr_length) // Plot the EMAs plot(ema_short, title="EMA 10", color=color.blue) plot(ema_long, title="EMA 35", color=color.red) plot(ema_filter, title="EMA 75", color=color.orange) plot(ema_higher_tf, title="EMA Higher TF", color=color.purple) // EMA crossover conditions with EMA 75 and higher timeframe EMA filter longCondition = ta.crossover(ema_short, ema_long) and close > ema_filter and close > ema_higher_tf shortCondition = ta.crossunder(ema_short, ema_long) and close < ema_filter and close < ema_higher_tf // Execute long trade with dynamic stop loss and take profit if (longCondition) strategy.entry("Long", strategy.long) strategy.exit("Take Profit/Stop Loss", "Long", limit=close + 2 * atr, stop=close - 1 * atr) // Execute short trade with dynamic stop loss and take profit if (shortCondition) strategy.entry("Short", strategy.short) strategy.exit("Take Profit/Stop Loss", "Short", limit=close - 2 * atr, stop=close + 1 * atr) // Plot signals on the chart plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY") plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")