Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 844

 
Escapee:

Espera... Entender finalmente lo que necesito...

Aquí está la apertura de la orden que necesitaba - OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0); . Y este guión funciona.

Ahora necesito un cierre......

No es un guión. Es sólo un comando para abrir una orden. La función OrderSend devuelve el ticket del pedido si la apertura fue exitosa. Pero antes de cerrarlo debe determinar el ticket de la orden. Para determinarlo, primero tenemos que seleccionar la orden de la lista de órdenes por su índice. Si sólo hay una orden abierta, su índice en la lista será 0. En consecuencia, si sólo hay una orden abierta, podemos hacer esto sin hacer un bucle y comprobar la coincidencia de símbolos y la coincidencia mágica. No es muy inteligente, pero aún así. Exclusivamente por el ejemplo.

if(OrderSelect(0, SELECT_BY_POS))
if(OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 30, clrNONE))
Print("Ордер закрыт");
Este truco no documentado en mql4 se puede utilizar para cerrar una orden OrderClosePrice() en lugar de Ask o Bid, y en este caso, no tenemos que distinguir entre los tipos de orden. Se cierra en cualquier caso.
 
AlexeyVik:

No es un guión. Es sólo un comando para abrir una orden. La función OrderSend devuelve el ticket del pedido si la apertura fue exitosa. Pero antes de cerrarlo debe determinar el ticket de la orden. Para determinarlo, primero tenemos que seleccionar la orden de la lista de órdenes por su índice. Si sólo hay una orden abierta, su índice en la lista será 0. En consecuencia, si sólo hay una orden abierta, podemos hacer esto sin hacer un bucle y comprobar la coincidencia de símbolos y la coincidencia mágica. No es muy inteligente, pero aún así. Exclusivamente por el ejemplo.

Este truco no documentado en mql4 se puede utilizar para cerrar una orden OrderClosePrice() en lugar de Ask o Bid, y en este caso, no tenemos que distinguir entre los tipos de orden. Se cerrará en cualquier caso.

Mire, usted lo ha escrito, pero ¿quién será el responsable de las "faltas"? :))))

No entiende que es un código muy incorrecto para trabajar en el mundo real. Bueno... es como si rodara por una colina sentado en un barril pensando que va en un coche.

Intenté mostrarle cómo hacerlo correctamente, no cómo hacerlo al azar... Ehhhhh...

 
Escapee:

Espera... Entender finalmente lo que necesito...

Aquí está la apertura de la orden que necesitaba - OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0); . Y este guión funciona.

Ahora necesito cerrar......

Entiendo perfectamente lo que necesitas. Y estoy tratando de explicarte cómo hacerlo bien. Pero tú cierras los oídos y no quieres escuchar. Supongo que tengo que despedirme.

Como ejemplo, se da un simple comando para enviar una solicitud de comercio al servidor. Por supuesto, le enviará la solicitud. ¿Pero los datos que contiene son correctos? ¿Y qué devuelve el servidor de comercio?

Y sí: esto no es un guión. Este es un comando mql4

 
Buenas noches, hay una pregunta, ¿es necesario poner un bloque en el Expert Advisor para trabajar con errores o el propio terminal los supera (errores como que el servidor no responde, el precio ha cambiado)?
 
Pokrov:
Buenas noches, hay una pregunta, ¿es necesario poner un bloque en el Expert Advisor para trabajar con errores o el propio terminal los supera (errores como que el servidor no responde, el precio ha cambiado)?
Buena pregunta. И?
 
Pokrov, tienes que poner un manejo de errores si quieres que el EA los supere.
 
artmedia70:
Buena pregunta. И?
Esa era la pregunta, hay un signo de interrogación al final, ¿es necesario u opcional?
 
artmedia70:

Mire, usted lo ha escrito, pero ¿quién se hará responsable de las "faltas" después? :))))

No se da cuenta de que es un código muy incorrecto para trabajar en el mundo real. Bueno... es como si bajara una colina en un barril pensando que va en un coche.

Intentaba enseñar a un hombre a hacer las cosas bien, no sólo a hacerlas... Ehhh...

Me lo llevo. Deberías beber menos. :) Aunque hay una advertencia. No es literaria, pero aún así. Por poner un ejemplo.
 
Pokrov:
Esa era la pregunta, hay un signo de interrogación al final, ¿es necesario u opcional?
Si está escribiendo un juguete de prueba, no tiene que hacerlo. Pero es mejor para el EA trabajador. Si el EA sigue machacando el servidor de corretaje con órdenes erróneas o modificaciones de órdenes sin cambiar los parámetros, la empresa de corretaje puede bloquear el EA y, en consecuencia, las órdenes establecidas por el EA quedarán "desatendidas".
 
AlexeyVik:
Si está escribiendo un juguete de prueba, no tiene que hacerlo. Pero es mejor para un EA que funcione. Si su EA sigue machacando el servidor con comandos erróneos o modificando órdenes sin cambiar los parámetros, su empresa de corretaje bloqueará su EA y, en consecuencia, las órdenes establecidas por su EA quedarán desatendidas.
Gracias.