Modificacion EA Mt5

MQL5 Experts

Termos de Referência

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.


Arquivos anexados:

MQ5
HARD10.mq5
5.8 Kb

Respondido

1
Desenvolvedor 1
Classificação
(3)
Projetos
1
100%
Arbitragem
2
0% / 50%
Expirado
0
Livre
2
Desenvolvedor 2
Classificação
(619)
Projetos
722
33%
Arbitragem
46
48% / 41%
Expirado
14
2%
Carregado
3
Desenvolvedor 3
Classificação
(134)
Projetos
174
40%
Arbitragem
10
40% / 10%
Expirado
30
17%
Livre
4
Desenvolvedor 4
Classificação
(184)
Projetos
317
24%
Arbitragem
23
35% / 13%
Expirado
23
7%
Livre
Publicou: 3 códigos
5
Desenvolvedor 5
Classificação
(45)
Projetos
91
13%
Arbitragem
34
26% / 59%
Expirado
37
41%
Livre
6
Desenvolvedor 6
Classificação
(515)
Projetos
554
53%
Arbitragem
13
69% / 15%
Expirado
3
1%
Livre
7
Desenvolvedor 7
Classificação
Projetos
0
0%
Arbitragem
2
0% / 50%
Expirado
0
Trabalhando
8
Desenvolvedor 8
Classificação
(1)
Projetos
2
0%
Arbitragem
1
0% / 100%
Expirado
0
Livre
Publicou: 2 códigos
Pedidos semelhantes
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

Informações sobre o projeto

Orçamento
30 - 100 USD