Pon "Me gusta" y sigue las noticias
Deje un enlace a él, ¡qué los demás también lo valoren!
Evalúe su trabajo en el terminal MetaTrader 5
- Visualizaciones:
- 173
- Ranking:
- Publicado:
-
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
Biblioteca universal de clases para implementar diversas estrategias de arrastre StopLoss en robots de trading. La biblioteca le permite gestionar de forma flexible StopLoss de posiciones abiertas por una distancia fija desde el precio, así como por los valores de los indicadores populares: SAR Parabólico, AMA, DEMA, FRAMA, MA, TEMA, VIDYA y nivel arbitrario.
La librería proporciona una forma cómoda de añadir varios tipos de StopLoss trailing diferentes a su Asesor Experto MQL5. Sólo tiene que conectar la clase requerida, configurar los parámetros y llamar al método Run() en OnTick().
Cabecera
#include <Trailings\Trailings.mqh> Estructura de la Clase
| Clase | Propósito | Ejemplos de uso |
|---|---|---|
| CSimpleTrailing | clase base del seguimiento de precios (seguimiento simple) | //--- Conexión #include <Trailings\Trailings.mqh> //--- Globalmente CSimpleTrailing trail; //--- En OnInit(): trail.SetSymbol(_Symbol); trail.SetMagicNumber(123); trail.SetStopLossOffset(100); trail.SetActive(true); //--- En OnTick(): trail.Run(); |
| CTrailingByInd | clase base de trailing por indicador | Utilizado por clases heredadas |
| CTrailingBySAR | trailing por indicador Parabolic SAR | //--- Conexión #include <Trailings\Trailings.mqh> //--- Globalmente CTrailingBySAR trailSAR; //--- En OnInit(): trailSAR.Initialize(_Symbol, PERIOD_M15, 0.02, 0.2); trailSAR.SetActive(true); //--- En OnTick(): trailSAR.Run(); |
| CTrailingByAMA | Trailing por media móvil adaptativa | //--- Conexión #include <Trailings\Trailings.mqh> //--- Globalmente CTrailingByAMA trailAMA; //--- En OnInit(): trailAMA.Initialize(_Symbol, PERIOD_H1, 9, 2, 30, 0, PRICE_CLOSE); trailAMA.SetActive(true); //--- En OnTick(): trailAMA.Run(); |
| CTrailingByDEMA | Trailing por Media Móvil Exponencial Doble | //--- Conexión #include <Trailings\Trailings.mqh> //--- Globalmente CTrailingByDEMA trailDEMA; //--- En OnInit(): trailDEMA.Initialize(_Symbol, PERIOD_H1, 14, 0, PRICE_CLOSE); trailDEMA.SetActive(true); //--- En OnTick(): trailDEMA.Run(); |
| CTrailingByFRAMA | Media móvil adaptativa fractal | //--- Conexión #include <Trailings\Trailings.mqh> //--- Globalmente CTrailingByFRAMA trailFRAMA; //--- En OnInit(): trailFRAMA.Initialize(_Symbol, PERIOD_H1, 14, 0, PRICE_CLOSE); trailFRAMA.SetActive(true); //--- En OnTick(): trailFRAMA.Run(); |
| CTrailingByMA | Media móvil de arrastre | //--- Conexión #include <Trailings\Trailings.mqh> //--- Globalmente CTrailingByMA trailMA; //--- En OnInit(): trailMA.Initialize(_Symbol, PERIOD_H1, 20, 0, MODE_EMA, PRICE_CLOSE); trailMA.SetActive(true); //--- En OnTick(): trailMA.Run(); |
| CTrailingByTEMA | Media móvil exponencial triple | //--- Conexión #include <Trailings\Trailings.mqh> //--- Globalmente CTrailingByTEMA trailTEMA; //--- En OnInit(): trailTEMA.Initialize(_Symbol, PERIOD_H1, 14, 0, PRICE_CLOSE); trailTEMA.SetActive(true); //--- En OnTick(): trailTEMA.Run(); |
| CTrailingByVIDYA | Media dinámica de arrastre de índice variable | //--- Conexión #include <Trailings\Trailings.mqh> //--- Globalmente CTrailingByVIDYA trailVIDYA; //--- En OnInit(): trailVIDYA.Initialize(_Symbol, PERIOD_H1, 9, 12, 0, PRICE_CLOSE); trailVIDYA.SetActive(true); //--- En OnTick(): trailVIDYA.Run(); |
| CTrailingByValue | Trailing en un nivel especificado | //--- Conexión #include <Trailings\Trailings.mqh> //--- Globalmente CTrailingByValue trailValue; //--- En OnInit(): trailValue.SetSymbol(_Symbol); trailValue.SetActive(true); //--- En OnTick(): trailValue.Run(customSLBuy, customSLSell); |
Parámetros de ajuste:
- SetSymbol(symbol) - establecer el símbolo de negociación;
- SetMagicNumber(magic) - establece el número mágico;
- SetStopLossOffset(offset) - establecer el desplazamiento de StopLoss desde el precio/indicador;
- SetTrailingStart(start) - establecer el beneficio mínimo para la activación del trailing;
- SetTrailingStep(step) - establecer el paso del movimiento StopLoss;
- SetSpreadMultiplier(value) - establecer el multiplicador de spread para StopLevel;
- SetActive(flag) - activar/desactivar el trailing.
Para las clases de indicadores - parámetros adicionales del indicador (períodos, tipos de precios, métodos, etc.).
He aquí un ejemplo de cómo funciona el arrastre SAR Parabólico conectado con el Asesor Experto estándar \MQL5\Experts\Advisors\ExpertMACD.mq5:

Puede encontrar más detalles sobre el tema de estos arrastres en los artículos
- Cómo añadir Trailing Stop en el indicador Parabolic SAR
- Cómo hacer cualquier tipo de Trailing Stop y conectarlo a un Asesor Experto
Trailings.mqh es una manera fácil de añadir un Trailing StopLoss a su Asesor Experto MQL5.
Conecte la clase necesaria, configure los parámetros y llame a *.Run() en OnTick.
Si su EA tiene un ciclo de enumeración de sus posiciones, puede llamar al método Run() de trailing con la entrada de la posición seleccionada:
Run(const ulong pos_ticket);
En el caso simple común, esto sería así en el manejador OnTick():
for(int i=PositionsTotal()-1; i>=0; i--) { trailing_simple.Run(PositionGetTicket(i)); }
Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/63926
Bollinger Bands with post outer band smoothing
Bandas de Bollinger con suavizado controlable de la banda exterior (post-suavizado)
Linear Regression Value (apply to)
Indicador Valor de regresión lineal con una opción que permite aplicarlo a otro indicador.
Pinbar Detector
Este indicador MQL5 identifica Pinbars alcistas (alcistas) y bajistas (bajistas), mostrados con flechas personalizables (cal para alcistas, rojo para bajistas). Permite ajustar con precisión los parámetros de detección, como el ratio del cuerpo de la cola y la protrusión. Las alertas emergentes y las notificaciones push señalan la aparición de nuevas pinbars. Ideal para operadores que buscan una detección precisa de patrones de inversión.
Asesor Experto simple basado en indicadores WPR, Bandas de Bollinger y ATR
Una estrategia simple basada en las señales de dos indicadores: Williams' Percent Range (WPR) y Bollinger Bands (BB). Sólo se abre una posición cuando coinciden las señales de ambos indicadores.