Compi, lo que tú digas, pero si te ha funcionado en algún sitio, es porque lo habrás puesto en un
broker que sea Market Maker (en los cuales se suele poder mandar el SL y el Tp junto con la orden). Si lo pones en un broker ECN eso NO FUNCIONARA en genral (aunque actualmente hay algunos que aunque sean ECN ya permiten enviar SL y TP con la orden).
También, tal como te dije, por seguridad, hay que normalizar siempre los valores del SL y el TP con los digitos que tenga el par donde tengas el EA, o si no, tendrás problemas, y muchas veces te devolverá ,
Error 130: Invalid Stops.
Respecto a chequear si tienes órdenes abiertas, piensa que aparte de este EA puedes tener otros EAs funcionando en esa misma plataforma, así como órdenes manuales, etc etc etc, por lo que tendrías que buscar por Símbolo, por Magic Number, y por tipo de orden. Si solo pides que las OrdersTotal() sean 0, en cuanto tengas alguna abierta (aunque sea en otro par, o abierta por otro EA, o sea manual, lo que sea, en cuanto haya una sola orden abierta en la plataforma, aunque no tenga nada que ver con ese EA, ya no te abrirá otra).
Puedes consultarle a cualquier programador del mundo. Yo solo quería echar una mano, pero vamos, que si crees que está todo correcto, tú mismo, jeje.
Saludos y un abrazo.