Modificacion EA Mt5

MQL5 Experts

Specification

Tengo un EA ya operativo en MetaTrader 5, y me gustaría que realizaras unas modificaciones específicas. A continuación, te detallo cómo funciona actualmente el EA y luego te explico las instrucciones precisas que deben implementarse para lograr el comportamiento deseado.


1. Funcionamiento actual del EA (base HARD10)

  • El EA abre una operación de compra o venta al iniciarse, dependiendo del parámetro OperarEnVenta (true = venta, false = compra).

  • La operación se abre con un LoteInicial , un SL y TP en pips definidos por parámetros.

  • Si la operación se cierra por Stop Loss (SL):

    • Se multiplica el volumen por el MultiplicadorLotes para la próxima operación.

    • Se incrementa un contador de SLs consecutivos.

    • Si se alcanza el número máximo de SLs consecutivos ( MaximosSLseguidos ), el EA se detiene.

  • Si la operación se cierra por Take Profit (TP):

    • El lote se reinicia al valor inicial.

    • El contador de SLs se reinicia.

    • Si DetenerTrasTP = true , el EA se detiene.

  • Si la operación se cierra de forma manual:

    • El lote se reinicia y se anulan los contadores.

  • El EA usa un MagicNumber para filtrar solo sus operaciones.

  • Todo esto ocurre en cada símbolo donde el EA está conectado, de forma independiente.


2. Modificaciones solicitadas

a) Activación por hora y minuto 

Deseo que el EA permanezca inactivo para abrir nuevas operaciones hasta que llegue una hora y minuto configurables. Sin embargo, sí debe seguir detectando cierres de operaciones previas, incluso antes de esa hora, ya que es necesario para mantener la lógica sincronizada con otros símbolos.

Inputs a añadir:


input bool ActivarHoraDeInicio = true;

input int HoraActivacion = 9;

input int MinutoActivacion = 30;

  • Si ActivarHoraDeInicio = true , el EA debe esperar a la hora indicada para comenzar a abrir operaciones.

  • Durante ese tiempo, debe seguir ejecutando la lógica de detección de cierres, actualización del contador de SLs, y ajuste del lote o SL/TP si corresponde.

  • Si el EA se conecta después de esa hora, debe activarse directamente.

b) Ampliación del SL y TP tras varias pérdidas consecutivas 

Deseo implementar una función que aumente el tamaño del StopLoss y del TakeProfit tras una cadena de operaciones perdedoras consecutivas.

Inputs a añadir:

input bool ActivarSLTPExpandido = true;
input int SLsAntesDeExpandir = 5;
input double FactorSLTPExpandido = 1.5; // Por ejemplo: multiplica SL y TP por 1.5


Lógica esperada:

  • Si ActivarSLTPExpandido = true y se han acumulado SLsAntesDeExpandir pérdidas consecutivas o más, entonces:

    • El próximo trade utilizará un SL y TP multiplicados por FactorSLTPExpandido .

  • Si se alcanza un TP o se cierra manualmente:

    • El lote, SL y TP vuelven a los valores originales.

c) Sincronización de estado entre múltiples gráficos

Actualmente, si el EA está conectado en dos gráficos distintos (por ejemplo, EURUSD y XAUUSD), cada instancia trabaja de forma completamente independiente. Quiero cambiar eso.

Objetivo: que todas las instancias del EA (aunque estén en símbolos distintos) compartan la misma lógica de progresión y multiplicador.

Ejemplo:

  • En el gráfico del EURUSD el EA ha operado y ha tenido 3 SL consecutivos, por lo que el lote se ha multiplicado.

  • En el gráfico del XAUUSD el EA aún no ha sido activado (porque está esperando su hora de inicio).

  • Cuando se active el EA en el XAUUSD, debe heredar esa misma lógica, es decir:

    • Detectar que ya hay una serie de SL anteriores acumulados en otro símbolo.

    • Calcular y aplicar el mismo multiplicador de lotaje y, si corresponde, el SL/TP ampliado.

Requisitos técnicos:

  • Se puede usar un sistema de almacenamiento compartido entre instancias (variables globales, archivos, etc.).

  • Es fundamental que cada instancia del EA pueda saber cuál es el estado de progresión global antes de operar por primera vez.


3. Requisitos generales

  • Código limpio, eficiente, que compile sin errores.

  • Entregar archivo final en formato .mq5 .

  • Si alguna parte no es viable exactamente como la pido, estoy abierto a sugerencias técnicas.


Files:

MQ5
HARD10.mq5
5.8 Kb

Responded

1
Developer 1
Rating
(3)
Projects
1
100%
Arbitration
2
0% / 50%
Overdue
0
Free
2
Developer 2
Rating
(619)
Projects
722
33%
Arbitration
46
48% / 41%
Overdue
14
2%
Loaded
3
Developer 3
Rating
(134)
Projects
174
40%
Arbitration
10
40% / 10%
Overdue
30
17%
Free
4
Developer 4
Rating
(184)
Projects
317
24%
Arbitration
23
35% / 13%
Overdue
23
7%
Free
Published: 3 codes
5
Developer 5
Rating
(45)
Projects
91
13%
Arbitration
34
26% / 59%
Overdue
37
41%
Free
6
Developer 6
Rating
(515)
Projects
554
53%
Arbitration
13
69% / 15%
Overdue
3
1%
Free
7
Developer 7
Rating
Projects
0
0%
Arbitration
2
0% / 50%
Overdue
0
Working
8
Developer 8
Rating
(1)
Projects
2
0%
Arbitration
1
0% / 100%
Overdue
0
Free
Published: 2 codes
Similar orders
RSI BOT 30+ USD
Buenas, necesito hacer un bot o algo parecido que realice Compras o Ventas en dependencia del RSI, en temporalidades especificas , debe tener opcion para configurar : Temporalidad del Mercado, Periodo del RSI, cantidad de operciones abrir por cada tip, Cerrar opereciones en dependencia de las ganancias o perdidas.Es importante que el bot no haga Compras y ventas en el mismo mercado solo la que se le indique

Project information

Budget
30 - 100 USD