Preguntas de un "tonto" - página 15

 
Yedelkin:
Pregunta adicional: ¿hay alguna forma elegante de guardar la información al pasar doble <-> largo?
Copia de estructuras simples https://www.mql5.com/ru/docs/basis/types/casting#casting_structure
Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - Документация по MQL5
 
stringo:

Los 64. De hecho. No te aferres a un tipo con o sin firma.

Lo mejor es que lo vea usted mismo. Entonces la cuestión queda cerrada de una vez por todas.

Sí. Ya escribí que me había olvidado de la conversión de tipos.

y ya lo he comprobado todo. La señal no se ha perdido. Todo está bien.

 
¡Uy! Lo mismo que el segundo ejemplo de Metadriver! ...Así de importante es el énfasis en lo aparentemente leído.
 
sergeev:

Compruebe PositionClose en la clase CTrade.
Estoy seguro de que será igual que el tuyo. La única conclusión es que no hay otro camino.

Pero apoyo su petición. Pido a los desarrolladores que consideren esta variante.

Añadir el tipo de operación TRADE_ACTION_CLOSE - cierre de una posición para un símbolo especificado en su volumen al precio actual.

Eso sería lo ideal. Apoyado.

Para el resto del foro volveré a exponer brevemente el problema.

Con el sistema existente de contabilización de operaciones/órdenes y métodos de cierre en MQL5, siempre hay una probabilidad no nula de que la posición SL/TP cerrada desde el mercado no se cierre realmente, y se abra la posición contraria.

Cuanto más cerca esté el mercado de la posición de SL/TP, mayor será esta probabilidad, lo que hace imposible un cierre del mercado con un SL/TP cerrado (ya que un cierre de SL/TP puede ocurrir durante el envío de una nueva orden de mercado para cerrar)

Las soluciones existentes no son satisfactorias

a) eliminar el SL/TP antes de cerrar la orden lleva tiempo y en caso de fallo de conexión, la posición permanecerá en el mercado sin un stop, etc.

b) esperar a que se dispare el SL/TP tampoco es una opción, porque podríamos necesitar salir antes.

Entiendo que la introducción del nuevo sistema de contabilidad impone ciertas restricciones, pero cuando la comodidad del producto se sacrifica totalmente en aras del concepto, es poco probable que las masas se interesen por él :(

Estimados desarrolladores, ¿qué aconsejan utilizar para una salida del mercado GARANTIZADA (el precio no es importante)? Al solicitar el cierre en MQL4, puedo estar seguro de que la posición se cerrará, o el Asesor Experto obtendrá un código de error y seguirá intentándolo.

 
Yedelkin:

¡Hecho! En el cifrado, sustituye la línea 14 por L.l = 4548887299649496524

............

¡Anotación! ;)

 
De la referencia:
PositionClose
...
Примечание

Успешное окончание работы метода PositionClose(...)
не всегда означает успешное совершение торговой операции.
Необходимо проверять результат выполнения торгового запроса
(код возврата торгового сервера) вызовом метода ResultRetcode().

Advertencia.

***

No se ha podido encontrar esta advertencia en el cierre manual de la posición, pero en Trading en el momento de cerrar un contador ...

Para garantizar el cierre de una posición, ¿el deslizamiento aumentará en función de la volatilidad? ¿O qué? ¿Es un "hola a los comerciantes de pip"?

Apoyo la pregunta a los desarrolladores.

 

Silencio, no se trata de un deslizamiento y la comprobación del código de retorno allí.

El problema es que para cerrar una posición, hay que enviar explícitamente una solicitud de apertura de una nueva posición, pero en sentido contrario.

El servidor de operaciones ve esta solicitud exactamente como una apertura de una nueva posición. No está capacitado para entender que en realidad queremos cerrar una posición existente.

Desde el punto de vista de la compensación es más o menos correcto, pero entonces es imposible cerrar GARANTIZABLEMENTE una posición con SL/TP del mercado. Por muy alejado que esté este SL/TP, no podemos estar seguros de que mientras preparamos una nueva orden (para cerrarla) el precio alcance nuestro SL/TP y la posición se cierre sola. Y nuestro nuevo orden funcionará y abrirá una posición opuesta.

Creo que la única salida, como sugirió sergeev, es enseñar al servidor a distinguir una solicitud de apertura de una nueva posición de la de cierre de una existente, implementando una nueva casilla de verificación del tipo de operación"TRADE_ACTION_CLOSE".

¿Pero tal vez los desarrolladores tengan su propia variante?

 
¿Nadie tiene una solución?
 
Cron:
¿Nadie tiene una solución?
Hay soluciones, pero difícilmente le satisfarán... Por ejemplo, quitar SL/TP y luego según el algoritmo... Tú mismo lo has dicho:"Desde el punto de vista de la red parece correcto, pero luego es imposible cerrar GARANTIZABLEMENTE una posición del mercado...".
 
Yedelkin:
Hay algunas soluciones, pero no le convienen. Por ejemplo, quitando el SL/TP y demás según el algoritmo... Usted mismo ha afirmado:"Desde el punto de vista de la red parece correcto, pero entonces es imposible cerrar GARANTIZABLEMENTE la posición del mercado...".

Sí, quitar el SL/TP es una pérdida de tiempo más el riesgo de quedarse en el mercado sin un stop en caso de problemas de conectividad.

Sin embargo, creo que se podría añadir"TRADE_ACTION_CLOSE" para comodidad de muchos usuarios que trabajan en DC. [ ¿Y, por ejemplo, para desactivar este tipo de operaciones en las que la red es importante? (FORTS, RTS)].

Sin algunos pasos hacia el usuario no tiene sentido que muchos clientes de empresas de corretaje se pasen a MT5. Teniendo algo de experiencia en programación, todavía me encontré con algunas dificultades al portar un EA de MQL4 a MQL5. Pero todos ellos se solucionaron de una manera u otra, excepto este problema de SL/TP y el cierre del mercado.

No quiero enseñar a los desarrolladores lo que saben mejor que yo, pero quiero mencionar que perseguir un producto universal para las bolsas y empresas de corretaje en detrimento de la facilidad de uso llevará a una menor demanda del producto y mucha gente se quedará en MT4 :(