Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 608
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
El primer problemaLots/Prikup - Dplus debe ser normalizado. Lee con atención. Si las variables son de tipo doble, notarás con sorpresa que 4/2 no da el 2 esperado, sino 1,999999999999 - probablemente no te hayas enfrentado aún a este problema.
Así que si((OrderMagicNumber() == Magic)&&(OrderLots() <= Lots/Prikup - Dplus)) es falso, y puedo decir con alta probabilidad que es falso, entonces aunque tengas cnt_OO mayor que 1 tienes garantizado llegar a un bloque después de la etiqueta 1. Así que todo te funciona sin errores El problema está en la lógica de procesamiento de datos.
El segundo problema es que está garantizado que sólo se procesará el último pedido de la lista, así que ¿para qué molestarse con un bucle for?
Si lo hace sólo para el probador, entonces elegir el último orden de la lista, realmente obtendrá el orden necesario, y no siempre. En el mercado real, especialmente si hay varios Asesores Expertos ejecutándose, está garantizado que obtendrá algo diferente a lo que espera y el bucle está garantizado que se romperá después de la primera pasada usando el comando break.
El primer problemaLots/Prikup - Dplus debe ser normalizado. Lee con atención. Si las variables son de tipo doble, notarás con sorpresa que 4/2 no da el 2 esperado, sino 1,999999999999 - probablemente no te hayas enfrentado aún a este problema.
Así que si((OrderMagicNumber() == Magic)&&(OrderLots() <= Lots/Prikup - Dplus)) es falso, y puedo decir con alta probabilidad que es falso, entonces aunque tengas cnt_OO mayor que 1 tienes garantizado llegar a un bloque después de la etiqueta 1. Así que todo te funciona sin errores El problema está en la lógica de procesamiento de datos.
El segundo problema es que está garantizado que sólo se procesará el último pedido de la lista, así que ¿para qué molestarse con un bucle for?
Si lo hace sólo para el probador, entonces elegir el último orden de la lista, realmente obtendrá el orden necesario, y no siempre. En el mercado real, especialmente si hay varios Asesores Expertos funcionando, está garantizado que obtendrá algo diferente de lo que espera y el bucle se romperá después de la primera pasada.
El primer problemaLots/Prikup - Dplus debe ser normalizado. Si las variables son de tipo doble te sorprenderá que 4/2 no dé el 2 esperado sino 1,999999999999 quizás no te hayas enfrentado aún a este problema
Así que si((OrderMagicNumber() == Magic)&&(OrderLots() <= Lots/Prikup - Dplus)) es falso, y puedo decir con alta probabilidad que es falso, entonces aunque tengas cnt_OO mayor que 1 tienes garantizado llegar a un bloque después de la etiqueta 1. Así que todo te funciona sin errores El problema está en la lógica de procesamiento de datos.
El segundo problema es que está garantizado que sólo se procesará el último pedido de la lista, así que ¿para qué molestarse con un bucle for?
Si lo hace sólo para el probador, entonces elegir el último orden de la lista, realmente obtendrá el orden necesario, y no siempre. En el mercado real, especialmente si hay varios Asesores Expertos ejecutándose, está garantizado que obtendrá exactamente la orden incorrecta, y el bucle se romperá en el comando de ruptura después de la primera pasada.
En cuanto a la normalización - gracias, no me había dado cuenta de que faltaba. Mi ojo se perdió en mi cabeza.
Sobre el bucle for: hay diferentes órdenes en el archivo con diferentes magos y de diferentes parejas. Los reviso desde el final hasta que encuentro el que necesito. Esto ocurre cuando el EA no ha empezado a funcionar y no aparecen en la lista nuevas órdenes que necesito. El bucle no se interrumpe en la primera pasada, sino cuando se encuentra el orden requerido.
Tenemos que entender bien las funciones Onlinit y OnDeinit. Su necesidad es evidente.
En esta implementación, el bucle no funciona. Ejecuté su código en diferentes variantes siempre una pasada.
¡Y ahora está claro en qué te has equivocado!
¡Comenté todo lo posible! Pruébalo.
En esta implementación, el bucle no funciona. Ejecuté su código en diferentes variantes siempre una pasada.
Y ahora veo en qué te equivocas.
¡Comenté todo lo posible! Pruébalo.
Gracias, lo tengo. Aquí hay una solución para el error de falta de normalización. Tras un examen más detallado del algoritmo de recuperación, la condición&&(OrderLots() <= Lots/Prikup - Dplus) parecía ser innecesaria.
Gracias a todos por sus buenos consejos
Aquí está el resultado de las pruebas. Es casi lo mismo en el real, incluso mejor. Se advierte de antemano: esto no es una martingala. Es incluso peor de lo que crees :=). Reducción del 1,3% de beneficio 507$.
Si funciona, y no te importa compartir el resultado, escribe una solución al problema
No ha funcionado (he utilizado la librería openssl de php). Resolver el problema de una manera diferente.
No funcionó (utilicé la biblioteca openssl de php). Resolver el problema de una manera diferente.
¿Así que terminaste encriptando en MT y desencriptando en .php? ¿Qué forma utilizaste?
¿Así que terminaste encriptando en MT y desencriptando en .php? ¿Qué método ha utilizado?
No, te lo dije, no funcionó. Me he dado por vencido. Para mi tarea un hachís era suficiente. Estaba enviando y recibiendo hash y de vuelta otro hash como confirmación.
Así que no pude descifrarlo en PHP. Estaría bien que alguien estudiara seriamente este asunto. Tal vez un desarrollador o algo así.
No, escribí que no funcionaba. Me he dado por vencido. Un hachís fue suficiente para mi tarea. Envié y recibí un hash y de vuelta otro hash como confirmación.
Así que no pude descifrarlo en PHP. Estaría bien que alguien estudiara seriamente este asunto. Tal vez un desarrollador o algo así.
Escribe tu propia función de encriptación en puch, y pórtala a mq. Así no lo desencriptarán y funcionará al 100% de cualquier manera.
Si funciona, y no te importa compartir el resultado, publica la solución
google "formato de relleno PKCS#7"