Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 1457
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
Muchas gracias por tus valiosos consejos. Si no te importa, por favor envíeme un enlace a un Asesor Experto (no un indicador) que estaba en 4, y luego se convirtió en 5 (si se puede en el más simple), o la propia EA en 4 y luego lo mismo en 5.
Aquí está el más simple. Se llama así. Tiene tanto MQL5 código y MQL4.
Aquí está la más sencilla. Ese es su nombre. Contiene tanto código MQL5 como MQL4.
Gracias por su ayuda.
Pero en cuanto condicioné la apertura de una orden, las órdenes dejaron de abrirse, por favor díganme que hice mal. Aquí está el código que abrió órdenes cuando no había condiciones.
Todavía no he entendido este punto.... Cuando se abrían órdenes BAY, se cerraban, según he entendido, por contraórdenes CEL. Y no entiendo de dónde el código tomó la información acerca de cuántos pips para cerrar las órdenes, porque no he especificado el tamaño de SL y TP en cualquier lugar y no he especificado la función de cierre de órdenes en absoluto. Sospecho que esta información está escrita en algún lugar de algún archivo adjunto, es decir, en alguna clase o estructura. Si es así, ¿cómo encontrar este lugar para hacer cambios en los parámetros de la orden abierta?
Gracias de nuevo por su ayuda
Has declarado la estructura MqlDateTime, pero no la has inicializado, ahora está vacía o es una basura.
Así abrirá posiciones de compra en cada tick a partir de las 10:00 hrs, durante un minuto. Luego a las 11:00 empezará a abrir posiciones de compra durante un minuto más.
Este código no puede cerrar posiciones, no hay nada de eso dentro de la clase CTrade.Declaraste la estructura MqlDateTime , pero no la inicializaste, ahora está vacía o es basura.
Así abrirá posiciones de compra en cada tick a partir de las 10:00 horas, durante un minuto. Luego a las 11:00 empezará a abrir más posiciones de compra durante un minuto.
Este código no puede cerrar posiciones, no hay nada de eso dentro de la clase CTrade.Muchas gracias.... Me has hecho avanzar mucho en el dominio del 5. Dices que este código no puede cerrar posiciones. Pero si quitas todas las condiciones, entonces las posiciones se abren y cierran por contraórdenes CEL.... según tengo entendido. Entonces, ¿qué comando del código se utiliza para cerrar órdenes? ¿De dónde saca el programa los datos para cerrar las órdenes exactamente después de un cierto número de puntos, o al ocurrir algún evento? Ni siquiera entiendo por qué regla las cierra.
También me he dado cuenta de que las órdenes SEL, que se utilizan para cerrar órdenes BAY, por alguna razón tienen un número de ticket muy alejado del número de ticket de la orden BAY que están cerrando. Por ejemplo, la primera orden BAY tiene ticket 2, pero la orden CEL que la cierra no tiene ticket 3 (que sería lo lógico) sino 91779 por alguna razón.
Y si abres sólo 1 orden, todo se vuelve lógico. La orden Bai tiene el número 2, y la orden CEL que la cierra tiene el número 3.
Muchas gracias.... Me has hecho avanzar mucho en el dominio del 5. Dices que este código no puede cerrar posiciones. Pero si eliminas todas las condiciones, entonces las posiciones se abren y se cierran mediante contraórdenes CEL.... según tengo entendido. Entonces, ¿qué comando del código se utiliza para cerrar órdenes? ¿De dónde saca el programa los datos para cerrar las órdenes exactamente después de un cierto número de puntos, o al ocurrir algún evento? Ni siquiera entiendo por qué regla las cierra.
También me he dado cuenta de que las órdenes SEL, que se utilizan para cerrar órdenes BAY, por alguna razón tienen un número de ticket muy alejado del número de ticket de la orden BAY que están cerrando. Por ejemplo, la primera orden BAY tiene ticket 2, pero la orden CEL que la cierra no tiene ticket 3 (que sería lo lógico) sino 91779 por alguna razón.
Y si abres sólo 1 orden, todo se vuelve lógico. La orden Bai tiene el número 2, y la orden CEL que la cierra tiene el número 3.
Bueno, es difícil entender lo que está pasando allí, pero creo que abrir más posiciones de lo permitido por el corredor en este instrumento y el probador comienza a cerrar los extras.
En realidad, no debería abrir estas posiciones adicionales. Pero no puedo explicar lo que te está pasando de otra manera.
Tampoco entiendo una posición. Por qué se cierra al final del día. Tal vez tu broker prohibe llevar posiciones al dia siguiente.
Bueno, es difícil entender qué está pasando ahí, pero creo que abres posiciones más de las permitidas por el broker en este instrumento y el probador empieza a cerrar las que sobran.
En realidad, no debería abrir estas posiciones adicionales. Pero no puedo explicar lo que está pasando de otra manera.
Tampoco entiendo una posición. Por qué se cierra al final del día. Quizás su broker no le permite llevar posiciones al día siguiente.
Gracias. La explicación parece muy lógica. En un quad con exactamente el mismo código y el mismo periodo, ocurre lo mismo, sólo que las órdenes no se cierran con una contraorden. Mi broker es Alpari. Después de tus explicaciones, me quedó claro por qué los números de las contraórdenes de cierre difieren tanto de las órdenes que cierran. Porque todas las ordenes de cierre se abren al final despues de todas las ordenes de cierre.
Buenas tardes a todos!
Estoy tratando de aprender a colocar órdenes en los cinco utilizando la clase CTrade, ya que me pareció que esta es la forma más rápida y sencilla de establecerlos. Para ser más preciso, estoy tratando de aprender a establecer el parámetro STOPLOSS. En cuatro el último precio de oferta se almacenaba en el Bid predefinido, y en cinco según he entendido el último precio de oferta no se almacena, sino que, si no me equivoco, como una de las opciones, se calcula en el método Bid de la clase CSymbolInfo. Pero para que este método calcule el precio Symbol debe estar previamente seleccionado por el método Name. Entiendo como funciona el métodoName, en el que hay que introducir el nombre del símbolo o NULL y devolverá false o true.
Pero no consigo entender cómo y dónde combinar el método Name y el método Bid, para que el precio Bid se almacene en la variable c
En cuatro ordenes fueron seleccionadas usando la función Select(). Pero en cinco ordenes deberían ser seleccionadas no ordenes sino el símbolo..... No entiendo como hacerlo
Te agradecería mucho que escribieras un fragmento en mi código para guardar el precio Bid en la variable con, que uso en el parámetro SL del método Btsu de la clase CTrade.
Ayúdame a entender. En la línea ObjectMove(0, "LineAB", prevTime, prevPrice, newAx, newAy); dice recuento de parámetros erróneo. ¿Dónde está el error?
https://www.mql5.com/ru/docs/objects/objectmove