Cómo saber si la última orden cerrada - Página 2
Cómo saber si la última orden cerrada

 

Publi

Página 2 de 352 PrimerPrimer 12
Resultados 11 al 17 de 17

Tema: Cómo saber si la última orden cerrada

  1. #11
    int Prev_Orders = -1, MagicNumber = 460;/ -------------------------------------------------------- ------------------- /| función de inicio de programa |/ -------------------------------------------------------- ------------------- int start() {/---- if (Prev_Orders lt; 0)Prev_Orders = OrdersHistoryTotal();/tenemos que empezar en alguna parte, así que establezca los pedidos anteriores en el total del historial para el primer tick if (OrdersHistoryTotal() gt; Prev_Orders)Alert(Get_Reason(MagicNumber));//el historial de pedidos ha aumentado, por lo que un pedido debe haber cerradogt;gt; gt;gt;gt; veamos la razón para hacer algo con eso Prev_Orders = OrdersHistoryTotal();/registrar el número de pedidos históricos para la próxima ronda/---- return(0); }/ ---------------------------------------------- -------------------- string Get_Reason(int Local_Magic) { for(int i=OrdersHistoryTotal()-1;i gt;= 0;i--){/recorrer las órdenes en orden inverso....la última cerrada debe ser la primera. if (!OrderSelect(i, SELECT_BY_POS,MODE_TRADES)){/seleccione la orden Print( OrderSelect(SELECT_BY_TICKET) - Error #,GetLastError() );//Oops, hay un problema continue;/avanzar } if (OrderMagicNumber() == Local_Magic){/¿Es este el pedido que nos interesa? if (StringFind( OrderComment(), [sl] ) gt;= 0 ) return(StopLoss Hit);//Stoploss comentario if (StringFind( OrderComment(), [tp] ) gt;= 0 ) return(TakeProfit Hit);/Comentario de TakeProfit if (StringFind( OrderComment(), [SO] ) gt;= 0 ) return(Stopped Out);//Stopped Out Comment } } return(No lo sé, no es mi orden o si lo era, se cerró algunas Otra manera);/Ha pasado por los pedidos y no es ninguna de las 3 razones anteriores }

  2.                         
    Publicidad
  3. #12

    Cita Iniciado por ;
    Perdona mi ignorancia, ¿cómo implementarías este código para que se ejecute solo una vez al final de cada orden? Muchas gracias.
    Esto debería funcionar de la manera que quieras. Código insertado total = OrdersHistoryTotal(); for(i = total - 1; i gt;= 0; i--){ OrderSelect(i, SELECT_BY_POS,MODE_HISTORY); if(OrderSymbol() == Symbol()){ if(TimeCurrent() - OrderCloseTime()==1){ if(OrderClosePrice() == OrderTakeProfit()) Print(TakeProfit Hit); if(OrderClosePrice() == OrderStopLoss()) Print(StopLoss Hit);}}

  4. #13
    Hola Ronald, no estoy seguro de que este código sea a prueba de balas dado el potencial de deslizamiento en la mayoría de los corredores. ¿Seguramente sería bastante común que el precio de cierre y el TP estuvieran ligeramente desviados? Esto puede ser un poco mejor: - if (StringFind( OrderComment(), [sl] ) gt;= 0 ) Print(StopLoss Hit); ; if (StringFind( OrderComment(), [tp] ) gt;= 0 ) Print(TakeProfit Hit);

  5. #14
    Perdona mi ignorancia, ¿cómo implementarías este código para que se ejecute solo una vez al final de cada orden? Muchas gracias.

  6. #15
    OrderSelect(i, SELECT_BY_POS, MODE_HISTORY); if(OrderClosePrice() == OrderTakeProfit()) Print(TakeProfit Hit); if(OrderClosePrice() == OrderStopLoss()) Print(StopLoss Hit);

  7. #16

    Cita Iniciado por ;
    OrderSelect(i, SELECT_BY_POS, MODE_HISTORY); if(OrderClosePrice() == OrderTakeProfit()) Print(TakeProfit Hit); if(OrderClosePrice() == OrderStopLoss()) Print(StopLoss Hit);
    Respuesta muy rápida, muchas gracias!

  8. #17
    ¿Puede alguien decirme en qué parte de la función Inicio () debería ir la función de verificación del último pedido?

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.