Funcionalidad

Esta herramienta gestiona las órdenes del activo cargado en la ventana donde se ejecuta. El principal cometido es mover los stop loss de las órdenes abiertas con un magic (por defecto el magic del software SMC), siempre reduciendo riesgo o asegurando beneficios. Se pueden configurar distintas estrategias de movimiento, pudiendo elegir para cada una de ellas:

  • No usar. Simplemente el stop loss no se moverá siguiendo la estrategia concreta
  • Usar siempre. El stop loss se moverá desde el primer momento siguiendo la estrategia concreta
  • Usar cuando se llegue a un porcentaje. El stop se moverá siguiendo la estrategia concreta, pero sólo cuando el movimiento de stop me asegure un nivel mínimo de ganancia con respecto al riesgo inicial*. Por ejemplo, si se especifica un valor 100, el primer movimiento de stop loss que se produzca, como mínimo debe asegurar un beneficio igual al riesgo inicial* de la operación. Si arriesgaba 20 Eur, el stop se situará al menos ganando 20 Eur.

Las estrategias de gestión de stop loss son las siguientes:

  • Mover stop loss siguiendo los swings del mercado. Se puede configurar esta estrategia para que sitúe el stop siguiendo los swings confirmados del indicador SMC_SwingLines. Para las órdenes alcistas, lo situará por debajo del último suelo del swing, y para las bajistas, por encima del último techo del swing.
  • Mover stop loss siguiendo una media. Se puede configurar una estrategia de medias, para que mueva el stop con la última media confirmada (vela 1), de las disponibles en el indicador SMC_MovingAverageAdaptative
  • Mover stop loss siguiendo el indicador parabólico o SAR.  Se puede configurar el indicador parabólico-sar, para mover el stop con la última vela confirmada (vela 1) de este indicador.
  • Mover stop loss cuando el precio alcance porcentajes con respecto al riesgo inicial. Todos los porcentajes que se indican en esta estrategia se miden con respecto al riesgo inicial*. En este caso, lo que nos permite hacer es mover el stop conforme el precio va alcanzando niveles. Por defecto está configurado el movimiento a 100;200;300 que significa, cuando el precio sitúa a la operación ganando el riesgo inicial*, 2x el riesgo inicial* y 3x el riesgo inicial*. En otra variable se indica, dónde mover el stop cuando se llega a cada nivel anterior. Por defecto está a 0;100;200 lo que significa que lo mueva a 0 de beneficio, ganancia del riesgo inicial*, y 2x ganancia el riesgo inicial*, respectivamente.
  • Mover stop loss a breakeven (valor de apertura de la orden). Cuando el precio alcanza un beneficio en porcentaje al riesgo inicial* dado, el stop se sitúa en el nivel de apertura de la misma, o dicho de otro modo, a riesgo 0.
  • Mover stop loss siguiendo al precio (trailing stop). Se puede definir a qué distancia máxima del precio mantener el stop, definido  en pips o en puntos, de tal manera que la herramienta moverá el stop siempre reduciendo riesgo o asegurando beneficio, a la distancia máxima definida. Para poder decicir cuántos puntos o pips indicar en esta propiedad, se recomiendo el uso de la herramienta SMC_Ruler para medir la distancia.
  • Mover stop loss a una distancia proporcional al take profit (stop de beneficio). Esta estretegia que sólo funciona si existe un stop de beneficio definido (take profit), lo que hace es mover el stop, siempre a favor, nunca en contra, manteniendo una proporción entre distancia al beneficio actual y al stop actual. El objetivo es mantener una proporción entre beneficio máximo con respecto al beneficio actual a perder si el precio se vuelve en contra. Por defecto está configurado a 1, lo que significa que moverá el stop siempre que pueda, a una distancia igual al take profit. Si se configura a 2, mantendrá el doble de distancia al take profit que al stop, es decir, arriesga 1 eur de beneficio actual por cada 2 que ganaría si la orden llega al take profit.

Todas las estrategias son compatibles entre sí, pudiendo convivir todas a la vez. Siempre se usará el stop más restrictivo, bien porque reduce más el riesgo, bien porque recoge mayores beneficios.

También se pueden configurar estrategias de cierre de órdenes, siguiendo los siguientes criterios:

  • Cierre parcial según se van alcanzando porcentajes de ganancias con respecto al riesgo inicial. Todos los porcentajes que se indican en esta estrategia se definen con respecto a la distancia entre precio de apertura y riesgo inicial*. En este caso, lo que nos permite hacer es cerrar parte del lotaje con que se abrió la orden, a las distancias indicadas. Por defecto está configurado a 100;200;300 que significa, cuando el precio se sitúa a una distancia igual al riesgo inicial*, 2x el riesgo inicial* y 3x el riesgo inicial*. En otra variable se indica, qué porcentaje de la orden original debe cerrarse. Por defecto está a 50;75;100 lo que significa que cerrará el 50%,75% y 100% de la orden en esos niveles respectivamente. De otra forma, si se activa este cierre de órdenes, por defecto, una orden abierta con 10 lotes, y a una distancia de stop de 10 puntos, cuando la orden se sitúa a 10 puntos a favor (misma distancia que riesgo inicial), cierra la mitad de la orden (5 lotes); cuando la orden se sitúa a 20 puntos a favor (doble de distancia a riesgo inicial), cierra el 75% de la posición (2,5 lotes más); cuando se sitúa a 30 puntos a favor (triple de distancia a riesgo inicial), cierra el 100% de la posición (2,5 lotes que quedaban).
  • Cierres en ciertos momentos temporales.  Se pueden definir ciertos momentos temporales para cerrar órdenes, procediendo al cierre, 5 minutos antes de que llegue el límite.
    • Cerrar a horario establecido. Se puede definir un horario de trabajo diario, y configurar que, al finalizar el horario establecido, cerrar las órdenes abiertas y/o pendientes.
    • Cerrar a fin de día. Si se activa, las órdenes abiertas y pendientes que existan, se cierran antes de finalizar el día
    • Cerrar a fin de semana. Si se activa, las órdenes abiertas y pendientes que existan, se cierran antes de finalizar la semana
    • Cerrar a fin de mes. Si se activa, las órdenes abiertas y pendientes que existan, se cierran antes de finalizar el mes

Para que la herramienta funcione, debe estar activado el botón AutoTrading, la opción de «permitir trading automático», y la opción de «permitir importación de DLL». Sólo funcionará mientras la herramienta esté abierta en una ventana de MT4, conectado a la cuenta y para el activo de la ventana.

* riesgo inicial = es el nivel de riesgo más lejano que la herramienta conoce para la orden. Si la herramienta está funcionando cuando se abre la orden, el riesgo inicial coincide con el riesgo al que se abrió la orden. Si durante el tiempo de vida de la orden, el riesgo se aumenta manualmente, la herramienta lo usará como riesgo inicial a partir de ese momento.

Parámetros de entrada

magicOrder Filtro para especificar el identificador interno de aplicación de las órdenes a gestionar. Por defecto está configurado el identificador común a todas las órdenes abiertas con software SMC.  Para gestionar órdenes abiertas manualmente especificar en este filtro el valor 0

secondsToManageOrder Número de segundos que transcurren como mínimo desde que se inicia el experto y se empieza a mover el primer stop o cerrar orden. El objetivo es esperar un poco por si los datos de la ventana no están actualizados y usase datos incorrectos para calcular los stops o cierres

useSpreadOnOrders Si se activa esta propiedad, se tiene en cuenta el spread del momento para calcular los precios de compra en los puntos de stop calculados.

generateGif Si se activa esta propiedad, se generará una imagen gif de la ventana sobre la que se ejecuta el experto, una vez haya modificado el stop o cerrado total o parcialmente cada orden. La imagen se guardará en el directorio de MT4 MQL4\Files\SMC_CalculateOrders con el formato: <activo de la orden cerrada>_<id_orden>_<fecha>_<hora>_<timeframe del gráfico>_1_<operación realizada>

moveSLWithSwing Desactivar, activar o activar tras porcentaje con respecto a riesgo inicial, la gestión de stops siguiendo el swing del mercado

percentSLSwing Porcentaje con respecto a riesgo inicial para estrategia de swing

sensitivity Sensibilidad usada para generar los swings. Números menores indica que se detectan movimientos menores. Números mayores significa que se detectan movimientos mayores

useMajorLines Indica si seguir los swings mayores (si está activada) o menores (si está desactivada) del indicador SMC_SwingLines

conservatively Indica si usar un criterio conservador (si está activado) o no, para generar los swings de SMC_SwingLines

zoomNeutral Indica si se quieren buscar swings internos a un swing dado, cuando éste es muy amplio, tal como lo hace el indicador SMC_SwingLines

swingSeparationSL Indica qué separación (desviaciones típicas) mantener con respecto al stop calculado, para moverlo con la estrategia de swing

moveSLWithMovingAverage Desactivar, activar o activar tras porcentaje con respecto a riesgo inicial, la gestión de stops siguiendo una media móvil

percentSLMA Porcentaje con respecto a riesgo inicial para estrategia de media móvil

maDepth Número de barras a tener en cuenta para el cálculo de la media móvil

maDepthFast Número de barras rápidas a tener en cuenta para el cálculo de la media móvil. Sólo para media móvil adaptativa (AMA)

maDepthSlow Número de barras lentas a tener en cuenta para el cálculo de la media móvil. Sólo para media móvil adaptativa (AMA)

maShift Desplazamiento de la media móvil a la derecha si se considera.

maMethod Tipo de media móvil a usar (SMA=Simple EMA=Exponential SMMA=Suavizada LWMA=Ponderada AMA=Adaptativa FRAMA=Fractal Adaptativa  HMA=Hull)

maAppliedPrice Precio sobre el que aplicar la media. Se puede usar cualquiera de las típicas de MT4 (Cierre, Apertura, Alto, Bajo, Media, Típica y Ponderada)

maSeparationSL Indica qué separación (desviaciones típicas) mantener con respecto al stop calculado, para moverlo con la estrategia de media móvil

moveSLWithParabolic Desactivar, activar o activar tras porcentaje con respecto a riesgo inicial, la gestión de stops siguiendo el indicador parabolico-SAR

percentSLParabolic Porcentaje con respecto a riesgo inicial para estrategia de parabólico-SAR

Step Parámetro Step del indicador parabólico-SAR

Maximum Parámetro Maximum del indicador parabólico-SAR

parabolicSeparationSL Indica qué separación (desviaciones típicas) mantener con respecto al stop calculado, para moverlo con la estrategia de parabólico-SAR

moveSLOnPercentagesSL Desactivar o activar la gestión de stops alcanzando porcentajes de beneficios con respecto al riesgo inicial

percentagesToMove En esta variable se indican qué porcentajes con respecto al riesgo inicial, se deben completar para mover el stop. Se pueden definir tantos como se deseen y deben estar separados por ;

percentagesToMoveSL En esta variable se indican qué porcentajes con respecto al riesgo inicial se debe mover el stop, cuando se va alcanzando cada nivel definido en la variable percentagesToMove. Se deben definir tantos porcentajes como en percentagesToMove, y deben estar separados por ;

moveSLBreakeven Desactivar o activar la gestión de stops a breakeven (mover stop a precio de apertura)

percentSLBreakeven En esta variable se indica qué porcentajes con respecto al riesgo inicial, se deben completar para mover el stop a breakeven

moveSLTrailing Desactivar, activar o activar tras porcentaje con respecto a riesgo inicial, la gestión de stops con trailing

percentSLTrailing Porcentaje con respecto a riesgo inicial para estrategia de trailing

sizeType Tipo de distancia a definir. Se puede definir la distancia de trailing en pips o en puntos.

trailingSize Distancia a mantener (en pips o puntos, según se haya seleccionado en sizeType) cuando se activa la estrategia de trailing. Para poder decicir cuántos puntos o pips indicar en esta propiedad, se recomiendo el uso de la herramienta SMC_Ruler para medir la distancia.

moveSLNearTP Desactivar, activar o activar tras porcentaje con respecto a riesgo inicial, la gestión de stops con relación a distancia al take profit (stop de beneficios)

percentSLNearTP Porcentaje con respecto a riesgo inicial para estrategia de distancia a take profit (stop de beneficios)

ratioTPSL Relación de distancia a mantener entre el take profit (stop de beneficios) y el stop de la orden

closePartiallyOnPercentagesSL Desactivar o activar el cierre parcial de órdenes, tras consecución de porcentajes de beneficio con respecto a riesgo inicial

percentagesOnClose En esta variable se indican qué porcentajes con respecto al riesgo inicial, se deben completar para cerrar parte de la orden. Se pueden definir tantos como se deseen y deben estar separados por ;

percentagesToClose En esta variable se indican qué porcentajes de la orden inicial (contratos con que se abrió la orden) deben estar cerrados, cuando se va alcanzando cada nivel definido en la variable percentagesOnClose. Se deben definir tantos porcentajes como en percentagesOnClose, y deben estar separados por ;

closePendingEOTimetable Si se activa, se borrarán todas las órdenes pendientes al salir del horario de trabajo definido

closeEOTimetable Si se activa, se cerrarán todas las órdenes activas (no pendientes) al salir del horario de trabajo definido

closeEODay Si se activa, se cerrarán todas las órdenes activas y pendientes antes de finalizar el día

closeEOWeek Si se activa, se cerrarán todas las órdenes activas y pendientes antes de finalizar la semana

closeEOMonth Si se activa, se cerrarán todas las órdenes activas y pendientes antes de finalizar el mes

dstBrokerToApply  DST del país donde está el broker

gmtOfflineBroker GMT que se usa cuando la plataforma está desconectada del broker, o cuando se está realizando un testing

timeSetGMT  activada indica que los horarios siguientes están expresados en GMT 0. Desactivado indica que el horario está indicado en GMT del broker

initMorning Hora de trabajo inicio en la mañana

endMorning Hora de trabajo fin en la mañana

initEvening Hora de trabajo inicio en la tarde

endEvening Hora de trabajo fin en la tarde

showInfo activado, muestra texto en la ventana con información acerca de qué está activado y en qué modo

secondsToResetIfNewData  Número de segundos para reiniciar el experto cuando se detectan nuevos datos antiguos en el gráfico

secondsToRefreshZeroBar  Número de segundos para actualizar la información del experto

barsBack  Número de barras de histórico a tomar en cuenta para construir el experto.  Para usar el histórico completo, indicar 0

Extra

Posibles usos para esta herramienta son:

Mover el stop loss de las órdenes abiertas, siguiendo el swing.

En este caso, vamos a configurar una ventana, que permanecerá abierta en MT4 con el activo AUDUSD y en timeframe de 30 minutos. En ningún caso cambiaré ni el activo ni el timeframe de la ventana, porque quiero que mueva los stops de las órdenes abiertas en dicho activo con los swings del timeframe M30. Es importante indicar que sólo gestionará las órdenes abiertas en AUDUSD abiertas con software SMC, porque es el magic que configuro en SMC_ManageMyOrders y es el magic que he usado al abrir las órdenes con SMC_CalculateOrders. Configuro el experto SMC_ManageMyOrders con los valores por defecto, pero activo gestión de stops siguiendo el swing, sin separación del mismo. Estos son los parámetros a modificar, el resto se quedan por defecto:

moveSLWithSwing=Always

swingSeparationSL = 0.0

Al haber una orden de compra abierta con un stop más lejano del precio de apertura, mueve el stop justo a la parte baja del swing. Si el stop hubiese estado con anterioridad por encima del swing, no lo hubiese movido. El software nunca mueve el stop en contra, siempre para reducir riesgo o asegurar más beneficios.

Mover el stop loss de las órdenes abiertas, siguiendo la media móvil.

Vamos a configurar el mismo experto del caso anterior, en la misma ventana, sólo que vamos a añadir una nueva estrategia de gestión de stops. En este caso vamos a introducir la estrategia de seguir la media móvil simple de 200 sesiones, sin separación. Cambio en el experto SMC_ManageMyOrders los siguientes parámetros:

moveSLWithMovingAverage=Always

maSeparationSL= 0.0

Al haber una orden de compra abierta con un stop más lejano del precio de apertura (estaba en el swing), mueve el stop justo a la media móvil simple de 200 sesiones en la vela 1. Aunque también está activo mover el stop con swing, al encontrar un stop más cercano con la estrategia de la media móvil, usa siempre el más beneficioso para la operación, es decir, el que reduce riesgo o acumula más beneficio.

Mover el stop loss de las órdenes abiertas, con respecto a take profit.

Seguimos configurando el mismo experto de los casos anteriores, en la misma ventana. Vamos a añadir una nueva estrategia de gestión de stops, la de mantener distancia proporcional entre el take profit (stop de beneficio) y el stop. Cambio en el experto SMC_ManageMyOrders los siguientes parámetros:

moveSLNearTP=Always

ratioTPSL= 2.0

Al haber una orden de compra abierta con un stop más lejano del precio de apertura (estaba en la media móvil), mueve el stop justo a la posición que cumple el siguiente criterio: la distancia del precio actual al take profit es 2x la distancia del precio actual al stop. Aunque también están activos mover el stop con swing y con media móvil, al encontrar un stop más cercano con la estrategia de distancia a take profit, usa siempre el más beneficioso para la operación, es decir, el que reduce riesgo o acumula más beneficio.

Mover el stop loss de las órdenes abiertas, siguiendo el parabólico.

Seguimos configurando el mismo experto de los casos anteriores, en la misma ventana. Vamos a añadir una nueva estrategia de gestión de stops, la de seguir el parabólico sin separación. Cambio en el experto SMC_ManageMyOrders los siguientes parámetros:

moveSLWithParabolic=Always

parabolicSeparationSL= 0.0

Al haber una orden de compra abierta con un stop más lejano del precio de apertura (modificado por distancia a TP), mueve el stop justo a la posición del parabólico en la vela 1, sin separación.

Galería de Imágenes