Te doy mi opinion con mi poco conocimineto de programacion en mql4, aunque creo que tu problema no esta en la programacion, viendo las variables veo que el SL esta a 30 puntos si estas con un broker de 5 digitos, lo que es posible que el SL no se este ejecutando porque esta muy cerca del precio de entrada.
Esto lo puedes verificar en la pestaña diario y expertos ahi el bicho te debe de informar de los errores que se den en su ejecucion.
Otra situacion puede ser que estes con un broker ECN, por lo que en estos no es permitido poner el SL con la orden, esta debes de modificarla despues de aceptada la compra o venta, con MODIFYORDER.
Con lo de que que el bicho hace lo contrario y verificarlo, la mejor manera que encontre en su momento es hacer un backtest en modo visual, le bajas la velocidad a una que te permita ver las entradas y salidas, colocoas el indicador o indicadores que utiliza el bicho y confirmas de manera visual los datos del o los indicadores con la logica si de esta manera hace lo contrario esta algo mal en la programacion, si ocurre que algunas veces hace lo que deba de hacer y otras no, pues el problema es la logica, Recuerda los indicadores van retrasados y los valores de este normalmente no coinciden con lo que esta haciendo el precio, ahi sera necesario meter un filtro.
Saludos y exitos.Foro de Forex Trading United