এটি একটি প্রবণতা অনুসরণকারী কৌশল যা এক্সপোনেনশিয়াল মুভিং এভারেজ (ইএমএ) এবং আপেক্ষিক শক্তি সূচক (আরএসআই) একত্রিত করে। কৌশলটি বাজারের প্রবণতা কার্যকরভাবে ক্যাপচার করার জন্য আরএসআই ওভারকপ/ওভারসোল্ড স্তর এবং আরএসআই বিচ্যুতি অন্তর্ভুক্ত করার সময় দ্রুত এবং ধীর ইএমএগুলির ক্রসওভার পর্যবেক্ষণ করে ট্রেডিং সংকেতগুলি সনাক্ত করে। 1 ঘন্টা সময়সীমার উপর কাজ করে, এটি একাধিক প্রযুক্তিগত সূচক যাচাইকরণের মাধ্যমে ট্রেডিং নির্ভুলতা উন্নত করে।
মূল যুক্তিতে নিম্নলিখিত মূল উপাদানগুলি অন্তর্ভুক্ত রয়েছেঃ ১. ট্রেন্ডের দিকনির্দেশনা নির্ধারণের জন্য ৯ পেরিওড এবং ২৬ পেরিওড ইএমএ ব্যবহার করে, যখন দ্রুত রেখা ধীর রেখার উপরে থাকে তখন আপট্রেন্ড নির্দেশিত হয় 2. দীর্ঘ এবং সংক্ষিপ্ত সংকেতগুলির জন্য 65 এবং 35 এর সাথে 14 পিরিয়ডের আরএসআই ব্যবহার করে ৩. আরএসআই উচ্চ/নিম্ন সঙ্গে মূল্য উচ্চ/নিম্ন তুলনা করে 1 ঘন্টা সময়সীমার উপর আরএসআই বিচ্যুতি সনাক্ত করে ৪. লং এন্ট্রি প্রয়োজনঃ ধীর EMA এর উপরে দ্রুত EMA, RSI 65 এর উপরে, এবং কোন bearish RSI divergence ৫. শর্ট এন্ট্রি প্রয়োজনঃ ধীর EMA এর নিচে দ্রুত EMA, 35 এর নিচে RSI এবং কোনও উত্থান RSI বিভিন্নতা নেই
এই কৌশলটি চলমান গড়, গতির সূচক এবং বিচ্যুতি বিশ্লেষণকে একত্রিত করে একটি তুলনামূলকভাবে সম্পূর্ণ ট্রেডিং সিস্টেম তৈরি করে। এটি কার্যকরভাবে ভুল বিচার ঝুঁকি হ্রাস করার জন্য একাধিক সংকেত যাচাইয়ের উপর জোর দেয়। যদিও কিছু অন্তর্নিহিত বিলম্ব রয়েছে, তবে পরামিতি অপ্টিমাইজেশন এবং ঝুঁকি ব্যবস্থাপনা উন্নতির মাধ্যমে কৌশলটি ব্যবহারিক মূল্য রাখে।
/*backtest start: 2024-12-10 00:00:00 end: 2025-01-08 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA9_RSI_Strategy_LongShort", overlay=true) // Parameters fastLength = input.int(9, minval=1, title="Fast EMA Length") slowLength = input.int(26, minval=1, title="Slow EMA Length") rsiPeriod = input.int(14, minval=1, title="RSI Period") rsiLevelLong = input.int(65, minval=1, title="RSI Level (Long)") rsiLevelShort = input.int(35, minval=1, title="RSI Level (Short)") // Define 1-hour timeframe timeframe_1h = "60" // Fetch 1-hour data high_1h = request.security(syminfo.tickerid, timeframe_1h, high) low_1h = request.security(syminfo.tickerid, timeframe_1h, low) rsi_1h = request.security(syminfo.tickerid, timeframe_1h, ta.rsi(close, rsiPeriod)) // Current RSI rsi = ta.rsi(close, rsiPeriod) // Find highest/lowest price and corresponding RSI in the 1-hour timeframe highestPrice_1h = ta.highest(high_1h, 1) // ราคาสูงสุดใน 1 ช่วงของ timeframe 1 ชั่วโมง lowestPrice_1h = ta.lowest(low_1h, 1) // ราคาต่ำสุดใน 1 ช่วงของ timeframe 1 ชั่วโมง highestRsi_1h = ta.valuewhen(high_1h == highestPrice_1h, rsi_1h, 0) lowestRsi_1h = ta.valuewhen(low_1h == lowestPrice_1h, rsi_1h, 0) // Detect RSI Divergence for Long bearishDivLong = high > highestPrice_1h and rsi < highestRsi_1h bullishDivLong = low < lowestPrice_1h and rsi > lowestRsi_1h divergenceLong = bearishDivLong or bullishDivLong // Detect RSI Divergence for Short (switch to low price for divergence check) bearishDivShort = low > lowestPrice_1h and rsi < lowestRsi_1h bullishDivShort = high < highestPrice_1h and rsi > highestRsi_1h divergenceShort = bearishDivShort or bullishDivShort // Calculate EMA emaFast = ta.ema(close, fastLength) emaSlow = ta.ema(close, slowLength) // Long Conditions longCondition = emaFast > emaSlow and rsi > rsiLevelLong and not divergenceLong // Short Conditions shortCondition = emaFast < emaSlow and rsi < rsiLevelShort and not divergenceShort // Plot conditions plotshape(longCondition, title="Buy", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy") plotshape(shortCondition, title="Sell", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell") // Execute the strategy if (longCondition) strategy.entry("Long", strategy.long, comment="entry long") if (shortCondition) strategy.entry("Short", strategy.short, comment="entry short") // Alert alertcondition(longCondition, title="Buy Signal", message="Buy signal triggered!") alertcondition(shortCondition, title="Sell Signal", message="Sell signal triggered!")