Guarda come scaricare robot di trading gratuitamente
Ci trovi su Facebook!
Unisciti alla nostra fan page
Script interessante?
Pubblica il link!
lasciare che altri lo valutino
Ti è piaciuto lo script? Provalo nel Terminale MetaTrader 5
Librerie

Libreria di classi di trailing StopLoss per MQL5 - libreria per MetaTrader 5

Visualizzazioni:
80
Valutazioni:
(6)
Pubblicato:
\MQL5\Include\Trailings\ \MQL5\Experts\Trailings\
Freelance MQL5 Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance

Libreria di classi universale per l'implementazione di varie strategie di trailing StopLoss nei robot di trading. La libreria consente di gestire in modo flessibile lo StopLoss delle posizioni aperte in base a una distanza fissa dal prezzo, nonché in base ai valori degli indicatori più diffusi: Parabolic SAR, AMA, DEMA, FRAMA, MA, TEMA, VIDYA e livelli arbitrari.

La libreria fornisce un modo pratico per aggiungere diversi tipi di trailing StopLoss al vostro Expert Advisor MQL5. Basta inserire la classe richiesta, configurare i parametri e chiamare il metodo Run() in OnTick().

Intestazione

#include <Trailings\Trailings.mqh>

Struttura della classe

Classe Scopo Esempi di utilizzo
CSimpleTrailing classe base del trailing dei prezzi (trailing semplice)
//--- Connessione 
#include <Trailings\Trailings.mqh>

//--- A livello globale
CSimpleTrailing trail;

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

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

CTrailingByInd classe base del trailing per indicatore Utilizzata dalle classi ereditate
CTrailingBySAR trailing con indicatore Parabolic SAR
//--- Connessione 
#include <Trailings\Trailings.mqh>

//--- A livello globale
CTrailingBySAR trailSAR;

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

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

CTrailingByAMA Trailing per media mobile adattiva
//--- Connessione 
#include <Trailings\Trailings.mqh>

//--- A livello globale
CTrailingByAMA trailAMA;

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

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

CTrailingByDEMA Trailing con media mobile esponenziale doppia
//--- Connessione 
#include <Trailings\Trailings.mqh>

//--- A livello globale
CTrailingByDEMA trailDEMA;

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

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

CTrailingByFRAMA Trailing con media mobile adattiva frattale
//--- Connessione 
#include <Trailings\Trailings.mqh>

//--- A livello globale
CTrailingByFRAMA trailFRAMA;

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

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

CTrailingByMA Media mobile trailing
//--- Connessione 
#include <Trailings\Trailings.mqh>

//--- A livello globale
CTrailingByMA trailMA;

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

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

CTrailingByTEMA Media mobile tripla esponenziale trailing
//--- Connessione 
#include <Trailings\Trailings.mqh>

//--- A livello globale
CTrailingByTEMA trailTEMA;

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

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

CTrailingByVIDYA Media dinamica dell'indice variabile di trailing
//--- Connessione 
#include <Trailings\Trailings.mqh>

//--- A livello globale
CTrailingByVIDYA trailVIDYA;

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

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

CTrailingByValue Trailing per un livello specificato
//--- Connessione 
#include <Trailings\Trailings.mqh>

//--- A livello globale
CTrailingByValue trailValue;

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

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


Parametri di impostazione:

  • SetSymbol(symbol) - impostazione del simbolo di trading;
  • SetMagicNumber(magic) - impostazione del numero magico;
  • SetStopLossOffset(offset) - impostazione dell'offset dello StopLoss dal prezzo/indicatore;
  • SetTrailingStart(start) - impostazione del profitto minimo per l'attivazione del trailing;
  • SetTrailingStep(step) - impostazione dello step di movimento dello StopLoss;
  • SetSpreadMultiplier(valore) - impostazione del moltiplicatore di spread per lo StopLevel;
  • SetActive(flag) - abilita/disabilita il trailing.

Per le classi di indicatori - parametri aggiuntivi dell'indicatore (periodi, tipi di prezzo, metodi, ecc.).

Ecco un esempio di come funziona la trappola Parabolic SAR collegata con l'Expert Advisor standard \MQL5\Experts\Advisors\ExpertMACD.mq5:


Ulteriori dettagli sull'argomento di queste trappole sono disponibili negli articoli

  1. Come aggiungere un Trailing Stop all'indicatore Parabolic SAR
  2. Come creare qualsiasi tipo di Trailing Stop e collegarlo a un Expert Advisor

Trailings.mqh è un modo semplice per aggiungere un trailing StopLoss al vostro Expert Advisor MQL5.
Collegate la classe necessaria, configurate i parametri e chiamate *.Run() in OnTick.

Se il vostro EA ha un ciclo di enumerazione delle posizioni, potete chiamare il metodo Run() del trailing con il ticket della posizione selezionata:

Run(const ulong pos_ticket);

Nel caso semplice più comune, ciò avverrebbe nel gestore OnTick():

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



Tradotto dal russo da MetaQuotes Ltd.
Codice originale https://www.mql5.com/ru/code/63926

IncForceOnArray IncForceOnArray

La classe CForceOnArray è destinata al calcolo dei valori dell'indicatore Force Index da parte dei buffer di indicatori.

Segnale SilverTrend_HTF Segnale SilverTrend_HTF

L'indicatore SilverTrend_HTF_Signal visualizza la direzione del trend o un segnale per un trade dall'indicatore SilverTrend_Signal sotto forma di oggetto grafico con un'indicazione colorata del trend o della direzione del trade e fornisce avvisi o segnali sonori.

Pinbar Detector Pinbar Detector

Questo indicatore MQL5 identifica le pinbar al rialzo (rialziste) e al ribasso (ribassiste), visualizzate con frecce personalizzabili (lime per il rialzo, rosse per il ribasso). Consente di regolare con precisione i parametri di rilevamento, come il rapporto tra corpo della coda e sporgenza. Avvisi di notifica pop-up e push segnalano nuove pinbar. Ideale per i trader che cercano di individuare con precisione i pattern di inversione.

IncVHFOnArray IncVHFOnArray

La classe CVHFOnArray è destinata al calcolo dei valori degli indicatori del filtro verticale orizzontale (VHF) da parte dei buffer di indicatori.