Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1386
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
Es gracioso) no debería serlo)
Si la batalla ha terminado - negocie con un spread normal, simplemente saque su "límite" en la entrada y simplemente ignore la operación si el spread está por encima del límite.
Los diferenciales pueden ser estirados por medio de dillings sin que se produzca un vuelco.
Tengo bastantes oscilaciones de spread, desde 10 unidades hasta 45
Tengo que esperar a la pantalla 45.
Al mismo tiempo, la función cuenta con una media de 17, lo cual es bastante satisfactorio.
Sube a 100-140 durante 1 hora después del rollover, voy a ejecutar el código y ver cómo se comporta.
Sin embargo, podría prescribirlo de esta manera:
Debería funcionar correctamente.
No me gusta esta lógica.
La primera entrada de la función:
res = 0;
Por lo tanto, la condición
no está satisfecho.
Y no quiero entrar en más detalles. ¿Para qué sirve esta condición de repente?
No entiendo la lógica de todo esto.No me gusta esta lógica.
La primera entrada de la función:
res = 0;
En consecuencia, la condición
no se cumple.
Y no quiero entrar más en ello. ¿Para qué sirve esta condición de repente?
No entiendo la lógica de todo esto.1. Esta condición es sólo para 1 hora después del vuelco, cuando el tiempo es de 22 horas. Pero esto es sólo en el primer inicio, mientras que el terminal siempre funciona con el Asesor Experto, lo que significa que se vacía sólo una vez.
Tal vez debería declararse también como estática en caso de cambio de marco temporal
2. if(tc>LONG_MAX-1) = ponemos a cero la variable tc si hemos superado los límites permitidos de long. Es poco probable que esto ocurra, ya que la terminal a veces se sobrecarga, por ejemplo, el fin de semana.
---
Código modificado, esto debe ser definitivo:
P.D. Ponlo a prueba
P.D. Revisado el código
----
P.S. Añadí 1 hora más de tiempo después del rollover, sino tengo un spread muy alto en algunos dealers.
La variante final ha trabajado 20 horas y el resultado es sorprendente
El diferencial medio diario es de 10 a 45 pps, pero la mayor parte del tiempo es de 10 a 17 pps, el diferencial medio se ha calculado en 19
Gracias a todos por vuestra participación, si tenéis algo que añadir, ¡escribid!
Tal vez también debería declararse estática, en caso de cambio de marco temporal
Lo he entendido, parece que funciona, retiro lo de "no debería"), ahora sólo me falta averiguar los momentos de puesta a cero/asignación.
He visto una discusión en el foro, pero no la encuentro.
Necesidad de limitarse a una posición en una barra que puede abrirse en cualquier momento, esta es la opción ahora, pero es "pesada" en mi opinión
¿Cómo se puede sustituir esto para que sea más ligero?
He visto una discusión en el foro, pero no la encuentro.
Necesidad de limitarse a una posición en una barra que puede abrirse en cualquier momento, esta es una opción ahora, pero es "pesada" en mi opinión
¿Cómo se puede sustituir esto para que sea más fácil?
"Tienes que limitarte a una posición en la barra, que puede estar abierta en cualquier momento..."
redacción demasiado general, ¿quieres decir que una vez en la barra en este símbolo se puede enviar OrderSend?
"Tienes que limitarte a una posición en la barra, que puede abrirse en cualquier momento..."
la redacción es demasiado general, ¿quieres decir que una vez por barra en este símbolo se puede enviar OrderSend?
Sí. El Asesor Experto está trabajando en el marco de tiempo H1 y puede abrir una posición a las 10:17, no necesita abrir otra antes de las 11:00, es decir, en la barra actual.
Sí. El EA está trabajando en el marco de tiempo H1 y puede abrir una posición a las 10:17, es necesario asegurarse de que antes de las 11:00, es decir, en la barra actual - no se abre más.
Sí, de nuevo, creo que el diablo está en los detalles.
abrir una posición - establecer una "bandera de prohibición" y/o guardar el "tiempo" (no importa cuál, siempre que sea el mismo (fuente) para la comparación)
se abre un nuevo bar - se pone la "bandera de prohibición"...
Pregunta: ¿Y si la posición ha cambiado de alguna manera?
Ejemplo de cómo defino una nueva barra - doTB divisor en segundos, para H1 es 3600.0
BARii[].time - tiempo de los compases con M1, pero puede ser arbitrario y con cualquier división, si es más o igual a 1 significa el "tiempo" de diferentes "compases
Sip, de nuevo condiciones incompletas en mi opinión, "el diablo está en los detalles", en términos simples si el texto
abrir una posición - establecer una "bandera de prohibición" y/o guardar el "tiempo" (no importa cuál, siempre que sea el mismo (fuente) para comparar)
se abre un nuevo bar - se pone la "bandera de prohibición"...
Pregunta: ¿Y si la posición ha cambiado de alguna manera?
Ejemplo de cómo defino una nueva barra - doTB divisor en segundos, para H1 es 3600.0
BARii[].time - tiempo de los compases con M1, pero puede ser arbitrario y con cualquier división, si es más o igual a 1, significa el "tiempo" de diferentes "compases
En ese momento no me satisfizo la opción de usar banderas; no recuerdo por qué, pero la sustituí por
Bien, pensaré en otra implementación
La opción de las banderas no me gustó en su momento, no recuerdo por qué, pero la sustituí por
Bien, pensaré en otra implementación.
¿Y qué retiene esta aplicación? Similar a mi código determina dos veces en una "barra" o en diferentes. Sólo en mi variante "verdadero" cuando en diferentes "barras", en su variante "verdadero" cuando en una barra, sólo pasar por alto la comparación == con "0" especialmente entero, wo, y probablemente puedo cambiar la condición a >0,0 o >0,9, necesidad de pensar...