Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Twitter!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Bibliotecas

Biblioteca de classes de perda final StopLoss para MQL5 - biblioteca para MetaTrader 5

Visualizações:
131
Avaliação:
(6)
Publicado:
\MQL5\Include\Trailings\ \MQL5\Experts\Trailings\
Freelance MQL5 Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

Biblioteca de classes universal para a implementação de várias estratégias de StopLoss trailing em robôs de negociação. A biblioteca permite que você gerencie com flexibilidade o StopLoss de posições abertas por uma distância fixa do preço, bem como pelos valores de indicadores populares: Parabolic SAR, AMA, DEMA, FRAMA, MA, TEMA, VIDYA e nível arbitrário.

A biblioteca oferece uma maneira conveniente de adicionar vários tipos diferentes de StopLoss trailing ao seu Expert Advisor MQL5. Basta conectar a classe necessária, configurar os parâmetros e chamar o método Run() em OnTick().

Cabeçalho

#include <Trailings\Trailings.mqh>

Estrutura da classe

Classe Finalidade Exemplos de uso
CSimpleTrailing classe base do rastreamento de preço (rastreamento simples)
//--- Conexão 
#include <Trailings\Trailings.mqh>

//--- Globalmente
CSimpleTrailing trail;

//--- Em OnInit():
trail.SetSymbol(_Symbol);
trail.SetMagicNumber(123);
trail.SetStopLossOffset(100);
trail.SetActive(true);

//--- Em OnTick():
trail.Run();

CTrailingByInd classe base do trailing por indicador Usada por classes herdadas
CTrailingBySAR trailing pelo indicador Parabolic SAR
//--- Conexão 
#include <Trailings\Trailings.mqh>

//--- Globalmente
CTrailingBySAR trailSAR;

//--- Em OnInit():
trailSAR.Initialize(_Symbol, PERIOD_M15, 0.02, 0.2);
trailSAR.SetActive(true);

//--- Em OnTick():
trailSAR.Run();

CTrailingByAMA Trailing por Adaptive Moving Average (média móvel adaptável)
//--- Conexão 
#include <Trailings\Trailings.mqh>

//--- Globalmente
CTrailingByAMA trailAMA;

//--- Em OnInit():
trailAMA.Initialize(_Symbol, PERIOD_H1, 9, 2, 30, 0, PRICE_CLOSE);
trailAMA.SetActive(true);

//--- Em OnTick():
trailAMA.Run();

CTrailingByDEMA Trailing por Média Móvel Exponencial Dupla
//--- Conexão 
#include <Trailings\Trailings.mqh>

//--- Globalmente
CTrailingByDEMA trailDEMA;

//--- Em OnInit():
trailDEMA.Initialize(_Symbol, PERIOD_H1, 14, 0, PRICE_CLOSE);
trailDEMA.SetActive(true);

//--- Em OnTick():
trailDEMA.Run();

CTrailingByFRAMA Trailing por Fractal Adaptive Moving Average
//--- Conexão 
#include <Trailings\Trailings.mqh>

//--- Globalmente
CTrailingByFRAMA trailFRAMA;

//--- Em OnInit():
trailFRAMA.Initialize(_Symbol, PERIOD_H1, 14, 0, PRICE_CLOSE);
trailFRAMA.SetActive(true);

//--- Em OnTick():
trailFRAMA.Run();

CTrailingByMA Média móvel de arrasto
//--- Conexão 
#include <Trailings\Trailings.mqh>

//--- Globalmente
CTrailingByMA trailMA;

//--- Em OnInit():
trailMA.Initialize(_Symbol, PERIOD_H1, 20, 0, MODE_EMA, PRICE_CLOSE);
trailMA.SetActive(true);

//--- Em OnTick():
trailMA.Run();

CTrailingByTEMA Média Móvel Exponencial Tripla com Trailing
//--- Conexão 
#include <Trailings\Trailings.mqh>

//--- Globalmente
CTrailingByTEMA trailTEMA;

//--- Em OnInit():
trailTEMA.Initialize(_Symbol, PERIOD_H1, 14, 0, PRICE_CLOSE);
trailTEMA.SetActive(true);

//--- Em OnTick():
trailTEMA.Run();

CTrailingByVIDYA Trailing Variable Index Dynamic Average (média dinâmica de índice variável)
//--- Conexão 
#include <Trailings\Trailings.mqh>

//--- Globalmente
CTrailingByVIDYA trailVIDYA;

//--- Em OnInit():
trailVIDYA.Initialize(_Symbol, PERIOD_H1, 9, 12, 0, PRICE_CLOSE);
trailVIDYA.SetActive(true);

//--- Em OnTick():
trailVIDYA.Run();

CTrailingByValue Trailing em um nível especificado
//--- Conexão 
#include <Trailings\Trailings.mqh>

//--- Globalmente
CTrailingByValue trailValue;

//--- Em OnInit():
trailValue.SetSymbol(_Symbol);
trailValue.SetActive(true);

//--- Em OnTick():
trailValue.Run(customSLBuy, customSLSell);


Parâmetros de configuração:

  • SetSymbol(symbol) - define o símbolo de negociação;
  • SetMagicNumber(magic) - define o número mágico;
  • SetStopLossOffset(offset) - define o deslocamento do StopLoss em relação ao preço/indicador;
  • SetTrailingStart(start) - definir o lucro mínimo para a ativação do trailing;
  • SetTrailingStep(step) - definir o passo do movimento do StopLoss;
  • SetSpreadMultiplier(value) - definir o multiplicador de spread para StopLevel;
  • SetActive(flag) - ativar/desativar o trailing.

Para classes de indicadores - parâmetros adicionais do indicador (períodos, tipos de preço, métodos, etc.).

Aqui está um exemplo de como a rede de arrasto Parabolic SAR conectada funciona com o Expert Advisor padrão \MQL5\Experts\Advisors\ExpertMACD.mq5:


Mais detalhes sobre o tópico desses trawls podem ser encontrados nos artigos

  1. Como adicionar Trailing Stop no indicador Parabolic SAR
  2. Como criar qualquer tipo de Trailing Stop e conectá-lo a um Expert Advisor

OTrailings.mqh é uma maneira fácil de adicionar um Trailing StopLoss ao seu Expert Advisor MQL5.
Conecte a classe necessária, configure os parâmetros e chame *.Run() em OnTick.

Se o seu EA tiver um ciclo de enumeração de suas posições, você poderá chamar o método Run() do trailing com o tíquete da posição selecionada:

Run(const ulong pos_ticket);

No caso simples comum, isso seria feito no manipulador OnTick():

for(int i=PositionsTotal()-1; i>=0; i--) 
  { 
   trailing_simple.Run(PositionGetTicket(i)); 
  } 



Traduzido do russo pela MetaQuotes Ltd.
Publicação 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 com suavização controlável da banda externa (pós-suavização)

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

Indicador Linear Regression Value com uma opção que permite que ele seja aplicado a outro indicador

Pinbar Detector Pinbar Detector

Esse indicador MQL5 identifica Pinbars ascendentes (alta) e descendentes (baixa), exibidos com setas personalizáveis (limão para alta, vermelho para baixa). Ele permite o ajuste fino dos parâmetros de detecção, como a proporção do corpo da cauda e a protrusão. Alertas de notificação pop-up e push sinalizam novas pinbars. Ideal para traders que buscam a detecção precisa de padrões de reversão.

Expert Advisor simples baseado nos indicadores WPR, Bandas de Bollinger e ATR Expert Advisor simples baseado nos indicadores WPR, Bandas de Bollinger e ATR

Uma estratégia simples baseada nos sinais de dois indicadores: Faixa Percentual de Williams (WPR) e Bandas de Bollinger (BB). Uma posição é aberta somente quando os sinais de ambos os indicadores coincidem.