Mira cómo descargar robots gratis
¡Búscanos en Telegram!
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5
Librerías

Biblioteca de clases de arrastre StopLoss para MQL5 - librería para MetaTrader 5

Visualizaciones:
173
Ranking:
(6)
Publicado:
\MQL5\Include\Trailings\
Trailings.mqh (107.4 KB) ver
\MQL5\Experts\Trailings\
MQL5 Freelance ¿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

  1. Cómo añadir Trailing Stop en el indicador Parabolic SAR
  2. 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 Bollinger Bands with post outer band smoothing

Bandas de Bollinger con suavizado controlable de la banda exterior (post-suavizado)

Linear Regression Value (apply to) Linear Regression Value (apply to)

Indicador Valor de regresión lineal con una opción que permite aplicarlo a otro indicador.

Pinbar Detector 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 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.