Errores, fallos, preguntas - página 399

 

papaklass, ¡gracias por la respuesta!

Ejemplo (probablemente me repita):

Lote mínimo = 1,0; paso de lote mínimo = 0,1. La cotización empieza a caer, el operador intenta cerrar una posición larga de 10,1 lotes. En un mercado de noticias, la orden ORDER_FILLING_AON puede no ser ejecutada. Es más razonable utilizar el RDER_FILLING_CANCEL. La operación de venta opuesta se ejecuta parcialmente (en 10,0 lotes). La parte restante de la posición larga (0,1 lotes) sigue registrando pérdidas. No se puede cerrar porque el lote mínimo de la operación = 1.0 lote. Es decir, para salir completamente del mercado, el operador debe:

1. Para incurrir en pérdidas evidentes comprando al menos 1.0 lote.

2. Intente ejecutar una operación de venta de 1.1 lote con el parámetro ORDER_FILLING_AON.

Así que, en términos de sentido común, introducir ORDER_FILLING_CANCEL yORDER_FILLING_RETURN impone un requisito estricto para los valores del lote mínimo y el incremento del lote mínimo, deben ser iguales.

Otro ejemplo.

Hay una posición larga con 1.0 lote y el SL/TP está fijado. El operador trata de realizar una operación inversa (venta) en un volumen de 1,1 lotes con un SL/TP especificado (para la venta).

Supongamos que dicho volumen está disponible en el mercado y la posición resultante sería - volumen de venta de 0,1 lotes con un SL/TP especificado (para la venta).

Pero no existe tal volumen y tenemos ORDER_FILLING_CANCEL? Obtendremos un error sobre una SL/TP errónea. Por lo tanto, digamos modestamente, la sabiduría es enviar SL/TP = 0 en las operaciones cruzadas con el parámetro ORDER_FILLING_CANCEL.

Sé que muchos programadores de MQL5 son gente inteligente, pero creo que sería bueno conseguir un artículo de los desarrolladores explicando el algoritmo de verificación de la corrección de la colocación de órdenes.

Repetiré mi pregunta. ¿Existe ese artículo? Si no es así, ¿espera que aparezca pronto?

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
papaklass:

Cuando se ejecuta una orden, el volumen de la posición restante no puede ser inferior al mínimo.

¿Cómo puedes estar tan seguro?

En un post anterior se daba un ejemplo (el primero) de un caso en el que es posible esa situación.

O bien el servidor tiene un característica que le impide cerrar parcialmente una orden para que el resto sea inferior al lote mínimo. ¿Dónde está escrito esto explícitamente en la documentación?

 
voix_kas:

¿Cómo puedes estar tan seguro?

En un post anterior se daba un ejemplo (el primero) de un caso en el que es posible esa situación.

O bien hay una regla especial en el servidor que no permite cerrar las órdenes parcialmente. la característica O bien, existe un código especial que impide que una orden se cierre parcialmente para mantener el saldo por debajo del lote mínimo. ¿Dónde está escrito esto explícitamente en la documentación?

Esto es exactamente lo que se escribe en el servidor (como último recurso). Quizás el terminal también reaccione a tiempo para evitar una operación evidentemente errónea.

Por todas las reglas lógicas es imposible hacer la transacción en el volumen menos que el mínimo y tal transacción que cambiará/expondrá el volumen de un artículo al que es menos que el lote mínimo.

 
Interesting:

Esto es exactamente lo que se especifica en el servidor (como autoridad final). Quizás el terminal también reaccione a tiempo para evitar una operación evidentemente errónea.

Según todas las reglas lógicas, es imposible ejecutar una operación con un volumen inferior al lote mínimo y una operación de este tipo que cambie/exponga el volumen de la posición a uno inferior al lote mínimo.

¿Qué y dónde está escrito exactamente "en el servidor..."?

Hay una cosa mala en sus mensajes: la especulación. Perdón por la oposición directa. :-)

Dame un enlace específico en la documentación donde esté explícitamente escrito: está prohibido ejecutar parcialmente una operación para que el saldo sea inferior al lote mínimo.

 
voix_kas:

¿Qué es exactamente y dónde dice "en el servidor..."?

Hay una cosa mala en tus posts: la especulación. Perdóname por mi oposición directa. :-)

Dame un enlace específico en la documentación donde esté explícitamente escrito: prohibir la ejecución parcial de una operación para que el saldo sea inferior al lote mínimo.

Prueba en Alpari (si no me equivoco su lote mínimo es 0,10) con un script sin comprobaciones para abrir un lote de digamos 0,01.

Vea lo que la respuesta (información en la estructura) devuelve en esta cuenta.

También puede intentar ejecutar el Asesor Experto con un lote de 0,01 en el Probador de Estrategias en las cuentas de 2010.

Después continuaremos la conversación de fondo sobre qué y dónde es posible.

voix_kas:

Dame un enlace específico en la documentación, donde esté claramente escrito: está prohibido ejecutar parcialmente una operación para que el saldo sea inferior al lote mínimo.

¿Puede un átomo de hidrógeno ser más pequeño que un átomo de hidrógeno? Probablemente sí, pero eso ya no sería nuestro universo ni "nuestras" leyes físicas...

¿Y qué sección de la documentación debe decir esto en "ABC" o en "Fundamentos de las matemáticas"?

Perdón por la oposición directa. :-)

Automated Trading Championship 2010
  • championship.mql5.com
Automated Trading Championship 2010
 
Interesting:

Prueba en Alpari (si no me equivoco, tienen un lote mínimo de 0,10) con un script sin comprobaciones para abrir un lote de digamos 0,01.

Vea lo que se devuelve en esta cuenta en la respuesta (información en la estructura).

También puede intentar ejecutar el Asesor Experto con un lote de 0,01 en el Probador de Estrategias en las cuentas de 2010.

Después continuaremos la conversación de fondo sobre qué y dónde es posible.

Perdón por la oposición directa. :-)

Estimado señor, ha leído mi pregunta.

No estoy preguntando si es posible realizar una operación con un volumen inferior al lote mínimo establecido en un tipo de cuenta concreta. Por supuesto que no.

Mi pregunta es la siguiente: Desde el punto de vista del concepto MQL5, ¿es aceptable ejecutar una operación con un lote parcial inferior al lote mínimo aceptable? (Por supuesto, estamos hablando de ORDER_FILLING_CANCEL yORDER_FILLING_RETURN).

Y no estamos hablando de conclusiones empíricas, sino de requisitos/limitaciones específicos en el "motor" MQL5, que han sido publicados oficialmente.

 
voix_kas:

Estimado señor, ha leído mi pregunta.

No estoy preguntando si es posible hacer una operación con un volumen inferior al lote mínimo establecido en un tipo de cuenta/cuenta particular. Por supuesto que no.

Mi pregunta es la siguiente: Desde el punto de vista del concepto MQL5, ¿es aceptable ejecutar una operación con un lote parcial inferior al lote mínimo permitido? (Por supuesto, estamos hablando de ORDER_FILLING_CANCEL yORDER_FILLING_RETURN).

Y no estamos hablando de conclusiones empíricas, sino de requisitos/limitaciones específicas en el "motor" MQL5 que se han publicado oficialmente.

Acabo de comprobarlo manualmente, todo cierra bien. Abrí la compra de 0,21 lotes y cerré la venta de 0,2 lotes. La posición de compra sigue siendo de 0,01 lotes aunque el mínimo es de 0,1 lotes. Lo he comprobado en la cuádruple y ahí tampoco hay errores de cierre parcial.
 
papaklass:

Cuando se ejecuta una orden, el volumen de la posición restante no puede ser inferior al volumen mínimo. Será un múltiplo del volumen mínimo, pero no menos.

Dame un ejemplo de cómo puedes cambiar una posición en 0,01 lote, siendo el lote mínimo posible 0,1. Entonces responderás a tu propia pregunta.

Su interpretación es clara. Pero mira la documentación:

SYMBOL_VOLUME_MIN Volumen mínimo para una operación

SYMBOL_VOLUME_STEP Paso mínimo de cambio de volumen para cerrar una operación

Es decir, las operaciones (y por tanto las órdenes) con un volumen de 0,1, 0,11, 0,12... son posibles en nuestro ejemplo. etc.

y los imposibles son 0,09, 0,08, 0,07... etc.

Exactamente trata, no se dice nada sobre el volumen de la posición.

He aquí un ejemplo: tenemos la compra de 1,0 lote, la cerramos parcialmente con la venta de 0,95 (esto corresponde a las condiciones de granulación de volumen), tenemos una posición con un volumen de 0,05 lotes. Y no podemos cerrarlo ahora.

Primero debemos aumentar la posición hasta al menos 1,05 (una orden no puede ser inferior a 0,1) y luego cerrarla completamente.

Es absurdo que no podamos cerrar completamente una posición abierta.

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 
sergey1294:
Acabo de comprobarlo manualmente y cierra perfectamente. Abrí la posición de compra con 0,21 lotes y cerré la posición de venta con 0,2 lotes. 0,01 lotes quedan en el mercado aunque el mínimo era 0,1 lotes. Lo he comprobado también en la 4. Ahí tampoco hay errores de cierre parcial.

¿Se cierra la posición restante de 0,01 lotes con una operación opuesta del mismo volumen?

Es decir, ¿una operación de venta con un volumen de 0,01 pasa (por supuesto, cerrando completamente la posición abierta)?

 
voix_kas:

Estimado señor, ha leído mi pregunta.

No estoy preguntando si es posible hacer una operación con un volumen inferior al lote mínimo establecido en un tipo de cuenta/cuenta particular. Por supuesto que no.

Mi pregunta es la siguiente: Desde el punto de vista del concepto MQL5, ¿es aceptable ejecutar una operación con un lote parcial inferior al lote mínimo permitido? (Por supuesto, estamos hablando de ORDER_FILLING_CANCEL yORDER_FILLING_RETURN).

No estamos hablando de conclusiones empíricas, sino de requisitos/restricciones específicos en MQL5 que han sido publicados oficialmente.

La respuesta es simple: no es posible y no está permitido, en todas las condiciones (de lo contrario, está en SD a la vez. Y no sólo "nosotros" estaríamos indignados como probadores de la parte cliente, sino también los corredores que están probando la parte servidor).

Respondiendo a la parte técnica de tu pregunta, te contestaré que la comprobación existe en la parte cliente (terminal y tester), y sin duda en la parte servidor.

La comprobación de la parte del cliente es necesaria, en primer lugar, para prever todo tipo de violaciones de las condiciones y normas de negociación, y en segundo lugar, para reducir la carga del servidor y evitar "ataques" con solicitudes incorrectas (el terminal no enviará simplemente una solicitud al servidor si detecta una violación de las normas de negociación o un error manifiesto en la solicitud).

A su vez, el servidor (como última instancia) también comprobará necesariamente la corrección de la solicitud de negociación (incluida la corrección de las consecuencias previstas de la ejecución de esta solicitud).

Razón de la queja: