Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 1052

 
Igor Makanu:

alternativamente abrirhttps://www.mql5.com/ru/code/16006

y mira la implementación de @fxsaber

o simplemente conectar la librería anterior y transferir el código de MT4 a MT5, en el 99% de los casos no tendrás que retocar nada, todo funcionará igual que en MT4

Y no dejes que el conocimiento se pierda...
 
Artyom Trishkin:
Y que el conocimiento no sume...

¿Conocimiento? ¡Eso no es conocimiento que se necesita para desarrollar una ST o un comerciante!

No escribes un controlador para ti mismo para controlar tu disco duro --> API --> tu programa, ¿verdad? Sólo tienes que utilizar las capacidades de la plataforma y el lenguaje de programación y nada más - en 2 clics (un par de líneas) obtienes

Es un hecho que MQL5 tiene una forma muy tediosa y aburrida de tratar los pedidos,

No tengo ni idea de cómo abrir una orden, cómo comprobar su estado, cómo saber el precio y la hora de cierre (conozco CTrade, he abierto parcialmente el código fuente) - esas son cosas elementales que una plataforma de comercio debería hacer en 2 clics y no debería causar ningún problema.

SZZY: hace 5 años que MQL5 añadió iTime(), IClose() .... ese es el seguimiento, una plataforma de negociación que no puede acceder al historial de instrumentos ni colocar órdenes en 2 clics, en el primer año todo kodobase se inundó de "implementaciones milagrosas" de cómo leer el historial de un instrumento de negociación en 2 clics.... Vale, es un tema manido.

 
Igor Makanu:

¿conocer? ¡no es un conocimiento necesario para desarrollar una ST o para un comerciante!

Exactamente. No es necesario este conocimiento para desarrollar una estrategia o como comerciante. Del mismo modo, no es necesario el conocimiento de mql4.

Eso es lo que necesita el programador. Y sólo si quiere entender lo que está haciendo y puede cotejar el resultado obtenido con el esperado.

No hace mucho tuve que editar el EA de otra persona: según los TdR, una posición debe cerrarse en el punto de equilibrio en un momento determinado. De hecho, el Asesor Experto abrió una posición, la cerró inmediatamente y estableció una nueva, que cerró según las reglas.

Después de haber observado este desastre durante un par de horas, me propuse escribir mi Asesor Experto desde cero. ¿No era su Asesor Experto?

 
Alexey Viktorov:

Después de ver este lío durante un par de horas, me propuse escribir mi Asesor Experto desde cero. ¿No era ese su Asesor Experto?

¡Definitivamente el mío! ))))) - Mantengo mis códigos durante al menos un mes, pero normalmente todo funciona bien a la primera, aunque puede haber algunas discrepancias en los TdR, pero esto no es una presentación, es un trabajo en curso. A menudo edito el código de otras personas, pero eso es una historia aparte, consume mucho tiempo y el resultado es desconocido - sólo me advierten de esto

Si la programación de bajo nivel fascina, por así decirlo "para cavar en las entrañas pequeñas" - adelante, hay una biblioteca estándar CTrade de los desarrolladores, debe hacer el mínimo necesario para el usuario

 
Igor Makanu:

¡Definitivamente el mío! ))))) - Mantengo mis códigos durante al menos un mes, pero normalmente todo funciona bien a la primera, aunque puede haber algunas discrepancias en los TdR, pero esto no es una presentación, es un trabajo en curso. A menudo edito el código de otras personas, pero eso es una historia aparte, consume mucho tiempo y el resultado es desconocido - sólo advierto esto

Si la programación de bajo nivel fascina, por así decirlo "para cavar en las entrañas pequeñas" - adelante, hay una biblioteca estándar CTrade de los desarrolladores, debe hacer el mínimo necesario para el usuario

El propietario de este código milagroso, así como su autor, no sabían de tal sutileza que la posición se abre y luego se cierra. Por eso no hay reclamaciones.

En general, estoy de acuerdo con usted. Algunos promotores no cazan ratones en absoluto. Entonces crean deliberadamente bichos, según declaraciones de un personaje, lo torturan para atrapar estos bichos. Ahora no harán una sola orden como "Cortar el dinero". No es necesario saber programación. "No es asunto del rey meterse con ***. Pediré y ***" eso es lo que pareces.

 
Alexey Viktorov: El propietario de este código milagroso, así como su autor, no eran conscientes de la sutileza de que la posición se abre y luego se cierra. Estoy de acuerdo contigo. No cazan ratones en absoluto. Crearán bichos deliberadamente, pero están cansados de atraparlos, como ha dicho un personaje. Ahora no harán una sola orden como "Cortar el dinero". No es necesario saber programación. "No es asunto del rey meterse con ***. Pediré y ***" eso es lo que pareces.

Por lo que entiendo estamos hablando de algún código en MQL5 ? - No he escrito ningún código público en ese lenguaje, sólo uso soluciones ya hechas.

Bueno, sobre tu rendimiento - todos los lenguajes se "actualizan" siempre con librerías, los desarrolladores de las librerías son a menudo simples programadores-usuarios, pero esto no impide que estas librerías sean populares y estén hechas con una calidad muy alta, si consigues salir de la caja de arena de MQL - date un paseo por GitHub, siempre he encontrado librerías ya hechas para C# que ahorran tiempo de desarrollo

 
Vladimir Karputov:

No hay una analogía directa. Una posición se compone de operaciones. Si desea obtener datos precisos sobre la posición, primero debe construirla a partir del historial de operaciones.

Por lo tanto, es mejor trabajar con el concepto de "trato".

En general, la aplicación depende en gran medida de la respuesta a la pregunta: "¿Por qué?". Es decir, primero describa exactamente lo que quiere y por qué.

Para obtener el beneficio de la operación en pips. En MT4 se hacía así:

( OrderClosePrice() - OrderOpenPrice() )/Point;
 
secret:

Obtenga el beneficio de la operación en pips. En MT4 se hacía así:

No se puede obtener un beneficio en una operación. Un comercio puede ser:

ENUM_DEAL_TYPE-Tipo de comercio

ENUM_DEAL_TYPE

Identificador

Descripción

DEAL_TYPE_BUY

Comprar

DEAL_TYPE_SELLVender

***


Necesita obtener información sobre una posición cerrada (una posición completa consta de al menos dos operaciones: entrada y salida). Para ello:

  • ensamblar la posición a partir del historial de operaciones y comprobar su integridad (le recuerdo que la posición se puede ensamblar a partir de las operaciones) - utilizar la propiedad DEAL_POSITION_ID de las operaciones.
La palabra de control aquí es "Recoger la posición del historial de operaciones y comprobar su integridad".
 
Vladimir Karputov:

Ya veo. Gracias) Una terminología muy extraña en MT5.

Me pregunto por qué los desarrolladores no hicieron propiedades de posición listas en la historia. Lo hicieron en MT4.

 
secret:

Ya veo. Gracias) Una terminología muy extraña en MT5.

Me pregunto por qué los desarrolladores no hicieron propiedades de posición listas en la historia. Lo hicieron en MT4.

Es muy bueno que lo hayan hecho. Hay acceso a todo el historial de cualquier cambio de posición. En el 4 todo se amontona en un orden. Y una orden judicial es sólo una orden de ejecución. En cambio, en el cinco, es una posición de orden y trato.