No se ejecutan operaciones en el backtesting de este codigo

 

Buenas a todos.

Escrito por aquí a ver si alguien es capaz de echarme una mano, llevo unos días dándole vueltas y no consigo saber cual es el problema. A la hora de compilar no tengo ningún error ni advertencia, simplemente a la hora de comprobar la estrategia en el backtesting directamente no abre ninguna operación y no soy capaz de entender por qué. Creo que el problema está en la parte de apertura de las operaciones, concretamente a la hora de ejecutarlas al cierre de la vela actual, pero como no tengo ni idea ya voy a colgarlo aquí a ver si alguien pudiera echarme una mano, lo agradecería de corazón. Por cierto, la parte de CTrade trade se encuentra ejecutada en otra parte del código o sea que no hay problema por ahí. Estoy usando la función CopyClose() para tomar el valor del cierre de las 2 velas anteriores partiendo de la vela actual y reajustandolo al Array Close, pues lo único que quiero es que cuando el precio cierre entre dos niveles preestablecidos, se ejecute una operación de compra o de venta. Si alguien puede decirme cual es el problema sería de gran ayuda.

   CopyClose(_Symbol,PERIOD_CURRENT,0,2,Close);

//--- Entry conditions     
   if (PositionSelect(_Symbol) == false) {
      if (up1 <= Close[0] && up2 >= Close[0]) {
         trade.Sell(DefaultQuantity,_Symbol,Close[0]);
      }
      else if (low1 >= Close[0] && Close[0] >= low2) {
         trade.Buy(DefaultQuantity, _Symbol, Close[0]);
      }
   }

Razón de la queja: