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
No, pero tal vez estamos hablando de cosas diferentes.
Esto siempre funcionará.
Aún así me hizo abrir la terminal y comprobar... Aquí hay tres ejecuciones del mismo script y tres resultados.
Sólo hay una línea en el guión.
Me refiero a que si un EA está funcionando y un usuario decide cambiar el rango de visualización del historial con sus traviesas manos, el EA se volverá loco durante el segundo cambio. Ahora será más pequeño, ahora será más grande, ahora será diferente al memorizado. E incluso si la línea
if(HT!=__TotalHist)
poner > en lugar de !=, la situación no cambiará. Si el EA se está ejecutando cuando la configuración se establece en "Hoy" y se cambia a "Todo el historial"... ¿qué sucede?
No se me ocurriría tocar OrderHistoryTotal(), ¿por qué debería hacerlo?
Por si acaso:))))
Por si acaso:))))
:))) OrdersTotal() es suficiente para mí
Tal vez para hacer dos temporizadores? uno compara los valores OrdersTotal() incluso una vez en 100 ms, y el segundo para la seguridad una vez en un minuto (o con menos frecuencia) en un bucle - ningún ratón puede fallar allí, si uno de dos docenas de operaciones se cierra / abre una vez en 100500 veces un minuto más tarde - ciertamente no voy a morir, supongo, el depósito también.
:))) OrdersTotal() es suficiente para mí
Tal vez debería hacer dos temporizadores. Uno de ellos compara los valores de OrdersTotal() incluso una vez en 100 ms, y el segundo - una vez en un minuto (o con menos frecuencia) pasa por el bucle - ni un solo ratón puede pasar por allí, si una de las dos docenas de órdenes se cierra/abre un minuto más tarde, que 100500 veces - seguramente no moriré y supongo que también lo hará mi depósito.
¿Y cuántas órdenes abiertas al mismo tiempo proporciona el algoritmo?
Aún así me hizo abrir la terminal y comprobar... Aquí hay tres ejecuciones del mismo script y tres resultados.
Sólo hay una línea en el script
Lo que quiero decir es que si el EA funciona y un usuario decidió cambiar el rango de visualización del historial con sus manos traviesas, el EA se volverá loco durante el segundo cambio. Ahora será más pequeño, ahora será más grande, ahora será diferente al memorizado. E incluso si la línea
La situación no cambiará si ponemos > en lugar de !=. Si se ejecuta el Asesor Experto en el momento en que la configuración es "Hoy" y se cambia a "Todo el historial"... ¿qué sucederá?
En cualquier caso, no será igual, y el código irá más allá. Pero si establecemossi(HT >__TotalHist), entonces tendremos problemas.
¿Y cuántas órdenes abiertas estipula el algoritmo en total?
Dos o tres docenas como máximo.
En cualquier caso, no será igual y el código seguirá adelante. Pero si (HT >__TotalHist)entonces hay un problema
Vitaly, habrá problemas en cualquier caso. Se mire como se mire, si el EA debe reaccionar a los cambios en la cantidad de órdenes en el historial, reaccionará independientemente de cómo haya cambiado la cantidad de órdenes. De hecho, la cantidad de pedidos en la historia sólo puede aumentar, por eso sugerí que sería menos peligroso, pero no resuelve el problema. Aunque lo haya escrito sólo para usted, no puede descartar la posibilidad de un cambio manual. Nunca se sabe qué tipo de mensaje de texto vendrá a tu mente)))
2-3 docenas como máximo
Para un número así, sería más fácil crear un array de entradas o incluso un array de estructuras con propiedades de orden y comprobar el cambio de tipo y la hora de cierre en cada tick. Esto nos permitirá rastrear la activación de una orden pendiente o el cierre de una posición. Y abriendo inmediatamente después de enviar OrderSend(), añade el tamaño del array y pon todo lo que necesites en él.
Esa es la cuestión, puedes agitar las órdenes 86400 veces al día, pero no querías hacerlo.
En ese caso, sería difícil vivir sin la biblioteca de Artem.