Unisciti alla nostra fan page
- Visualizzazioni:
- 80
- Valutazioni:
- Pubblicato:
-
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
- Come aggiungere un Trailing Stop all'indicatore Parabolic SAR
- 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
La classe CForceOnArray è destinata al calcolo dei valori dell'indicatore Force Index da parte dei buffer di indicatori.
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
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
La classe CVHFOnArray è destinata al calcolo dei valori degli indicatori del filtro verticale orizzontale (VHF) da parte dei buffer di indicatori.