Trade hour filter isnt working

 

Saludos a todos, espero que estén bien.


Estoy haciendo un EA y al hacer el backtest veo que hay horas y día de la semana y quiero que no opere en esos horarios


Hice un codigo para que no opere si la hora es menor a las 13 y si los día de la semana son Jueves y Viernes

    //========= INICIALIZANDO HORA ==========//
      MqlDateTime fecha;
      datetime tiempo = TimeCurrent();
      TimeToStruct(tiempo,fecha);
      
      int hora = fecha.hour;
      int dia_semana = fecha.day_of_week; 
   //=======================================//

//========== VENTAS ===========================//
               if((cierre_2 > ma_rapida && cierre_1 < ma_rapida) || 
                  (cierre_2 > cierre_1 && cierre_2 < ma_rapida && cierre_1 < ma_rapida) && 
                  rsi <= nivel_sobreventa &&
                  (hora >= 13 && (dia_semana != 4 && dia_semana != 5)))// CONDICION HORARIO
                  {
                    trade.Sell(lotaje,simbolo,bid,bid+(pips_sl_venta*_Point),bid-(pips_tp_venta*_Point));
                    intervalo_trade = false;
                    posicion_precio_entrada = bid;
                  }
//===========================================//

Pero al hacer backtest despues de implementarlo me sale igual, sigue trabajando en esas horas.


Cómo hago para que no opere en las horas y días perdedoras?

 
Hello, thank you for reaching out. This forum primarily operates in English, so it would be appreciated if you could kindly translate your message to English for everyone's understanding and participation. We value diversity and respect for all members here. Thank you for your cooperation.
 
  1. Please post only in English on this part of the forums.
              Use the automatic translation tool if needed. (2013)
              Use simple language structure when using mechanical translation.
              Forum rules and recommendations - General - MQL5 programming forum (2023)

  2.                     trade.Sell(lotaje,simbolo,bid,bid+(pips_sl_venta*_Point),bid-(pips_tp_venta*_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)

Reason: