[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 792

 

Lea el código de un simple EA en el tutorial - https://book.mql4.com/ru/samples/expert

No entiendo cómo cambia el valor de la variable Total

En el bloque "Introducción de órdenes" su valor puede cambiar, por ejemplo, puede convertirse en 1.

Cuando se cierra la orden, el valor de la variable Total no cambia en el bloque "Cerrar órdenes", aunque creo que debería ponerse a cero (si la orden se cierra con éxito).

La pregunta - ¿cómo en este caso se abrirán nuevas órdenes (en el bloque "Apertura de órdenes" - if (Total==0 && Opn_B==true) ), si el programa sigue pensando que hay órdenes que no están cerradas? ¿O tal vez el programa no puede cerrar una orden y abrir otra de una sola vez? Entonces no entiendo por qué dice que se utiliza la opción b de la relación de criterios comerciales en el ejemplo?

 
fevrall:

¡Buenas tardes a todos los miembros del foro!

No he podido encontrar respuestas a las siguientes preguntas.

1. Dos terminales están funcionando en máquinas diferentes (la primera en el trabajo, la segunda en casa), en la misma cuenta real.

Si un Asesor Experto en un mismo par de divisas se está ejecutando en estos terminales, en el mismo par de divisas,

¿es equivalente a ejecutar el mismo EA en el mismo par en diferentes ventanas de la misma terminal?

2. Si se desactiva el funcionamiento de los EA en uno de estos terminales (mediante el botón correspondiente), ¿cómo se

afectar a otra terminal?

(¡Gracias de antemano!)

1) Dos terminales diferentes son dos terminales diferentes).

Incluso si tiene dos mt4 diferentes en una máquina, trabajando en una cuenta - no se cruzarán. Podrían cruzarse por accidente, si las magias de la orden coinciden, entonces el EA activo percibirá la orden como "propia".

2. Si desactivamos el trading en un terminal, el otro seguirá funcionando, porque este EA es un programa que se ejecuta en este ordenador en el MT4 dado, no en el servidor del centro de operaciones. Lo mismo, si apagas el ordenador, el Asesor Experto no operará. Pero hay un matiz - si antes de que el EA se apagara, colocó alguna orden pendiente, se ejecutará en el mercado, incluso cuando el EA se apague.

 
Techno:
Puedes establecer una prohibición para 1 o 2 bares.

Techno, ¿por qué insistes en una solución temporal para este problema?

¿No hay manera de resolverlo lógicamente? Su método podría llevar a la solución de mi problema, pero es una forma indirecta de resolverlo...

 

obla4ko, ¡gracias!

 
obla4ko:

Lo recuerdo :), tus consejos son buenos, pero "todo son matices", como dice PapaYozh.

Cuando se trabaja con promedios cada barra cuenta - ¡estadística, ya sabes! :)) - así que tengo que buscar otras soluciones más sutiles....

Si he entendido bien su problema, entonces no debe guiarse por la hora de cierre del pedido. Debe comenzar en el momento de la barra que dio la señal para abrir la posición. Lo que yo haría, personalmente, es lo siguiente:

1) crear una variable de tipo datetime donde introduciría el valor Time[0] si el pedido se realiza con éxito;

2) en la función init(), inicializar esta variable con el valor "0". Prefiero una inicialización explícita, ya que es más clara al revisar el código;

3) cuando aparezcan las condiciones para abrir una posición, antes de enviar la petición OrderSend(...), compara el valor de esta variable con el valor Time[0] y si no son iguales, envía una petición.

4) si la posición se abriera, almacenaría el valor de Time[0] en esa misma variable.

---

No sé si me he explicado bien, pero lo he intentado.

Por supuesto, este es el enfoque más primitivo, porque el EA podría reiniciarse en la barra en la que se abrió la orden y deberíamos considerar tales situaciones al escribir el EA. Pero la variante que he descrito le servirá también en la fase inicial.

 

¡Buenas tardes a todos!

Los programadores y los aficionados necesitan su ayuda. La esencia es la necesidad de un simple indicador que mostraría la línea horizontal, es decir, darle un nivel desde el que bailó (hacia abajo o hacia arriba, no hay diferencia) y se dibuja un cierto número de puntos de nuevo la línea, y así sucesivamente hasta el nivel especificado. Por ejemplo, el nivel de 1,2500 a 1,3400, una nueva línea cada 50 puntos ...


Gracias de antemano a todos los que respondan...

 

Es interesante cómo bailan las chicas... :)

Vuelvo a las "bromas" de mi DC...

¿Cómo es posible?

... ...es interesante cómo las poses se abrieron en el aire... Cuenta demo.

¿Cómo es posible?

Tengo entendido que si las posiciones se abrieron antes de la brecha, deberían estar paradas donde se abrieron, no revoloteando en el cielo...
... Bueno, si fueron trasladados, por qué no a la barra después del hueco, sino a algún lugar en el aire... Los milagros... :)

 

artmedia70, es un deslizamiento en un hueco) Cambia tu dtz )) joder ))
 
artmedia70:

... Es interesante cómo las poses se abren en el aire ... Cuenta demo.


No olvides que en el gráfico el precio es Bid, las órdenes de compra (parece que las tienes) se abren en Ask.
 
PapaYozh:

No olvides que en el gráfico el precio es Bid, las órdenes de compra (parece que las tienes) se abren en Ask.
¿No estamos abriendo una compra en Ask ???????? Y el spread no puede ser de 60 pips (tiene que ser después del gap), y si es antes del gap, el spread de 325 pips en el EUR es increíble. :)
Razón de la queja: