Código de bucle MGL4 para realizar el pedido
Código de bucle MGL4 para realizar el pedido

 

Publi

Resultados 1 al 5 de 5

Tema: Código de bucle MGL4 para realizar el pedido

  1. #1
    Hola gente,

    Sé que debe ser una pregunta tonta, pero aún no sé cómo abordar la solución.

    Quiero colocar 3 órdenes pendientes, todas con 20 pips de diferencia. No quiero tener el código OrderOpen tres veces. Sé que hay una mejor manera, supongo que se llama bucle.
    Código insertado PipsApart = 0;/este valor debe ser 20 por cada pedido adicional Currentbit = Bit PipsApart; PriceBuyStop = OfertaActual PipsApart; SLBuyStop = Currentbid-(StopLoss*Point*FourFiveDigitBrokerCalc); TPBuyStop = Currentbid (TakeProfit*Point*FourFiveDigitBrokerCalc); OrderSendReliable(Symbol(),OP_BUYSTOP,Lots,PriceBu yStop,3,SLBuyStop,TPBuyStop,BBT-PendSellStop,0,vencimiento,CLR_NONE); Ahora, ¿cómo hago para que esto se ejecute tres veces y básicamente agregue 20 pips al
    ¿Variable PipsApart?

    Gracias.

  2.                         
    Publicidad
  3. #2
    Código insertado int Número de intentos = 10; segundos dobles entre intentos = 2,5; for (int i=1; ilt;=NumberOfAttempts; i ) {/bucle para el número requerido de intentos int OrderNum = OrderSend(#91;color=Blue#93;lt;lt;...parameters... gt ;gt;#91;/color#93; int NúmeroError = Obtener??ltimoError(); if (NúmeroPedido gt; 0) descanso;/se creó una orden válida, por lo tanto, salga del ciclo si (ErrorNum #91;color=Blue#93;lt;lt;...cumple cualquier condición...gt;gt;#91;/color#93 {/Ocurrió una condición de error Sleep(SecondsBetweenAttempts*1000);/espera el número especificado de segundos RefreshRates();/tasas de actualización y bucle de nuevo para volver a intentarlo } else { break;/salir del ciclo } } Mike, Algo como lo anterior debería funcionar (aunque lo escribí de la cabeza y no lo he probado). Si está creando órdenes pendientes, entonces no hay problema. Sin embargo, si está creando órdenes de mercado, es probable que deba agregar SL y TP como un paso ModifyOrder() separado, para evitar el error 130 #8212; Paradas no válidas. David

  4. #3

    Cita Iniciado por ;
    Hola amigos, sé que esta debe ser una pregunta tonta, pero aún no sé cómo abordar la solución. Quiero colocar 3 órdenes pendientes, todas con 20 pips de diferencia. No quiero tener el código OrderOpen tres veces. Sé que hay una mejor manera, supongo que se llama bucle.
    Explicación del bucle for de MQL4
    http://docs.mql4.com/basis/operators/fores decir, algo como esto: Código insertado para (PipsApart = 0; PipsApart lt;= 40; PipsApart =20) {/este valor debe ser 20 para cada pedido adicional Currentbit = Bit PipsApart; PriceBuyStop = OfertaActual PipsApart; SLBuyStop = Currentbid-(StopLoss*Point*FourFiveDigitBrokerCalc); TPBuyStop = Currentbid (TakeProfit*Point*FourFiveDigitBrokerCalc); OrderSendReliable(Symbol(),OP_BUYSTOP,Lots,PriceBu yStop,3,SLBuyStop,TPBuyStop,BBT-PendSellStop,0,vencimiento,CLR_NONE); }

  5. #4
    ¡Gracias! Eso ayudó. Ahora tengo el problema de que el EA está tratando de realizar una operación, mientras que la operación no está permitida. ¿Cómo puedo decir en el código anterior que si no se permite el comercio, el programa tiene que esperar x segundos y verificar nuevamente si se permite el comercio, antes de realizar un pedido...?

  6. #5

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
Uso de cookies
Utilizamos cookies propias y de terceros para elaborar información estadística y mostrarle publicidad personalizada a través del análisis de su navegación. Si continúa navegando acepta su uso. Más información y política de cookies.
     

Aviso legal: Ni forosforex.com ni ninguna persona involucrada en forosforex.com aceptarán ninguna responsabilidad por cualquier pérdida o daño en el trading como resultado de la confianza en la información contenida en este sitio web, incluidos datos, cotizaciones, gráficos y señales de compra/venta. Por favor, infórmese plenamente de los riesgos y costes asociados a las operaciones en los mercados financieros, una de las formas de inversión que más riesgos entrañan.
forosforex.com le quiere recordar que los datos contenidos en este sitio web no son necesariamente en tiempo real ni exactos. forosforex.com no asume responsabilidad alguna por las pérdidas en que usted podría incurrir como resultado de la utilización de estos datos. Este acuerdo se rige por su versión en inglés, que prevalecerá siempre que haya alguna discrepancia entre la versión en inglés y la versión en español. Los CFD son un producto difícil de entender, varios organismos reguladores consideran que no es adecuado para inversores minoristas debido a su complejidad y riesgo.
Advertencia de riesgo: Los CFDs son un producto difícil de entender, y puede no ser adecuado para inversores minoristas debido a su complejidad y riesgo. Existe la posibilidad de sufrir una pérdida igual o superior a la inversión. Por lo tanto, no debe invertir o arriesgar dinero que no pueda permitirse perder. Debe asegurarse de que comprende todos los riesgos. Antes de abrir una cuenta en un broker por favor sea consciente e infórmese de los riesgos asociados con el trading. El contenido de este sitio web no debe interpretarse como asesoramiento personal. ForosForex recomienda que busque el consejo de un asesor financiero independiente.