
এই কৌশলটি MACD, EMA এবং RSI এর তিনটি সূচক ব্যবহার করে ট্রেন্ড ট্র্যাকিং এবং বিপরীত ট্রেডিংয়ের জন্য। যখন MACD সিগন্যাল লাইন অতিক্রম করে এবং EMA গড়ের উপরে ক্লোজ-আপ মূল্য থাকে তখন একটি কেনার সংকেত উত্পন্ন করে; যখন MACD সিগন্যাল লাইন অতিক্রম করে এবং EMA গড়ের নীচে ক্লোজ-আপ মূল্য থাকে তখন একটি বিক্রয় সংকেত উত্পন্ন করে, যা ট্রেন্ডকে ধরতে পারে; এবং যখন RSI ওভার-বই ওভার-সেল অঞ্চলে পৌঁছে যায় তখন বিপরীত ট্রেডিং করে।
fastMA = ema(close, fast)
slowMA = ema(close, slow)
macd = fastMA - slowMA
signal = sma(macd, 9)
ema = ema(close, input(200))
delta = macd - signal
buy_entry= close>ema and delta > 0
sell_entry = close<ema and delta<0
if (rsi > 70 or rsi < 30)
reversal := true
সমাধানঃ
এই কৌশলটি MACD, EMA এবং RSI সূচকগুলিকে সমন্বিতভাবে ব্যবহার করে, যা প্রবণতা ট্র্যাকিং এবং বিপরীত ট্রেডিংয়ের একটি জৈবিক সমন্বয় অর্জন করে। MACD মূল প্রবণতার দিক নির্ধারণ করে, ইএমএ ঘূর্ণন শব্দ, আরএসআই সূচক বিপরীত বিন্দু ক্যাপচার করে। এই মাল্টি-ইনডিকেটর সংমিশ্রণটি বাজারের গতিপথকে আরও সঠিকভাবে নির্ধারণ করতে পারে, ভুল ট্রেডিং হ্রাস করার সময়, মুনাফা অর্জনের সম্ভাবনা বাড়িয়ে তুলতে পারে। অবশ্যই, প্যারামিটার অপ্টিমাইজেশন এবং স্টপ লস ম্যানেজমেন্ট ইত্যাদি আরও উন্নত করা দরকার, যাতে অপ্রয়োজনীয় ক্ষতি হ্রাস করা যায় এবং কৌশলটি আরও স্থিতিশীল করা যায়। সামগ্রিকভাবে বলতে গেলে, কৌশলটির কাঠামো যুক্তিসঙ্গত এবং স্থিতিশীল আয় পাওয়ার সম্ভাবনা রয়েছে।
/*backtest
start: 2023-11-17 00:00:00
end: 2023-12-17 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/
// © mbuthiacharles4
//Good with trending markets
//@version=4
strategy("CHARL MACD EMA RSI")
fast = 12, slow = 26
fastMA = ema(close, fast)
slowMA = ema(close, slow)
macd = fastMA - slowMA
signal = sma(macd, 9)
ema = ema(close, input(200))
rsi = rsi(close, input(14))
//when delta > 0 and close above ema buy
delta = macd - signal
buy_entry= close>ema and delta > 0
sell_entry = close<ema and delta<0
var bought = false
var sold = false
var reversal = false
if (buy_entry and bought == false and rsi <= 70)
strategy.entry("Buy",true , when=buy_entry)
bought := true
strategy.close("Buy",when= delta<0 or rsi > 70)
if (delta<0 and bought==true)
bought := false
//handle sells
if (sell_entry and sold == false and rsi >= 30)
strategy.entry("Sell",false , when=sell_entry)
sold := true
strategy.close("Sell",when= delta>0 or rsi < 30)
if (delta>0 and sold==true)
sold := false
if (rsi > 70 or rsi < 30)
reversal := true
placing = rsi > 70 ? high :low
label.new(bar_index, placing, style=label.style_flag, color=color.blue, size=size.tiny)
if (reversal == true)
if (rsi < 70 and sold == false and delta < 0)
strategy.entry("Sell",false , when= delta < 0)
sold := true
reversal := false
else if (rsi > 30 and bought == false and delta > 0)
strategy.entry("Buy",true , when= delta > 0)
bought := true
reversal := false