Modificacion EA Mt5

MQL5 EA

명시

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.


파일:

MQ5
HARD10.mq5
5.8 Kb

응답함

1
개발자 1
등급
(3)
프로젝트
1
100%
중재
2
0% / 50%
기한 초과
0
무료
2
개발자 2
등급
(619)
프로젝트
722
33%
중재
46
48% / 41%
기한 초과
14
2%
로드됨
3
개발자 3
등급
(134)
프로젝트
174
40%
중재
10
40% / 10%
기한 초과
30
17%
무료
4
개발자 4
등급
(184)
프로젝트
317
24%
중재
23
35% / 13%
기한 초과
23
7%
무료
게재됨: 3 코드
5
개발자 5
등급
(45)
프로젝트
91
13%
중재
34
26% / 59%
기한 초과
37
41%
무료
6
개발자 6
등급
(515)
프로젝트
554
53%
중재
13
69% / 15%
기한 초과
3
1%
무료
7
개발자 7
등급
프로젝트
0
0%
중재
2
0% / 50%
기한 초과
0
작업중
8
개발자 8
등급
(1)
프로젝트
2
0%
중재
1
0% / 100%
기한 초과
0
무료
게재됨: 2 코드

프로젝트 정보

예산
30 - 100 USD