Errores, fallos, preguntas - página 2596

 

Error de generación de transacciones (estructura MqlTradeTransaction).

Error de repetición: Enviar la primera orden de mercado con el volumen de 1 lote a Largo, enviar la segunda orden de mercado con el volumen de 2 lotes a Corto.

Error al rellenar el campo de la estructura MqlTradeTransaction->position. El campo se rellena con el ticket de la posición anterior. Cuando se continúa operando con las órdenes que invierten la posición, el campo dado muestra un extraño batiburrillo de las entradas de la posición antigua y la nueva.

Lo he comprobado en la Bolsa de Moscú con los brokers: Otkritie y BKS. En el probador también se reproduce el error.

Pantallas de transacciones que ilustran el error en estas transacciones:

Otkrytie:

Abrir

BCS:

BCS

Probador:

Probador

 
Francuz:

Error de generación de transacciones (estructura MqlTradeTransaction).

Error de repetición: Enviar la primera orden de mercado con el volumen de 1 lote a Largo, enviar la segunda orden de mercado con el volumen de 2 lotes a Corto.

Error al rellenar el campo de la estructura MqlTradeTransaction->position. El campo se rellena con el ticket de la posición anterior. Cuando se continúa operando con las órdenes que invierten la posición, el campo dado muestra un extraño batiburrillo de las entradas de la posición antigua y la nueva.

Lo he comprobado en la Bolsa de Moscú con los brokers: Otkritie y BKS. El error se reproduce también en el probador.

Pantallas de transacciones que ilustran el error en estas transacciones:

Otkrytie:

BCS:

Probador:


Sólo hay una posición en el modo de comercio "neto". Durante su vida, su identificador (id de posición) no cambia. El identificador es igual al ticket de la primera orden con la que se abrió la posición.

 
Soy consciente de ello. Pero al "voltear", se cierra la posición anterior y se abre una nueva posición (con un nuevo billete) en sentido contrario. Lo que se refleja en estas transacciones con un error.
 
Francuz:
Soy consciente de ello. Pero cuando se "voltea" una posición anterior se cierra, y se abre una nueva posición (con un nuevo ticker) en la dirección opuesta. Que en estas transacciones se refleja con un error.

No se cierra. Se puede pasar por encima en el Terminal durante meses y el Terminal asumirá que sólo hubo una posición. Y el historial de operaciones mostrará sólo una entrada por meses en el modo de visualización de posiciones cerradas.

 
Buenas tardes. Quiero depurar mi EA en datos históricos. Pero el depurador ejecuta MovingAverage.ex5, no mi EA. ¿Cómo puedo solucionarlo? La depuración en datos reales ejecutará mi EA.
 
Azamat Mullayanov:
Buen día. Quiero hacer la depuración de mi EA en datos históricos. Pero le gusta ejecutar MovingAverage.ex5, no mi EA. Quiero depurar en datos reales y que se ejecute mi EA.

Describa paso a paso (con capturas de pantalla) exactamente lo que hace y dónde hace clic.

 
Azamat Mullayanov:
Por la tarde. Quiero hacer la depuración de mi EA en los datos históricos. Pero el depurador ejecuta MovingAverage.ex5, no mi EA. Quiero depurar en datos reales y no es mi EA.

El asesor puede no estar en la carpeta de expertos. En la carpeta Scripts, por ejemplo.

 
Vladimir Karputov:

Describa paso a paso (con capturas de pantalla) exactamente lo que hace y dónde hace clic.

Lo siento. Me pasé medio día curioseando, pero en cuanto lo publiqué en el foro, empezó a funcionar enseguida. Lo he guardado en el directorio \MQL5\Experts\My y el depurador ha empezado a funcionar correctamente. Lo he copiado de nuevo en \MQL5\Experts\My - el depurador funciona.
 
fxsaber:

No se cierra. Se puede pasar por encima en el Terminal durante meses y el Terminal asumirá que sólo hubo una posición. Y el historial de operaciones sólo mostrará una entrada por meses en el modo de visualización de posiciones cerradas.

Te equivocas. Cuando se voltea una posición, el billete de la posición activa se cambia por otro. Y el terminal lo muestra correctamente. Pero en las transacciones da información errónea.

 
Francuz:

Te equivocas. Cuando se invierte una posición, el ticket de la posición activa cambia a la otra. Y el terminal lo muestra correctamente. Pero da información errónea en las transacciones.

POSITION_TICKET cambia, POSITION_ID no.