MARSI- ")EA is a beginner-friendly Expert Advisor (EA) that combines the logic of the Relative Strength Index (RSI) and a Simple Moving Average (SMA) to identify and execute trading signals on financial markets like XAUUSD (Gold).

The EA is built to demonstrate:

  • Dynamic lot sizing based on account risk

  • RSI-based overbought/oversold entry conditions

  • Trend filtering using a Moving Average

  • SL and TP levels adjusted to symbol tick precision

This EA is especially useful for learners who are experimenting with technical strategies and want to understand how indicator handles, dynamic risk, and broker digit differences affect trading logic.


Trading Logic

The EA operates with the following entry rules:

  • Buy when:

    • The current price is above the moving average (bullish)

    • RSI is below the oversold threshold (suggesting price will rise)

  • Sell when:

    • Price is below the moving average (bearish)

    • RSI is above the overbought threshold (suggesting price will fall)

  • Stop Loss and Take Profit are configured using _Point , adjusted based on the broker’s pricing precision ( _Digits ).


External Input Parameters

Variable

Description

maPeriod

Period used for Simple Moving Average

rsiPeriod

Period used for Relative Strength Index

rsiOverbought

RSI threshold above which the market is considered overbought (sell trigger)

rsiOversold

RSI threshold below which the market is considered oversold (buy trigger)

riskPercent

Percentage of balance to risk per trade

stopLoss

Stop Loss distance in points

takeProfit

Take Profit distance in points

slippage

Maximum allowed slippage in points


Recommended Usage

  • Symbol: XAUUSD (Gold)

  • Timeframe: M15 or H1

  • Broker: Any broker with proper tick data (test across both 2/3 and 4/5 digit brokers for consistency)

  • Backtest Range: 3–6 months recommended

  • Conditions: Ensure tick data is available for reliable RSI/MA values


Additional Notes

  • The function PipSize() helps normalize pip values across brokers with different _Digits .

  • The EA automatically calculates a lot size based on the current account balance and defined risk.

  • Code is modular and easily extendable with trailing stops, news filters, or other conditions.

  • This Project is an ongoing one and feedbacks are welcome!