expert not return error but not go

 

hi anyone know  why this expert not  work and not give error ?


int isPositionOpen = 0; // Variabile per tenere traccia dello stato della posizione
int entryArrow, exitArrow; // ID degli oggetti grafici

void OnTick()
{
    if(DayOfWeek() == MONDAY && Hour() == 23 && Minute() == 58)
    {
        // Calcola l'RSI a 2 periodi
        double Price[];
        ArrayResize(Price, 1);
        Price[0] = Close[0];
        double RSI2 = iRSI(NULL, 0, 2, PRICE_CLOSE, 0);

        if(RSI2 < 30 && isPositionOpen == 0)
        {
            OrderSend(Symbol(), OP_BUY, 1, Ask, 0, 0, 0, "Entered long position", 0, 0, Green);
            isPositionOpen = 1; // Imposta lo stato della posizione su aperta
            Print("Entered long position");

            // Creazione dell'oggetto grafico per segnalare l'ingresso
            entryArrow = ObjectsCreate(0, "EntryArrow", OBJ_ARROW, 0, Time[0], Low[0] - (Point * 10));
            ObjectSetInteger(0, "EntryArrow", OBJPROP_ARROWCODE, SYMBOL_ARROWUP);
        }
    }

    if(DayOfWeek() == WEDNESDAY && Hour() == 0 && Minute() == 5 && isPositionOpen == 1)
    {
        OrderClose(OrderTicket(), OrderLots(), Bid, 0, Red);
        isPositionOpen = 0; // Imposta lo stato della posizione su chiusa
        Print("Exited long position");

        // Creazione dell'oggetto grafico per segnalare l'uscita
        exitArrow = ObjectsCreate(0, "ExitArrow", OBJ_ARROW, 0, Time[0], High[0] + (Point * 10));
        ObjectSetInteger(0, "ExitArrow", OBJPROP_ARROWCODE, SYMBOL_ARROWDOWN);
    }
}

void OnDeinit(const int reason)
{
    // Rimuove gli oggetti grafici al termine dello script
    ObjectsDelete(0, "EntryArrow");
    ObjectsDelete(0, "ExitArrow");
}
 
    if(DayOfWeek() == MONDAY && Hour() == 23 && Minute() == 58)

What if there are no ticks during a specific candle period? There can be minutes between ticks during the Asian session

Reason: