On compiling :
//+------------------------------------------------------------------+
//|                                       MT5-Scalper-EA-FINAL.mq5   |
//|              Safe-stop, spread-filtered, 100-USD cent scalper    |
//+------------------------------------------------------------------+
#property copyright "2025"
#property version   "2.10"
#property description "Scalps 0.01 lot with 20-pip TP/SL and spread filter"
#property description "Designed for nano-cent account (1 000 US cents ≈ $10)"

#include <Trade\Trade.mqh>

//---- INPUTS
input int  FastMA        =  5;      // Fast EMA period
input int  SlowMA        = 15;      // Slow EMA period
input int  Slippage      =  3;      // Allowed slippage (points)
input int  TP_Pips       = 20;      // Take-profit (pips)
input int  SL_Pips       = 20;      // Stop-loss   (pips)
input int  MaxSpread_Pips=  2;      // Max allowed spread (pips)
input int  MagicNumber   = 123456;

//---- GLOBALS
CTrade trade;
datetime last_bar = 0;
//+------------------------------------------------------------------+
int OnInit()
  {
   trade.SetExpertMagicNumber(MagicNumber);
   trade.SetDeviationInPoints(Slippage);

   Print("EA started on ", AccountInfoString(ACCOUNT_CURRENCY),
         " balance ", AccountInfoDouble(ACCOUNT_BALANCE));
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnTick()
  {
   MqlRates rt[];
   if(CopyRates(_Symbol,_Period,0,3,rt) < 3)
      return;

   // run once per bar
   if(rt[1].time == last_bar)
      return;
   last_bar = rt[1].time;

   // --- spread filter ---
   double spread = SymbolInfoDouble(_Symbol,SYMBOL_ASK) -
                   SymbolInfoDouble(_Symbol,SYMBOL_BID);
   if(spread > MaxSpread_Pips * _Point)
      return;

   // --- broker minimum stop distance ---
   int    stopLevelPips = (int)SymbolInfoInteger(_Symbol,SYMBOL_TRADE_STOPS_LEVEL);
   double minDistPts    = stopLevelPips * _Point;

   // --- TP / SL in points ---
   double tpPts = MathMax(TP_Pips * _Point, minDistPts);
   double slPts = MathMax(SL_Pips * _Point, minDistPts);

   // --- MA values (FIXED 6-parameter signature) ---
   //double emaFast = iMA(_Symbol,_Period,FastMA,0,MODE_EMA,PRICE_CLOSE,1);
   //double emaSlow = iMA(_Symbol,_Period,SlowMA,0,MODE_EMA,PRICE_CLOSE,1);
   
   // --- correct 7-parameter iMA calls ---
   double emaFast = iMA(_Symbol, _Period, FastMA, 0, MODE_EMA, PRICE_CLOSE, 1);
   double emaSlow = iMA(_Symbol, _Period, SlowMA, 0, MODE_EMA, PRICE_CLOSE, 1);

   double Ask = SymbolInfoDouble(_Symbol,SYMBOL_ASK);
   double Bid = SymbolInfoDouble(_Symbol,SYMBOL_BID);

   bool buy  = emaFast > emaSlow;
   bool sell = emaFast < emaSlow;

   // --- position management ---
   if(PositionsTotal()==0)
     {
      if(buy)
         trade.Buy(0.01,NULL,Ask,Ask-slPts,Ask+tpPts);
      else
      if(sell)
         trade.Sell(0.01,NULL,Bid,Bid+slPts,Bid-tpPts);
     }
  }
//+------------------------------------------------------------------+


i get :
'MT5-Scalper-EA.mq5'			0
Trade.mqh			
Object.mqh			
StdLibErr.mqh			
OrderInfo.mqh			
HistoryOrderInfo.mqh			
PositionInfo.mqh			
DealInfo.mqh			
'iMA' - wrong parameters count	MT5-Scalper-EA.mq5	147	21
   built-in: int iMA(const string,ENUM_TIMEFRAMES,int,int,ENUM_MA_METHOD,int)	MT5-Scalper-EA.mq5	147	21
'iMA' - wrong parameters count	MT5-Scalper-EA.mq5	148	21
   built-in: int iMA(const string,ENUM_TIMEFRAMES,int,int,ENUM_MA_METHOD,int)	MT5-Scalper-EA.mq5	148	21
2 errors, 0 warnings		2	0