EA Expert basado en EMA lenta barras y EMA rapida

MQL5 Asesores Expertos

Trabajo finalizado

Plazo de ejecución 2 días
Comentario del Ejecutor
Gracias por la oportunidad.
Comentario del Cliente
This encoder performs extremely well in the mql language. He interpreted the strategy extremely well and patiently knew how to add conditions to the code to achieve the objective.

Tarea técnica

Necesito que se desarrole un EA Expert para MT5 basado en EMA de 200 periodos el cual será el detector de la tendencia principal.

Para indice de futuros S&P500 y otros en marco temporal D1 y H1:

El EA debe detectar que la tendencia es alcista, de lo contrario no hacer nada.

Condiciones: se deben cumplir 3 barras bajistas completadas en contra de la tendencia principal, despues de la tercera vela el EA debe abrir una operacion de compra en favor de la tendencia principal.

El EA cerrará la orden solo cuando el precio esté por encima de la EMA de 5 periodos.

En imputs debe haber gestión de capital lote fijo o dinámico así como ajuste de Stop Loss

Es una estrategia FIFO.

Aquí un borrador en código de la estrategia:

//+------------------------------------------------------------------+

//|                                            EMAS&bars.mq5   |

//|                          Copyright 2024, xxxx xxxxxx xxxxx. |

//|                                   https://www.opentrading.top |

//+------------------------------------------------------------------+

input int emaSlowPeriods = 200;

input int emaFastPeriods = 5;

input double lotSize = 0.1;

input int stopLoss = 135; // en puntos


// Variables globales

bool trendIsUp = false;

int consecutiveBearishCandles = 0;

int ticket = 0;


//+------------------------------------------------------------------+

//| Expert initialization function                                   |

//+------------------------------------------------------------------+

int OnInit()

  {

   return (INIT_SUCCEEDED);

  }

//+------------------------------------------------------------------+

//| Expert deinitialization function                                 |

//+------------------------------------------------------------------+

void OnDeinit(const int reason)

  {

   //--- 

  }

//+------------------------------------------------------------------+

//| Expert tick function                                             |

//+------------------------------------------------------------------+

void OnTick()

  {

   // Verificar tendencia

   double emaSlow = iMA(NULL, 0, emaSlowPeriods, 0, MODE_EMA, PRICE_CLOSE, 0);

   double emaFast = iMA(NULL, 0, emaFastPeriods, 0, MODE_EMA, PRICE_CLOSE, 0);


   if (emaSlow > emaSlow[1])

       trendIsUp = true;

   else

       trendIsUp = false;


   // Detectar velas bajistas consecutivas

   if (Close[0] < Open[0])

       consecutiveBearishCandles++;

   else

       consecutiveBearishCandles = 0;


   // Condición de entrada

   if (trendIsUp && consecutiveBearishCandles >= 3 && ticket == 0)

   {

       // Realizar acciones de entrada

       double stopLossPrice = NormalizeDouble(Bid - stopLoss * Point, Digits);

       ticket = OrderSend(Symbol(), OP_BUY, lotSize, Ask, 3, stopLossPrice, 0, "Compra basada en estrategia", 0, 0, Green);

       if (ticket > 0)

       {

           Print("Orden de compra abierta: Ticket #", ticket);

       }

       else

       {

           Print("Error al abrir la orden de compra: ", GetLastError());

       }

   }


   // Condición de salida

   if (ticket > 0)

   {

       if (OrderSelect(ticket, SELECT_BY_TICKET) == true)

       {

           if (OrderType() == OP_BUY && Close[0] > emaFast)

           {

               if (OrderClose(ticket, OrderLots(), Bid, 3, Red))

               {

                   Print("Orden de compra cerrada: Ticket #", ticket);

                   ticket = 0; // Restablecer la variable ticket

               }

               else

               {

                   Print("Error al cerrar la orden de compra: ", GetLastError());

               }

           }

       }

   }

  }

//+------------------------------------------------------------------+



Han respondido

1
Desarrollador 1
Evaluación
(154)
Proyectos
257
24%
Arbitraje
12
25% / 8%
Caducado
15
6%
Trabaja
Solicitudes similares
En ingles: I need a BOT for Forex, especially I trade in EURUSD, to work on MT5 in MQL5, open trades only in 30 minute and one hour trend. That the condition for placing an order is that in 5-minute or 3-minute charts (customizable), a maximum or minimum has been exceeded (as applicable) and an FVG has been generated, on the way to exceeding that maximum or minimum, in its retracement now in trend, the price breaks
El bot de trading con las siguientes reglas: 1, se ponen dos operación en el mercado, una de buy limit y otra de sell limit a 50 pips fijos del precio actual 2. Las dos operación va a tener una trailing stop de 50 pips 3. Cuando se abra una de las dos operación, la operación que no abrió se elimina automáticamente 4. Cuando se cierre todas las operación se vuelve a repetir los anteriores paso 5. El lotajes debe ser
I need a script for mt5 that allows me to extract the following information from my broker in real time Symbol, commission, long swap, short swap which also allows me to identify changes by showing the previous value and the current value, and which issues an alert when the swap value or commissions change
Teclas rápidas 30 - 100 USD
Quisiera tener un asesor experto para conseguir mediante el teclado teclas rápidas para comprar, vender, cerrar, etc., eligiendo lotaje, para mas detalles, por favor ponerse en contacto para facilitar todo tipo de información
UTILIZANDO LAS BANDA DE PRECIO VS EL TIEMPO PODREMOS REALIZAR UNA DOBLE INTEGRAL DESARROLLAREMOS UNA FUNCIÓN MATEMATICA QUE NOS PERMITE SABER APROXIMADAMENTE CUANTO BAJARA Y SUBIRA EL PRECIO DE LA INVERSION PROPUESTA EN EL MERCADO QUE TENGAMOS. ʃʃ x*f(y) dydx
Hi guys, I need to develop a local copy trading bot that: - Copy all trades from master account to client account - Allow to change magic number and comments on client account - Allow to add a custom delay un execution on cliente account - Allow to modify TP and SL from master account to cleinte account a custom pips/ticks value - Allow to hide SL and TP - Make Imitation manual trading on client account - Allow to
Necesito un bot HFT que pueda pasar el challenge de la empresa de fondeo de Be Funding, este bot debe ser capaz de salir en ganancias gracias a las velas de gran tamaño que se dan en el mercado de BOOM y CRASH de indices sinteticos, o alguna estrategia efectiva en caso de ser de arbitraje debe ser capaz de identificar un cambio en los ticks y abrir una operación en compra( en el indice BOOM) o venta( en el indice
He programado una representación del precio personalizada. Es un tipo de vela parecida al estilo heikin ashi. Necesito integrar este indicador en un asesor experto q incluye alarmas, aperturas y cierre de operaciones, reapertura en ciertzs condiciones, stop y trailing stop junto con una estabilidad de las posiciones. Ademas de poder configurar la temporalidad con la que trabajar y el tamano de posicion inicial etc

Información sobre el proyecto

Presupuesto
30+ USD
IVA (19%): 5.7 USD
Total: 35.7 USD
Para el ejecutor
27 USD