La gran y terrible MT4 para siempre (o cómo hacer una estrategia de transición) - página 22

 
Igor Makanu:

se trata de las cuentas de cabecera.

acerca de las muletas esperadas - tengo 2021, espero que el software más fácil de usar, como un ejemplo - el mismo Python, que permite al usuario escribir su código lo más concisa posible y obtener un resultado terminado, por lo que rápidamente "despegó" - la gente no quiere escribir código largo para su propia auto-satisfacción, pero quieren resolver sus "deseos" en el menor tiempo posible

ZS: ¿recuerdas los dedos de los pies y las orejas? ... - Imagina que te regalan el Win 111, todo está muy bien, pero ahora hay que cambiar la distribución del teclado pulsando el botón de encendido del teclado, entiendo que sobre todo los fanáticos se retuercen y van a pulgar el botón deseado del teclado

Ehhh. Hubo momentos en los que la gente solía regodearse en MT4, diciendo que no tenía suficiente control, y que los desarrolladores necesitaban más control y les daban acceso desde MQL. Una vez que se lo dieron, las cosas se pusieron muy mal para ellos. Aunque todas las comprobaciones y expectativas estaban antes ocultas a los ojos de los usuarios. Después de todo, el ticket de posición abierta vuelve en MT4. Esto sugiere que toda la sincronización con el entorno comercial está simplemente oculta a los ojos y a los bolígrafos traviesos de los usuarios:

Отсылка ордера --> [чёрный ящик] --> Тикет открытой позиции (ордера как принято в MQL4) (или -1)

Así que la gente pidió acceso a la caja negra y lo consiguió.
Ahora tienes que hacer la sincronización tú mismo. ¿Preguntado? Preguntado. ¿Lo hicieron? Lo hicieron. ¿Es bueno? Dijeron que sería bueno. Después de que se dio - se convirtió en malo.

Desenvolvamos todo lo que se ha escondido en las funciones estándar de MQL4 y veamos, ¿es todo tan sencillo, y se ha implementado todo con dos líneas mágicas de código? No lo creo...

Por lo tanto, la comparación es bastante incorrecta. Si se amplía el código MQL de todo lo que hay dentro de las funciones de trading estándar en MT4, y se comparan los volúmenes de código, habiendo portado primero lo que se ve en la caja negra a MT5. Entonces la comparación será correcta.

Eso es lo que pasa con las muletas y las cosas para MT5, y "hey que amigable y excitable-hermoso MT4" - comparar correctamente el volumen y la lógica del código. Sólo un lugar es una caja negra, el otro es su propia implementación (como se pidió, ¿recuerdas?).

En cuanto a la complejidad, estoy de acuerdo. Sí, se ha vuelto más complicado y hay que escribir más código. Pero como has leído más arriba, has preguntado y te has reído de que "el MQL4 es para amas de casa, pero hemos crecido y queremos ser serios" ...

Bueno, ahora la cosa se pone seria.

 
Igor Makanu:

se trata de las cuentas de cabecera.

acerca de las muletas esperadas - tengo 2021, espero que el software más fácil de usar, como un ejemplo - el mismo Python, que permite al usuario escribir su código tan concisa como sea posible y obtener un resultado terminado, por lo que rápidamente "despegó" - la gente no quiere escribir código de pelusa para su propia auto-satisfacción, pero quieren resolver sus "deseos" en el menor tiempo posible

ZS: ¿recuerdas los dedos de los pies y las orejas? ... - Imagínese que le dieron un Win 111, por lo que todo es genial, pero la disposición del teclado ahora tienen que cambiar pulsando el botón de encendido del sistema, entiendo que sobre todo el giro fanático y se pulgar sus pies para presionar el botón sagrado en el sistema

Dado el énfasis, creo que esto va dirigido a mí.

Yo también me refiero a las cuentas de cobertura. No estoy en absoluto en contra de la aceleración, pero si la velocidad de Internet no se corresponde con la del procesador, ¿de qué aceleración podemos hablar? Se da cuenta de que la apertura de una posición tiene lugar en el servidor, y no es seguro que la apertura deba estar libre de errores. Y la velocidad de respuesta a OrderSend() depende directamente de la velocidad de Internet... Así que, todo está establecido dentro de MT4, hasta que no recibamos una respuesta del servidor, la continuación no ocurrirá. Y sólo después de recibir un número de ticket o de error se sabrá todo. Y este orden se establece para todos. En consecuencia, la velocidad de ejecución no es de alto nivel.

Ahora MT5 tiene una táctica diferente ... El programador tiene que comprobar si se ejecutó o no ... si es necesario, comprobar, o no para obtener una mayor velocidad. Pero tú, por alguna razón, no quieres entenderlo y te indignas porque tienes que comprobarlo y en vez de comprobarlo intentas buscar tiempo de retraso.

¿Qué tiene eso que ver con el reptilismo? Escribir un software amigable en MQL5, mientras que Python no fue creado para ser escrito en él y tirar MQL5... Eso es lo que pienso.

 

Personalmente he participado ciento cincuenta veces, no hay nada que me convenza, conozco los pros de cada plataforma hace tiempo.

No me interesa su aplicación:

posiciones abiertas en una cuenta vacía al final de la ejecución del script. Se permite cerrar algunas posiciones desde cualquier terminal durante la ejecución del script. Esta "intervención" es necesaria sólo para evitar decisiones estúpidas.

Foro sobre comercio, sistemas de comercio automatizados y prueba de estrategias de comercio

La gran y terrible MT4 para siempre (o cómo construir una estrategia de migración inteligente)

fxsaber, 2021.05.08 18:54

Necesito escribir un script en MT5 que abra 100 posiciones en una cuenta vacía.


En MT4 lo resolví de esta manera.

void OnStart()
{
  while (OrdersTotal() < 100)
    OrderSend(_Symbol, OP_BUY, 0.1, Ask, 0, 0, 0);
    
  Print(OrdersTotal());
}


¿Quién tiene una solución en MT5?



 
Igor Makanu:

Personalmente he participado ciento cincuenta veces, no hay nada que me convenza, conozco los pros de cada plataforma hace tiempo.

Me interesa la realización del tema:

Ya sabes para qué sirve esta sugerencia:

Necesito escribir un script en una MT5 que abra 100 posiciones en una cuenta vacía.

En MT4 lo resolví de esta manera.

void OnStart()
{
  while (OrdersTotal() < 100)
    OrderSend(_Symbol, OP_BUY, 0.1, Ask, 0, 0, 0);
    
  Print(OrdersTotal());
}

¿Quién tiene la solución en MT5?

Si quisiera mostrar lo asqueroso que es MQL5 (porque necesito escribir allí lo que ya está escrito en MQL4 dentro de OrderSend())

Así que los nuevos ignorantes que no entienden la esencia de la simplicidad de MQL4 dirán lo malo que es MQL5 - en lugar de dos líneas de código [1. Quiero una posición abierta 100 veces. 2. Bueno - mantener], tendrán que escribir sus propias comprobaciones después de cada "quiero" y antes de "bueno mantener", ocultas al usuario en el primer caso, y ampliadas en el código MQL en el segundo. Se trata de una manipulación en estado puro.

Lo más probable es que debido a la trampa en la pregunta nadie va a tomar una decisión pública en este hilo - mucha gente entiende el punto de esta basura - para mostrar el feliz-perfecto MQL4 y complicado-moot-core MQL5. Me alegraré de estar equivocado. Pero la formulación de la pregunta dice mucho.

 
Artyom Trishkin:

Desenvolvamos todo lo que se esconde en las funciones estándar de MQL4 y veamos si es tan sencillo, y si todo se hace con dos líneas mágicas de código. No lo creo...

No se puede tener una situación como en MT5 arquitectónicamente. No por fuera, sino por dentro. Como no hay noción en MT5 de orden/operación/posición en el interior (no lo que se ve externamente). Es decir, las entrañas de MT4 son mucho más sencillas que las de MT5.

Las entradas dobles no son un problema de MT5, sino un error de arquitectura en el que las funciones de Total() muestran falsos positivos. Y cuando una orden de apertura de una posición (totalmente llena) se coloca junto con su posición. En definitiva, sólo las muletas lo solucionan todo. Y parece que todos los muletos están ahora disponibles en su totalidad.

 

Artyom Trishkin:

... Esto es manipulación pura y dura.

No entiendo las razones...

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Cómo usar MT4 para bien (o cómo crear una estrategia de migración)

Alexey Viktorov, 2021.05.09 09:15

Si no estás seguro de la estrategia correcta que has creado para MQL5 y MQL4, tienes un efecto negativo, ¿no? ¿Qué pasa si me conecto a mi cuenta desde otra empresa y pongo un par de órdenes pendientes, qué abrirá MQL4?

¿Quieres meter la pata sin ningún tipo de control? ¿Estás abogando por la permisividad en la programación, o sólo intentas calumniar a MQL5 por intereses egoístas de alguien ?

Escriba lo mismo en mql4 con comprobaciones y a prueba de tontos.


 
Artyom Trishkin:

¿Sabes para qué sirve esta frase:....

Para mostrar a todos los ignorantes lo asqueroso que es MQL5

Esto es una especulación, el problema debe ser resuelto, si tratamos de pensar como personas técnicamente alfabetizadas.

He intentado 5 veces resolver este problema hasta que he descubierto cómo hacerlo de forma óptima.

 

fxsaber:

...Y parece que todas las muletas están ahora totalmente disponibles.

Pero no te rompas la cabeza con estas muletas.

 
Artyom Trishkin:

Para mostrar a todos los ignorantes lo asqueroso que es MQL5 (porque hay que escribir allí lo que ya está escrito dentro de OrderSend() en MQL4)

No se trata de la brevedad. Utiliza tu biblioteca pública de comercio para escribir una solución al problema. Estaba pidiendo una solución, no evaluándola.

El hecho es que el problema elemental no ha sido resuelto en MT5 todavía. Y no me importa la longitud del código.


Ya que hay gente aquí con sus propias librerías comerciales, ¿no pueden utilizar sus propias soluciones listas para escribir una formulación tan simple del script?

 
Igor Makanu:

Abordé este problema cinco veces hasta que descubrí cómo resolverlo de forma óptima

Todavía no he probado el estilo MT4, pero en teoría debería funcionar. Todavía no he tenido la oportunidad de mirarlo.