What is wrong with my code I keep recejving errors

 
 //+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   // Initialization of indicators
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   // Deinitialization of indicators
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   // Variables for indicators
   double maShort, maLong;
   double upperBand, middleBand, lowerBand;
   double rsi;
   int ticket;

   // Settings
   int maShortPeriod = 5;
   int maLongPeriod = 10;
   int bollingerPeriod = 20;
   double bollingerDeviation = 2.0;
   int rsiPeriod = 14;

   // Risk Management Settings
   double lotSize = 0.02;      // Fixed lot size
   double stopLossPips = 20;   // Stop loss in pips
   double takeProfitPips = 20; // Take profit in pips

   // Calculate Moving Averages
   maShort = iMA(_Symbol, 0, maShortPeriod, 0, MODE_SMA, PRICE_CLOSE, 0);
   maLong = iMA(_Symbol, 0, maLongPeriod, 0, MODE_SMA, PRICE_CLOSE, 0);

   // Calculate Bollinger Bands
   upperBand = iBands(_Symbol, 0, bollingerPeriod, bollingerDeviation, 0, PRICE_CLOSE, BAND_UPPER, 0);
   middleBand = iBands(_Symbol, 0, bollingerPeriod, bollingerDeviation, 0, PRICE_CLOSE, BAND_MAIN, 0);
   lowerBand = iBands(_Symbol, 0, bollingerPeriod, bollingerDeviation, 0, PRICE_CLOSE, BAND_LOWER, 0);

   // Calculate RSI
   rsi = iRSI(_Symbol, 0, rsiPeriod, PRICE_CLOSE, 0);

   // Buy condition: MA cross, price below lower Bollinger Band, RSI below 30
   if(maShort > maLong && Close[1] < lowerBand && rsi < 30)
     {
      // Open Buy order
      if (OrdersTotal() == 0)  // Ensure no other open orders
        {
         double stopLossLevel = Bid - stopLossPips * _Point;
         double takeProfitLevel = Bid + takeProfitPips * _Point;

         ticket = OrderSend(_Symbol, OP_BUY, lotSize, Ask, 3, stopLossLevel, takeProfitLevel, "Buy order", 0, 0, clrGreen);
         if(ticket < 0)
           {
            Print("Error opening order: ", GetLastError());
           }
         else
           {
            Print("Buy order opened successfully");
           }
        }
     }

   // Sell condition: MA cross, price above upper Bollinger Band, RSI above 70
   if(maShort < maLong && Close[1] > upperBand && rsi > 70)
     {
      // Open Sell order
      if (OrdersTotal() == 0)  // Ensure no other open orders
        {
         double stopLossLevel = Ask + stopLossPips * _Point;
         double takeProfitLevel = Ask - takeProfitPips * _Point;

         ticket = OrderSend(_Symbol, OP_SELL, lotSize, Bid, 3, stopLossLevel, takeProfitLevel, "Sell order", 0, 0, clrRed);
         if(ticket < 0)
           {
            Print("Error opening order: ", GetLastError());
           }
         else
           {
            Print("Sell order opened successfully");
           }
        }
     }
  }
//+------------------------------------------------------------------+
 
Benjamin Afful:
//+------------------------------------------------------------------+
//| Expert initialization function                                   

Use the code button </> or alt-s. To post code

What errors? 
 
Benjamin Afful:

If this is for MT5 then iMA, iBands etc. return a handle to use with copybuffer and not the value of a buffer.

 
Someone gave this great tip before - one of the moderators, he said press the F1 key after highlighting a function name. The documentation presents you with what you need
 
  1. Benjamin Afful:
       maShort = iMA(_Symbol, 0, maShortPeriod, 0, MODE_SMA, PRICE_CLOSE, 0);
       maLong = iMA(_Symbol, 0, maLongPeriod, 0, MODE_SMA, PRICE_CLOSE, 0);
    
       // Calculate Bollinger Bands
       upperBand = iBands(_Symbol, 0, bollingerPeriod, bollingerDeviation, 0, PRICE_CLOSE, BAND_UPPER, 0);
       middleBand = iBands(_Symbol, 0, bollingerPeriod, bollingerDeviation, 0, PRICE_CLOSE, BAND_MAIN, 0);
       lowerBand = iBands(_Symbol, 0, bollingerPeriod, bollingerDeviation, 0, PRICE_CLOSE, BAND_LOWER, 0);
    
             ticket = OrderSend(_Symbol, OP_SELL, lotSize, Bid, 3, stopLossLevel, takeProfitLevel, "Sell order", 0, 0, clrRed);
    

    Why did you post your MT4 question in the MT5 General section instead of the MQL4 section, (bottom of the Root page)?
              General rules and best pratices of the Forum. - General - MQL5 programming forum? (2017)
    Next time, post in the correct place. I have moved this thread.

  2.          double stopLossLevel = Bid - stopLossPips * _Point;
             double takeProfitLevel = Bid + takeProfitPips * _Point;
    

    You buy at the Ask and sell at the Bid. Pending Buy Stop orders become market orders when hit by the Ask.

    1. Your buy order's TP/SL (or Sell Stop's/Sell Limit's entry) are triggered when the Bid / OrderClosePrice reaches it. Using Ask±n, makes your SL shorter and your TP longer, by the spread. Don't you want the specified amount used in either direction?

    2. Your sell order's TP/SL (or Buy Stop's/Buy Limit's entry) will be triggered when the Ask / OrderClosePrice reaches it. To trigger close at a specific Bid price, add the average spread.
                MODE_SPREAD (Paul) - MQL4 programming forum - Page 3 #25

    3. The charts show Bid prices only. Turn on the Ask line to see how big the spread is (Tools → Options (control+O) → charts → Show ask line.)

      Most brokers with variable spreads widen considerably at end of day (5 PM ET) ± 30 minutes.
      My GBPJPY shows average spread = 26 points, average maximum spread = 134.
      My EURCHF shows average spread = 18 points, average maximum spread = 106.
      (your broker will be similar).
                Is it reasonable to have such a huge spreads (20 PIP spreads) in EURCHF? - General - MQL5 programming forum (2022)

  3. Benjamin Afful: What is wrong with my code I keep recejving errors

    What errors?
              Be precise and informative about your problem