Errores, fallos, preguntas - página 2410
![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
Nuh-uh :)
DE ACUERDO. Ilumínanos. Qué error en el código, o qué código, puede cerrar una posición en el probador al precio de otro instrumento. Estoy muy, muy interesado.
El código tiene varios miles de líneas. No tiene sentido añadirlo. No hay variables estáticas. Hay clases. En cualquier caso es un error del probador.
Ahí está su error.
En el modo de depuración, ejecute una comprobación antes de enviar la orden de comercio. Mira el símbolo y los precios. Y prueba al menos en el modo "Todos los ticks".
BIEN. Ilumínanos. Qué error en el código, o qué código, podría cerrar una posición en el probador al precio de otro instrumento. Tengo mucha, mucha curiosidad.
Fácilmente. Depende directamente de la esclavitud del código. Lo hice yo mismo :). Sistema de control de la inicialización de las clases de caracteres mal planteado. Y además hay variables estáticas.
De todos modos, no tiene sentido hablar más allá sin el código escrito por la persona a la que se le pregunta.
Fácilmente. Es una correlación directa con la curvatura del código. Yo mismo lo he hecho :). Sistema de control de la inicialización de la clase de caracteres insuficientemente elaborado. Y además hay variables estáticas.
Así que no tiene sentido seguir hablando sin preguntarte por el código.
¿Puede mostrarnos un ejemplo de código? ¿Cómo puedo cerrar una posición en EURUSD a precio de GPBUSD?
Si es así, no será un problema para usted. Se lo agradecería mucho.
¿Puede mostrarme un código de ejemplo? ¿Cómo puedo cerrar una posición en EURUSD a precio de GPBUSD?
Si es así, no habrá ningún problema para usted. Le estaré muy agradecido.
Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias
Bichos, errores, preguntas
Vladimir Karputov, 2019.03.24 05:58
No hay problema. La dependencia de la curvatura del código. Yo también cometí esos errores :). Sistema de control de la inicialización de las clases de caracteres insuficientemente estudiado. Y además variables estáticas.
De todos modos, no tiene sentido hablar más allá sin el código escrito por la persona a la que se le pregunta.
No hay ningún error en el modo de depuración y visualización. La posición no se cierra mediante una orden comercial, sino mediante un stop loss:
Muy posiblemente un error lógico en el código, lo más probable aquí, voy a mirar en él, por supuesto, no sé cómo todavía - no hay error en el modo de depuración:
consigue establecer un stop para una orden en 1,60704, 3000 pips por encima del precio actual de la posición.
En este caso, el probador debería haber prohibido el ajuste de parada.
Aquí estoy mirando el registro:
la orden de cambiar el stop se envía para gpbusd, la línea resaltada, pero en realidad se ejecuta para eurusd- a continuación.
aquí está el código para establecer la parada
donde
OrderSend( req, res )
función nativa de mql, no sobrecargada.
es decir, aquí
dice que pone un stop para el gbpusd y debería ser así, pero en realidad
OrderSend( req, res )
lo pone para el eurusd
Aquí estoy mirando el registro:
la orden de cambiar el stop se envía para gpbusd, la línea resaltada, pero en realidad se ejecuta para eurusd, la siguiente.
hay dos errores.
№1. Tu error. En alguna parte del código. Usted establece un SL para una posición en EURUSD utilizando el precio de GBPUSD. El terminal no debería tener nada en contra.
№2. Error en el terminal. Si este SL se activa a un precio que no existe en ese momento en el flujo del EURUSD, utilizando el precio del GBPUSD.
Aquí estoy mirando el registro:
la orden de cambiar el stop se envía para gpbusd, la línea resaltada, pero en realidad se ejecuta para eurusd- a continuación.
aquí está el código para establecer la parada
donde
función nativa de mql, no sobrecargada.
https://www.mql5.com/ru/docs/constants/structures/mqltraderequest
Aparentemente, al enviar una solicitud de modificación, el campo de posición tiene prioridad sobre el símbolo. Imprimirreq.position