![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Hola. Definitivamente algo que ver con la precisión de los dígitos para StopLoss y TakeProfit. Un valor de cero para ambos permite Ordersend para enviar la orden a través de mientras que cualquier valor hasta ahora para StopLoss y TakeProfit trae el error # 130. Mi corredor FXCM utiliza pips fraccionarios, como un ejemplo de valor GU podría ser 1,54535 y un ejemplo de valor GY podría ser 132,155.
Creo que puede haber un problema con Normalizedouble como cuando se aplica a un valor, digamos el valor GU arriba, sale como: 1.54535000 y no 1.54535 - claramente no se ajusta a la precisión correcta. Te mantendré al tanto. Saludos
Pues bien, después de arrancarme el poco pelo que me queda he decidido de nuevo comprobar el nivel de stop loss de mi broker. La función:
StopLoss=MarketInfo(Symbol(),MODE_STOPLEVEL);
devolvió un valor de CERO para StopLoss. Esto parecía causar valores para StopLoss y TakeProfit en OrderSend distintos de cero para devolver el error #130. Encontré una solución emitiendo un OrderSend inicial con StopLoss y TakeProfit a cero, seguido de un OrderModify en el que los valores de StopLoss y TakeProfit fueron "modificados" de cero a los valores requeridos. No es particularmente elegante, pero parece hacer el trabajo.
Muchas gracias chicos por vuestra ayuda y espero que esto ayude a alguien que tenga problemas similares. Saludos