Can RSI Alone Make You Profit? A Simple Yet Powerful EA [Code + Backtest Included] - page 2

 
anuj71 #:
Have you backtested?

Yes, I’ve done some initial backtesting on EURUSD M15 from Jan to early April 2024 — nothing fancy yet, just default RSI(14), fixed SL/TP at 30 pips.

Results were surprisingly okay for such a simple setup:

  • Win Rate: ~68%

  • Max Drawdown: 5.2%

  • Net Profit: +$427.50 on a $10k account

Of course, I know that’s not enough. I’m currently working on:

  • Testing across different pairs (GBPUSD, USDJPY, etc.)

  • Extending the backtest to 1+ years

  • Adding dynamic SL/TP based on ATR

  • Including trend filters like 200 SMA

I’ll post the updated results and equity curves soon — happy to share the .set file too if you’re interested 👍

 

How to Trade Using RSI - summary post 

For information.

 
anuj71 #:


Interesting. Keep updated about your performance.


You can combine RSI + BB (or) RSI + MA. but if RSI alone giving you great profit, then no need to combine with any

Thanks a lot — I really appreciate the support! 🙏

You’re right — if something simple like RSI alone is showing potential, I want to understand its limits first before layering on other filters. That way, I know what each piece is contributing.

I’m currently running a few comparisons like:

  • RSI + 200 MA trend filter

  • RSI + Bollinger Band bounce

  • RSI slope and cross combinations

I’ll definitely post updates once I get some results. If you have any favorite setups involving RSI + BB or RSI + MA, I’d love to hear about them!

 
Ramazan Erdogan #:
You’re right — if something simple like RSI alone is showing potential, I want to understand its limits first before layering on other filters. That way, I know what each piece is contributing.

Let me write a simple condition for you. Just with RSI

For Buy :

double RSI_Value = iRSI(Symbol(), PERIOD_CURRENT, 14, PRICE_HIGH, 0);
double RSI_ValueS1 = iRSI(Symbol(), PERIOD_CURRENT, 14, PRICE_HIGH, 1);
double RSI_ValueS2 = iRSI(Symbol(), PERIOD_CURRENT, 14, PRICE_HIGH, 2);
double RSI_ValueS3 = iRSI(Symbol(), PERIOD_CURRENT, 14, PRICE_HIGH, 3);
bool BullGreen_S1 = iClose(Symbol(), PERIOD_CURRENT, 1) > iOpen(Symbol(), PERIOD_CURRENT, 1);
double AboveLevel = 70;

if((RSI_ValueS1 > AboveLevel || RSI_ValueS2 > AboveLevel  || RSI_ValueS3 > AboveLevel) && RSI_Value < AboveLevel && !BullGreen_S1)
//Buy

For Sell :

double RSI_Value = iRSI(Symbol(), PERIOD_CURRENT, 14, PRICE_LOW, 0);
double RSI_ValueS1 = iRSI(Symbol(), PERIOD_CURRENT, 14, PRICE_LOW, 1);
double RSI_ValueS2 = iRSI(Symbol(), PERIOD_CURRENT, 14, PRICE_LOW, 2);
double RSI_ValueS3 = iRSI(Symbol(), PERIOD_CURRENT, 14, PRICE_LOW, 3);
bool BullGreen_S1 = iClose(Symbol(), PERIOD_CURRENT, 1) > iOpen(Symbol(), PERIOD_CURRENT, 1);
double BelowLevel = 30;

if((RSI_ValueS1 < BelowLevel || RSI_ValueS2 < BelowLevel || RSI_ValueS3 < BelowLevel ) && RSI_Value > BelowLevel && BullGreen_S1)
//Sell


Reason :

You just do not open a trade when RSI touch OB or OS. Instead you wait for RSI to go at certain level and reverse back and also checking the candle.


 
Ramazan Erdogan #:
RSI + BB or RSI + MA


RSI default settings, BB default settings, EMA 200


RSI + BB (Trend Reversal)


BB touch Resistance Line && RSI touch Overbought && Candle is showing reversal (bear candle) => SELL Trade

BB touch Support Line && RSI touch Oversold && Candle is showing reversal (Bull candle) => BUY Trade


RSI + BB (Along with Trend)


BB touch Resistance Line && RSI touch Overbought && Candle is showing reversal (Bull candle) => Take BUY Trade

BB touch Support Line && RSI touch Oversold && Candle is showing reversal (Bear candle) => SELL Trade


RSI + MA (Trend Reversal)


RSI > OB && Market Price < 200 EMA && Bear candle = SELL Trade

RSI < OS && Market Price > 200 EMA && Bull Candle = BUY Trade


RSI + MA (Along with Reversal)


RSI > OB && Market Price > 200 EMA && Bull candle = BUY Trade

RSI < OS && Market Price < 200 EMA && Bear Candle = SELL Trade

 
Ramazan Erdogan #:

One more advice, Use https://www.mql5.com/en/docs/calendar


Avoid trading 120 min before news event and after 180 min. Because during news time technical analysis won't work same.

 
Yashar Seyyedin #:
Not really. The insight is all I can talk about. I mean the trader owns the edge and not the system. 
The alerting system can use many adaptive underlying tools anyway. I cannot name anything as there are too many of them available to talk about. One has to do their own research and test every single one. You cannot really know before you test personally.

You’re absolutely right: the edge belongs to the trader, not the tool. Systems are just lenses they can help us see things, but it’s the decision-maker who ultimately determines the outcome.

I’m still very early in this journey, so I’m trying to build some structure through rules and testing. But I totally see the long-term value in developing insight through experience and screen time.

I guess my approach right now is to let the system handle the mechanics, so I can study what it's doing and why. Over time, I hope to develop the kind of discretion you're talking about where entries aren’t just based on a condition, but on understanding.

Appreciate the reminder to keep testing everything myself. That’s the most honest and valuable advice, really.

 
Ramazan Erdogan #:
I guess my approach right now is to let the system handle the mechanics, so I can study what it's doing and why.
Keep on the great work and update us with progress. Thanks 
 
Sergey Golubev #:

How to Trade Using RSI - summary post 

For information.

Thanks for the pointer just checked out post #129 and it's a great summary.
Appreciate you sharing it here. I’m trying to go through as many of those resources as possible while testing different approaches.

If you’ve personally applied any of those ideas from #129 into a live or demo strategy, I’d be really curious to hear how it performed for you!

 

Heh, I was also trying to figure out how effective this could be a few months ago.

I haven't really gotten anywhere with it. It's not a reliable solution on it's own, I don't think.