EA no gestiona operaciones
EA no gestiona operaciones

 

Publi

Resultados 1 al 8 de 8

Tema: EA no gestiona operaciones

  1. #1
    He codificado un EA simple para gestionar mi stoploss y takeprofit. Soy un comerciante manual. Hice esto porque es una molestia para mí tener que establecer cada vez el takeprofit y el stoploss. Adjunto mi código. Gracias por adelantado.


    Código insertado extern int StopLoss = 10; extern int TakeProfit = 50; punto doble; int init() { if (Dígitos==2)punto=0.01; si (Dígitos==3)punto=0.01; si (Dígitos==4)punto=0.0001; si (Dígitos==5)punto=0.0001; retorno(0); } int deinit() { return(0); } int OrderCount(int tipo) { int buycnt,sellcnt; for (int i=OrdersTotal()-1;igt;=0;i--) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { if (OrderSymbol()==Symbol()) { if ( OrderType()==OP_BUY)buycnt=buycnt 1; if (OrderType()==OP_SELL)sellcnt=sellcnt 1; } } } if (tipo==0)return(buycnt); de lo contrario si (tipo == 1) devuelve (sellcnt); else if (tipo==3)return(buycnt sellcnt); si no regresa(0); }/--------------------------------------------------------------- -------------------------------------------------- -------------------------/----------------------- -------------------------------------------------- ------------------------------------------------- vacío verificarStoploss() { double buystoploss, sellstoploss, buyTakeprofit, sellTakeprofit; buystoploss=Oferta-StopLoss*punto; buyTakeprofit=Preguntar TakeProfit*punto; sellstoploss=Preguntar StopLoss*punto; sellTakeprofit=Bid-TakeProfit*punto; if (OrderCount(0)gt;0 (OrderStopLoss() lt; Point || OrderTakeProfit() lt; Point) )/si no están configurados { OrderModify(OrderTicket(), OrderOpenPrice(), buystoploss, buyTakeprofit, OrderExpiration( ), CLR_NINGUNO); Dormir (3000); } if (OrderCount(1)gt;0 (OrderStopLoss() lt; Point || OrderTakeProfit() lt; Point) ) { OrderModify(OrderTicket(), OrderOpenPrice(), sellstoploss, sellTakeprofit, OrderExpiration(), CLR_NONE); Dormir (3000); } } int start() { verificarStoploss(); retorno(0); }

  2.                         
    Publicidad
  3. #2
    Le sugiero que abra sus pedidos a través de un script (al que puede asignar una clave) en general, donde también puede configurar su sl, tp, automáticamente, en lugar de seguir la ruta que está siguiendo en este momento. Puede configurar scripts antes de comenzar de la misma manera que, por ejemplo, los expertos. Script de muestra para OP_BUYLIMIT, compilación 600 : Código insertado/código de script #propiedad estricta #propiedad script_show_inputs input double PRICE = 0; entrada doble LOTE = 0.01;/tamaño del lote input double SL = 10;/stop loss pips input double TP = 50;/tomar ganancias pips input int MAGIC = 123;/número mágico void OnStart() { double f#91;#93; = {1,1,1,10,1,10};/Factor de corrección de puntos basado en Dígitos precio doble = PRECIO;/cero significa precio actual en el script caído RefreshRates(); if(precio == 0) precio = Preguntar; int ticket = OrderSend(Symbol(), OP_BUYLIMIT, LOT, price, 0, 0, 0, NULL, MAGIC);/orden abierta if(boleto != -1) OrderModify(boleto, precio, precio - f#91;Dígitos#93;*Punto*SL, precio f#91;Dígitos#93;*Punto*TP, 0) ;/establecer stop loss, tomar ganancias }

  4. #3
    En la función verificarStoploss() debe seleccionar las órdenes abiertas en un bucle.

  5. #4
    Código insertado void verificarStoploss() { double buystoploss, sellstoploss, buyTakeprofit, sellTakeprofit; if (OrderCount(0)gt;0 (OrderStopLoss() lt; Point || OrderTakeProfit() lt; Point) )/si no están configurados { buystoploss =OrderOpenPrice()-StopLoss*point; buyTakeprofit =OrderOpenPrice() TakeProfit*point; OrderModify(OrderTicket(), OrderOpenPrice(), buystoploss, buyTakeprofit, OrderExpiration(), CLR_NONE); Dormir (3000); } if (OrderCount(1)gt;0 (OrderStopLoss() lt; Point || OrderTakeProfit() lt; Point) ) { sellstoploss =OrderOpenPrice() StopLoss*point; venderTakeprofit =OrderOpenPrice()-TakeProfit*point; OrderModify(OrderTicket(), OrderOpenPrice(), sellstoploss, sellTakeprofit, OrderExpiration(), CLR_NONE); Dormir (3000); } } No soy un experto en programación MQL, disculpe. Probé el código anterior, sin embargo, el stoploss/takeprofit todavía no está configurado.

  6. #5

    Cita Iniciado por ;
    {quote} La respuesta fue rápida y muchas gracias.
    De nada.

  7. #6
    Está calculando el TP/SL de operaciones existentes con el precio Ask/Bid que es incorrecto. En su lugar, debe calcular el TP/SL con OrderOpenPrice().

  8. #7

    Cita Iniciado por ;
    Está calculando el TP/SL de operaciones existentes con el precio Ask/Bid que es incorrecto. En su lugar, debe calcular el TP/SL con OrderOpenPrice().
    La respuesta fue rápida y muchas gracias.

  9. #8
    Gracias chicos. Estudiaré ambas alternativas.

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.