Errores, fallos, preguntas - página 2404

 
Ilya Malev:

Así que deja que funcione, ¿quién lo impide? De todos modos, no funciona como lo hacía MT4, así que depende de ti cambiar este comportamiento para el 90% del tiempo, o para el 10% restante.

¿Esperando un ejemplo de cómo utilizar este comportamiento?

 
Ilya Malev:

¿Necesita un asesor para redactar una? Creo que puedes hacerlo tú mismo tan bien como yo.

Mencionas a menudo SELECT_BY_TICKET pero no das ningún uso práctico de ello.

Yo no utilizo esta construcción. Además, creo que usarlo en MT4 es peligroso.

Ilya Malev:

En el 90% de los casos no es SELECT_BY_TICKET en el historial, sino que funciona con órdenes como con entidades indivisibles. El cierre o la apertura parcial es una rareza para la mayoría de los corredores de divisas. Por lo general, o bien cierran/abren el pedido por completo o bien dan un presupuesto fuera de lugar

MT5 también es una plataforma de intercambio en la que los parciales no son nada raros. Además, en el ejemplo anterior el usuario cierra parcialmente su posición. Es una práctica perfectamente normal cuando, por ejemplo, el operador cierra una posición en partes a diferentes niveles de precios.
 
fxsaber:

Mencionas a menudo SELECT_BY_TICKET, pero no das ninguna aplicación práctica.

Yo no utilizo esta construcción. Además, creo que usarlo en MT4 es peligroso.

Tal vez tengas razón, pero esta es una parte de la funcionalidad que no funciona en tu biblioteca de la misma manera que en MT4. De hecho, señalé este hecho sin intención de comentarlo.

 
Ilya Malev:

Puede que tengas razón, pero es una parte de la funcionalidad que funciona de forma diferente en tu biblioteca que en MT4. De hecho, señalé este hecho sin intención de comentarlo.

Se menciona específicamente en la discusión de la biblioteca. Se dan ejemplos y argumentos relevantes para el hecho de que incluso en MT4 utilizar SELECT_BY_TICKET es una mala lógica de negociación.

 
Ilya Malev:

Si crees que este modo no debe usarse en absoluto, entonces hazlo como en MT4 y no recomiendes su uso.

Este modo puede ser útil en determinadas situaciones.

Por si acaso - el comportamiento del servidor durante el cierre parcial en MT4 fue diferente para diferentes corredores y no se garantiza que sea la forma en que usted lo describió

Puedes intentar buscar un lugar donde en un cierre parcial en MT4 la posición no cambie la entrada. Se ha dado el código anterior.

 
Ilya Malev:

1. Tal vez debería pedirte que pongas un ejemplo ahora (sólo que no en este hilo, que ya está saturado)

Vimos una posición cerrada en el historial del terminal. Necesitamos obtener rápidamente sus datos: escribimos un ticket en el script y ya está.

O tenemos que ordenar el historial comercial a nuestra manera. Ordena las entradas y selecciona.

2. En realidad no me importa, si cambia el ticket en el cierre parcial o no, porque no tiene ningún efecto en la selección de orden dentro del ticket cuando no se utiliza el cierre parcial. Y cuando lo utilice, deberá mirar el comentario (MT4), o seleccionar las operaciones por número de posición (MT5).

Todo es seleccionable por billete. Es que la entrada de la posición cambia cuando la cierras. Esta es la única diferencia con respecto a MT4.

 
Ilya Malev:

Así que hay que hacer una función adicional que permita averiguar el número de ticket cambiado a partir del número antiguo, en lugar de insistir en que la funcionalidad SELECT_BY_TICKET que existía en MT4 era "errónea". Aunque eso es asunto suyo, por supuesto.

Hay una función de MT5 que los codificadores pueden necesitar, pero es difícil de implementar. Y está el que es fácil de aplicar pero apenas se necesita.

Sólo tiene sentido hacer algo en el primer caso. Por ejemplo, OrderOpenPriceRequest es una cosa estupenda, porque es elemental para calcular el deslizamiento en la apertura.

Pero OrderTicketOld es una cosa muy simple (POSITION_ID) y sobre nada. Este es el billete de apertura: la cosa es difícil de implementar, por eso se hace.

 
Ilya Malev:

Usted tiene un requisito en la parte de las bibliotecas que el Asesor Experto debe ser escrito "en estilo MT4". Basándose en este requisito, es razonable implementar una función que se ajuste exactamente a este estilo, permitiéndole escribir el código tan bien como podría hacerlo en MT4.

No has mostrado un EA que no funcione.

 
Inundación
 
fxsaber:

El cierre parcial no es necesariamente un relleno parcial en el lado del servidor.

Entonces, ¿cómo seleccionar 0,2 lotes cerrados en tal situación en MT5?

No tengo ni idea en MT5, pero en MT4 estaba buscando una oportunidad para hacer un cierre parcial de una orden y encontrar una nueva entrada pero sin usar el campo OrderComment()

todo funciona en general como en MT4:

- seleccionar una orden en la lista de órdenes de mercado y obtener un ticket

- solicitamos OrderClose() - obtenemos true

- el antiguo ticket ha pasado al historial de pedidos y ha aparecido un nuevo ticket de mercado; si el pedido se ha cerrado completamente (no parcialmente), no aparecerá ningún nuevo ticket

El tema del cierre parcial en MT4 es bastante interesante, he preguntado, pero por desgracia, todos los Gurú han enviado a buscar la felicidad en OrderComment() - no me gusta, pero al parecer la gente no lo saca, un tema con la discusión de un algoritmo eficaz para MT4 primero, habría participado


SZY: No puedo encontrar el código fuente, no me gusta la implementación - guardé los tickets de órdenes de mercado en un array e inmediatamente después de un cierre parcial utilicé ArrayBsearch() para encontrar una orden que faltaba en el array, es decir, un nuevo ticket