এটি একটি গতিশীল ট্রেডিং কৌশল যা আরএসআই এবং ইএমএ সূচকগুলির উপর ভিত্তি করে, একাধিক সময়সীমার উপর প্রযুক্তিগত বিশ্লেষণকে একত্রিত করে। কৌশলটি ইএমএ প্রবণতা নিশ্চিতকরণের সাথে আরএসআই ওভারকোপড / ওভারসোল্ড সংকেতগুলির উপর ভিত্তি করে ট্রেডগুলি সম্পাদন করে এবং গতিশীল অবস্থান আকারকে ব্যবহার করে। মূল ধারণাটি হ'ল প্রবণতা দিক নিশ্চিতকরণের জন্য তিনটি ভিন্ন সময়ের ইএমএ (50/100/200) ব্যবহার করে স্বল্পমেয়াদী আরএসআই (2-অবধি) এর সাথে মাঝারি মেয়াদী আরএসআই (14-অবধি) সংকেতগুলি একত্রিত করা।
কৌশলটি ট্রেডিং সিদ্ধান্তের জন্য একটি মাল্টি-লেয়ার ভ্যালিডেশন প্রক্রিয়া ব্যবহার করে। লং শর্তগুলির জন্য RSI14 31 এর নীচে এবং RSI2 10 এর উপরে অতিক্রম করে, EMA50, EMA100, এবং EMA200 এর সাথে bearish প্রান্তিককরণে। সংক্ষিপ্ত শর্তগুলির জন্য RSI14 69 এর উপরে এবং RSI2 90 এর নীচে অতিক্রম করে, EMAs bullish প্রান্তিককরণে থাকে। কৌশলটিতে একটি RSI- ভিত্তিক লাভ গ্রহণের প্রক্রিয়া অন্তর্ভুক্ত রয়েছে, যখন RSI চরম মানগুলিতে পৌঁছে যায় এবং মূল্যের গতি পজিশনকে অনুকূল করে তখন স্বয়ংক্রিয়ভাবে অবস্থান বন্ধ করে দেয়। একটি উল্লেখযোগ্য বৈশিষ্ট্য হ'ল ইক্যুইটি ভিত্তিক গতিশীল অবস্থান অ্যাকাউন্ট সাইজিং সিস্টেম, প্রতিটি ব্যবসায়ের জন্য উপযুক্ত অবস্থান আকার গণনা করে।
এই কৌশলটি গতির ট্রেডিংকে ট্রেন্ড অনুসরণকারী বৈশিষ্ট্যগুলির সাথে একত্রিত করে, একাধিক প্রযুক্তিগত সূচকের মাধ্যমে ট্রেডিং নির্ভরযোগ্যতা বাড়ায়। যদিও কিছু ঝুঁকি বিদ্যমান, প্রস্তাবিত অপ্টিমাইজেশান দিকগুলি কৌশল স্থিতিশীলতা আরও উন্নত করতে পারে। কৌশলটির মূল বৈশিষ্ট্য হ'ল গতিশীল অবস্থান পরিচালনার সাথে স্বল্প ও মাঝারি মেয়াদী প্রযুক্তিগত সূচকগুলির সংমিশ্রণ, একটি সম্পূর্ণ ট্রেডিং সিস্টেম গঠন করে। সঠিক ঝুঁকি ব্যবস্থাপনা এবং পরামিতি অপ্টিমাইজেশনের মাধ্যমে, এই কৌশলটি প্রকৃত ট্রেডিংয়ে স্থিতিশীল পারফরম্যান্সের প্রতিশ্রুতি দেখায়।
/*backtest start: 2024-11-21 00:00:00 end: 2024-11-28 00:00:00 period: 15m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Custom RSI EMA Strategy", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1) // Definování vstupních podmínek rsi_14 = ta.rsi(close, 14) rsi_2 = ta.rsi(close, 2) ema_50 = ta.ema(close, 50) ema_100 = ta.ema(close, 100) ema_200 = ta.ema(close, 200) // Pákový efekt leverage = 20 // Podmínky pro long pozici longCondition = (rsi_14[1] < 31) and ta.crossover(rsi_2, 10) and (ema_50 < ema_100) and (ema_100 < ema_200) // Podmínky pro short pozici shortCondition = (rsi_14[1] > 69) and ta.crossunder(rsi_2, 90) and (ema_50 > ema_100) and (ema_100 > ema_200) // Definování průměrné ceny pozice var float long_avg_price = na var float short_avg_price = na // Sledujeme, zda se velikost pozice změnila var float last_position_size = na // Přerušení průměrné ceny pozice při změně pozice if (last_position_size != strategy.position_size) long_avg_price := na short_avg_price := na // Aktualizace průměrné ceny pozice if (strategy.position_size > 0) long_avg_price := strategy.position_avg_price short_avg_price := na else if (strategy.position_size < 0) short_avg_price := strategy.position_avg_price long_avg_price := na // Uložení aktuální velikosti pozice pro příští bar last_position_size := strategy.position_size // Podmínky pro take profit takeProfitLongCondition = (rsi_14 > 69) and (rsi_2 > 90) and (long_avg_price < close) takeProfitShortCondition = (rsi_14 < 31) and (rsi_2 < 10) and (short_avg_price > close) // Velikost pozice new_position_size = strategy.position_size == 0 ? na : math.abs(strategy.position_size) * 2 // Úprava velikosti pozice s ohledem na pákový efekt position_value = strategy.equity * leverage trade_qty = position_value / close // Vstup do long pozice s dvojnásobkem aktuální pozice nebo standardní velikostí při první pozici if (longCondition) strategy.entry("Long", strategy.long, qty=new_position_size == na ? trade_qty : new_position_size) // Vstup do short pozice s dvojnásobkem aktuální pozice nebo standardní velikostí při první pozici if (shortCondition) strategy.entry("Short", strategy.short, qty=new_position_size == na ? trade_qty : new_position_size) // Výstup z long pozice při splnění podmínek pro take profit if (takeProfitLongCondition) strategy.close("Long") // Výstup z short pozice při splnění podmínek pro take profit if (takeProfitShortCondition) strategy.close("Short") // Zvýraznění části grafu, kde platí podmínky pro long highlightLongCondition = (ema_50 < ema_100) and (ema_100 < ema_200) bgcolor(highlightLongCondition ? color.new(color.green, 90) : na) // Zvýraznění části grafu, kde platí podmínky pro short highlightShortCondition = (ema_50 > ema_100) and (ema_100 > ema_200) bgcolor(highlightShortCondition ? color.new(color.red, 90) : na) // Přidání bodů pozic do grafu plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="L") plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="S") // Vykreslení průměrné ceny pozice pro long a short plot(long_avg_price, title="Long Avg Price", color=color.blue, linewidth=2) plot(short_avg_price, title="Short Avg Price", color=color.orange, linewidth=2)