Versión 1.45
2025.04.01
Agregar nuevo parámetro Cerrar todas las posiciones
Versión 1.44
2025.03.30
+Agregar nuevo parámetro verificar solo marcas
Versión 1.43
2025.03.26
-Corregir error en el marco de tiempo de entrada
Versión 1.42
2025.03.17
+ Añadido _Point en Eval
Versión 1.37
2025.03.13
+Error corregido en el indicador DeMarker
Versión 1.36
2025.03.12
Nueva versión que corrige los errores de tiempo en los archivos generados por el indicador rule plotter.
Versión 1.35
2025.02.22
+ Soporte para el generador de código de Rule Plotter
Versión 1.34
2025.02.18
+ No permitas que el usuario use estrategias nulas.
Versión 1.33
2025.02.12
+Más 10 estrategias de correlación
Versión 1.32
2025.02.10
+ Usa el símbolo de otros en la estrategia secundaria para crear robots de correlación de estrategia
Versión 1.31
2025.02.09
+Utiliza otros marcos de tiempo para estrategias secundarias
Versión 1.30
2025.02.08
Usa otras estrategias combinadas
Versión 1.29
2025.01.19
+ Se agregó un parámetro para seleccionar el marco temporal de las señales de la estrategia.
Versión 1.28
2025.01.19
+ Parámetro para seleccionar el símbolo al que se enviarán las órdenes de trading en lugar del símbolo del gráfico actual. Mientras analizas el gráfico actual, puedes enviar órdenes a otro gráfico que no esté ejecutando el robot. Esto es útil para analizar símbolos personalizados como los gráficos Renko.
Versión 1.27
2025.01.18
¡Nueva Funcionalidad: Inversión de Señales en el Indicador Rule Plotter!
Ahora, el Rule Plotter Expert permite invertir todas las señales generadas por las estrategias configuradas. Al crear estrategias con las 4 señales principales (compra, venta, cerrar compra, cerrar venta), puedes configurar el Expert para operar en la dirección inversa de cada señal.
Esta funcionalidad es especialmente útil en optimizaciones, permitiendo identificar si una estrategia con resultados negativos puede volverse rentable al invertir las señales. Con esta actualización, tienes aún más control para ajustar y validar la eficiencia de tus estrategias en el mercado.
Versión 1.26
2025.01.06
-Denegar la apertura de posición si la señal de cierre está activa.
Versión 1.25
2024.12.14
Se agregó una biblioteca para el generador de código de Rule Plotter:
+ bool Import(const string json, const int instance=0);
+ int RulePlotterOnInit(const int instance=0);
+ void RulePlotterOnTick(const int instance=0);
+ void SetLot(const double lot, const int instance=0);
+ void SetTake(const double take, const int instance=0);
+ void SetTakeUnitType(const ENUM_UNIT_TYPE takeUnitType, const int instance=0);
+ void SetTakeUnitFrom(const ENUM_PRICE_FROM takeUnitFrom, const int instance=0);
+ void SetStop(const double stop, const int instance=0);
+ void SetStopUnitType(const ENUM_UNIT_TYPE stopUnitType, const int instance=0);
+ void SetStopUnitFrom(const ENUM_PRICE_FROM stopUnitFrom, const int instance=0);
+ void SetStopAtrPeriod(const int stopAtrPeriod, const int instance=0);
+ void SetStopStdDevPeriod(const int stopStdDevPeriod, const int instance=0);
+ void SetStopStdDevShift(const int stopStdDevShift, const int instance=0);
+ void SetStopStdDevMethod(const ENUM_MA_METHOD stopStdDevMethod, const int instance=0);
+ void SetStopStdDevApplied(const ENUM_APPLIED_PRICE stopStdDevApplied, const int instance=0);
+ void SetCheckRule(const ENUM_CHECK checkRule, const int instance=0);
+ void SetGeneralTimeframe(const ENUM_TIMEFRAMES generalTimeframe, const int instance=0);
+ void SetBreakeven(const uint breakeven, const int instance=0);
+ void SetTrailingUse(const bool trailingUse, const int instance=0);
+ void SetTrailingStart(const double trailingStart, const int instance=0);
+ void SetTrailingStartUnitType(const ENUM_UNIT_TYPE trailingStartUnitType, const int instance=0);
+ void SetTrailingStartUnitFrom(const ENUM_PRICE_FROM trailingStartUnitFrom, const int instance=0);
+ void SetTrailingDistance(const double trailingDistance, const int instance=0);
+ void SetTrailingDistanceUnitType(const ENUM_UNIT_TYPE trailingDistanceUnitType, const int instance=0);
+ void SetTrailingDistanceUnitFrom(const ENUM_TRAILING_DISTANCE_FROM trailingDistanceUnitFrom, const int instance=0);
+ void SetWaitPositionClose(const bool waitPositionClose, const int instance=0);
+ void SetMagic(const ulong magic, const int instance=0);
+ void SetDailyTake(const uint dailyTake, const int instance=0);
+ void SetDailyStop(const uint dailyStop, const int instance=0);
+ void SetTradeInJanuary(const ENUM_TRADE_ALLOWED tradeInJanuary, const int instance=0);
+ void SetTradeInFebruary(const ENUM_TRADE_ALLOWED tradeInFebruary, const int instance=0);
+ void SetTradeInMarch(const ENUM_TRADE_ALLOWED tradeInMarch, const int instance=0);
+ void SetTradeInApril(const ENUM_TRADE_ALLOWED tradeInApril, const int instance=0);
+ void SetTradeInMay(const ENUM_TRADE_ALLOWED tradeInMay, const int instance=0);
+ void SetTradeInJune(const ENUM_TRADE_ALLOWED tradeInJune, const int instance=0);
+ void SetTradeInJuly(const ENUM_TRADE_ALLOWED tradeInJuly, const int instance=0);
+ void SetTradeInAugust(const ENUM_TRADE_ALLOWED tradeInAugust, const int instance=0);
+ void SetTradeInSeptember(const ENUM_TRADE_ALLOWED tradeInSeptember, const int instance=0);
+ void SetTradeInOctober(const ENUM_TRADE_ALLOWED tradeInOctober, const int instance=0);
+ void SetTradeInNovember(const ENUM_TRADE_ALLOWED tradeInNovember, const int instance=0);
+ void SetTradeInDecember(const ENUM_TRADE_ALLOWED tradeInDecember, const int instance=0);
+ void SetMondayTrade(const ENUM_TRADE_ALLOWED mondayTrade, const int instance=0);
+ void SetMondayHourStart(const ENUM_TIME_HOUR mondayHourStart, const int instance=0);
+ void SetMondayMinuteStart(const ENUM_TIME_MINUTE mondayMinuteStart, const int instance=0);
+ void SetMondayHourEnd(const ENUM_TIME_HOUR mondayHourEnd, const int instance=0);
+ void SetMondayMinuteEnd(const ENUM_TIME_MINUTE mondayMinuteEnd, const int instance=0);
+ void SetMondayUseTimeToClose(const bool mondayUseTimeToClose, const int instance=0);
+ void SetMondayHourToClose(const ENUM_TIME_HOUR mondayHourToClose, const int instance=0);
+ void SetMondayMinuteToClose(const ENUM_TIME_MINUTE mondayMinuteToClose, const int instance=0);
+ void SetTuesdayTrade(const ENUM_TRADE_ALLOWED tuesdayTrade, const int instance=0);
+ void SetTuesdayHourStart(const ENUM_TIME_HOUR tuesdayHourStart, const int instance=0);
+ void SetTuesdayMinuteStart(const ENUM_TIME_MINUTE tuesdayMinuteStart, const int instance=0);
+ void SetTuesdayHourEnd(const ENUM_TIME_HOUR tuesdayHourEnd, const int instance=0);
+ void SetTuesdayMinuteEnd(const ENUM_TIME_MINUTE tuesdayMinuteEnd, const int instance=0);
+ void SetTuesdayUseTimeToClose(const bool tuesdayUseTimeToClose, const int instance=0);
+ void SetTuesdayHourToClose(const ENUM_TIME_HOUR tuesdayHourToClose, const int instance=0);
+ void SetTuesdayMinuteToClose(const ENUM_TIME_MINUTE tuesdayMinuteToClose, const int instance=0);
+ void SetWednesdayTrade(const ENUM_TRADE_ALLOWED wednesdayTrade, const int instance=0);
+ void SetWednesdayHourStart(const ENUM_TIME_HOUR wednesdayHourStart, const int instance=0);
+ void SetWednesdayMinuteStart(const ENUM_TIME_MINUTE wednesdayMinuteStart, const int instance=0);
+ void SetWednesdayHourEnd(const ENUM_TIME_HOUR wednesdayHourEnd, const int instance=0);
+ void SetWednesdayMinuteEnd(const ENUM_TIME_MINUTE wednesdayMinuteEnd, const int instance=0);
+ void SetWednesdayUseTimeToClose(const bool wednesdayUseTimeToClose, const int instance=0);
+ void SetWednesdayHourToClose(const ENUM_TIME_HOUR wednesdayHourToClose, const int instance=0);
+ void SetWednesdayMinuteToClose(const ENUM_TIME_MINUTE wednesdayMinuteToClose, const int instance=0);
+ void SetThursdayTrade(const ENUM_TRADE_ALLOWED thursdayTrade, const int instance=0);
+ void SetThursdayHourStart(const ENUM_TIME_HOUR thursdayHourStart, const int instance=0);
+ void SetThursdayMinuteStart(const ENUM_TIME_MINUTE thursdayMinuteStart, const int instance=0);
+ void SetThursdayHourEnd(const ENUM_TIME_HOUR thursdayHourEnd, const int instance=0);
+ void SetThursdayMinuteEnd(const ENUM_TIME_MINUTE thursdayMinuteEnd, const int instance=0);
+ void SetThursdayUseTimeToClose(const bool thursdayUseTimeToClose, const int instance=0);
+ void SetThursdayHourToClose(const ENUM_TIME_HOUR thursdayHourToClose, const int instance=0);
+ void SetThursdayMinuteToClose(const ENUM_TIME_MINUTE thursdayMinuteToClose, const int instance=0);
+ void SetFridayTrade(const ENUM_TRADE_ALLOWED fridayTrade, const int instance=0);
+ void SetFridayHourStart(const ENUM_TIME_HOUR fridayHourStart, const int instance=0);
+ void SetFridayMinuteStart(const ENUM_TIME_MINUTE fridayMinuteStart, const int instance=0);
+ void SetFridayHourEnd(const ENUM_TIME_HOUR fridayHourEnd, const int instance=0);
+ void SetFridayMinuteEnd(const ENUM_TIME_MINUTE fridayMinuteEnd, const int instance=0);
+ void SetFridayUseTimeToClose(const bool fridayUseTimeToClose, const int instance=0);
+ void SetFridayHourToClose(const ENUM_TIME_HOUR fridayHourToClose, const int instance=0);
+ void SetFridayMinuteToClose(const ENUM_TIME_MINUTE fridayMinuteToClose, const int instance=0);
+ void SetSaturdayTrade(const ENUM_TRADE_ALLOWED saturdayTrade, const int instance=0);
+ void SetSaturdayHourStart(const ENUM_TIME_HOUR saturdayHourStart, const int instance=0);
+ void SetSaturdayMinuteStart(const ENUM_TIME_MINUTE saturdayMinuteStart, const int instance=0);
+ void SetSaturdayHourEnd(const ENUM_TIME_HOUR saturdayHourEnd, const int instance=0);
+ void SetSaturdayMinuteEnd(const ENUM_TIME_MINUTE saturdayMinuteEnd, const int instance=0);
+ void SetSaturdayUseTimeToClose(const bool saturdayUseTimeToClose, const int instance=0);
+ void SetSaturdayHourToClose(const ENUM_TIME_HOUR saturdayHourToClose, const int instance=0);
+ void SetSaturdayMinuteToClose(const ENUM_TIME_MINUTE saturdayMinuteToClose, const int instance=0);
+ void SetSundayTrade(const ENUM_TRADE_ALLOWED sundayTrade, const int instance=0);
+ void SetSundayHourStart(const ENUM_TIME_HOUR sundayHourStart, const int instance=0);
+ void SetSundayMinuteStart(const ENUM_TIME_MINUTE sundayMinuteStart, const int instance=0);
+ void SetSundayHourEnd(const ENUM_TIME_HOUR sundayHourEnd, const int instance=0);
+ void SetSundayMinuteEnd(const ENUM_TIME_MINUTE sundayMinuteEnd, const int instance=0);
+ void SetSundayUseTimeToClose(const bool sundayUseTimeToClose, const int instance=0);
+ void SetSundayHourToClose(const ENUM_TIME_HOUR sundayHourToClose, const int instance=0);
+ void SetSundayMinuteToClose(const ENUM_TIME_MINUTE sundayMinuteToClose, const int instance=0);
+ void SetTimeTypeToTimeAllowed(const ENUM_TIME_TYPE timeTypeToTimeAllowed, const int instance=0);
Versión 1.24
2024.12.01
+ Usar parámetro de trailing true/false
+ El parámetro de inicio de trailing está de vuelta
Versión 1.23
2024.12.01
+ Agregar trailing por ATR
+ Agregar trailing por puntos
+ Agregar trailing por pips
+ Agregar trailing por dinero
+ Agregar trailing por desviación estándar
+ Agregar trailing por porcentaje del precio de apertura
+ Agregar trailing por porcentaje del balance
+ Agregar trailing por tamaño de la vela
- Eliminar inicio del trailing
Versión 1.22
2024.11.16
+ Añadir Stop y Take basado en Dinero
+ Añadir Stop y Take basado en Porcentaje del Saldo
+ Añadir Stop y Take basado en Pips
+ Añadir Stop y Take basado en Puntos
+ Añadir Stop y Take basado en Ticks
+ Añadir Stop y Take basado en Porcentaje del Precio de Apertura de la Posición
+ Añadir Stop y Take basado en el Tamaño de la Vela
+ Añadir Stop y Take basado en el Rango Promedio Verdadero (ATR)
+ Añadir Stop y Take basado en la Desviación Estándar
+ Añadir precio base de Stop y Take desde el Precio de Apertura de la Posición
+ Añadir precio base de Stop y Take desde Arriba o Debajo de la Vela
Versión 1.21
2024.11.10
+ Añadir entrada de Ganancia Diaria
+ Añadir entrada de Pérdida Diaria
+ Añadir una alerta en Rule Plotter cuando la estrategia no fue creada previamente por el Indicador Rule Plotter
- corregir error en las versiones /portable de metatrader
- corregir error de no cerrar todas las posiciones cuando aparece una señal de cierre simbolizada por la "bomba"
Versión 1.20
2024.08.22
+ Añadida la función First() en el lenguaje de Rule Plotter
Versión 1.14
2024.07.14
+ Corregido el error que eliminaba los espacios de los nombres de los indicadores involucrados en operaciones lógicas usando paréntesis en operaciones AND/OR
Versión 1.12
2024.05.25
Error visual corregido en el visualizador de estrategias
Versión 1.11
2024.05.10
Se ha añadido control de días, meses y horarios.
Versión 1.10
2024.05.05
Agregado Trailing Stop
Versión 1.9
2024.03.10
- Evitar que la estrategia cero se llene con el valor predeterminado
Versión 1.8
2024.03.09
+ Se ha añadido la entrada de Punto de Equilibrio, donde cero significa que el Punto de Equilibrio estará desactivado.
Versión 1.7
2024.02.22
Ahora es posible definir una regla de señal para cerrar la posición.
Versión 1.6
2024.02.19
Compatibilidad con más indicadores
Versión 1.3
2024.01.31
En cuentas de compensación, las operaciones ya no se cerrarán con la señal opuesta.
Versión 1.2
2024.01.07
- Bug de congelación del programa corregido
Versión 1.1
2024.01.06
- Corregir el error de tener demasiados osciladores en el modo visual del probador de estrategias
This is a really interesting EA that can run any strategy you create using the companion (FREE) rule-based Rule Plotter strategy builder indicator. What's even more remarkable is I had an issue running this EA and the creator, Francisco, connected to my PC to investigate the issue and he found the cause, which was related to my MT5 installation being non-standard. It works perfectly now. Amazing support and product.