Lazy Bot MT5: Il Tuo EA per il Trading con MetaTrader 5

Mike 2022.12.14 02:50 14 0 0
Allegato

Se sei un trader che cerca di ottimizzare le proprie operazioni su MetaTrader 5, non puoi perderti il nostro nuovo Lazy Bot MT5. Questo Expert Advisor, progettato per sfruttare la strategia del Daily Breakout, è qui per semplificare il tuo trading quotidiano.

1. Parametri di Input

  • EASettings: Impostazioni generali per l'EA.
  • InpMagicNumber: Numero magico per identificare le operazioni dell'EA.
  • InpBotName: Nome del bot, in questo caso "LazyBot_V1".
  • Inpuser_lot: Dimensione del lotto (0.01 è il minimo).
  • Inpuser_SL: Stop loss in pips, impostato su 5.0.
  • InpAddPrice_pip: Distanza in pips dall'alto o dal basso per aprire la posizione.
  • Inpuser_SLippage: Slippage massimo consentito, impostato su 3 pips.
  • InpMax_spread: Spread massimo consentito, impostato su 0 per spread variabile.
  • isTradingTime: Consente il trading solo in determinati orari, impostato su true.
  • InpStartHour: Ora di inizio trading, impostata alle 7.
  • InpEndHour: Ora di fine trading, impostata alle 22.
  • isVolume_Percent: Consente l'uso della percentuale del volume, impostato su false.
  • InpRisk: Percentuale di rischio sul saldo, impostata su 1.

2. Inizializzazione delle Variabili Locali

Il bot inizializza variabili locali per gestire il trading in modo efficiente.

datetime last;
int totalBars;
double slippage;
double acSpread;

3. Codice Principale

La strategia del bot consiste nel cancellare tutte le operazioni precedenti e trovare i valori massimi e minimi della barra giornaliera precedente. A questo punto, vengono inviati due ordini pendenti: BUY_STOP e SELL_STOP.

4. Funzione di Inizializzazione dell'Expert

int OnInit()
{
    if(!_Digits % 2 == 1) {
        Pips2Double = _Point * 10;
    } else {
        Pips2Double = _Point;
    }
    RefreshRates();
    m_trade.SetExpertMagicNumber(InpMagicNumber);
    return INIT_SUCCEEDED;
}

5. Funzione di Tick dell'Expert

void OnTick()
{
    if(TerminalInfoInteger(TERMINAL_TRADE_ALLOWED) == false) return;

    acSpread = SymbolInfoInteger(_Symbol, SYMBOL_SPREAD);

    if(last != iTime(m_symbol.Name(), PERIOD_D1, 0)) {
        DeleteOldOrds();
        OpenOrder();
        last = iTime(m_symbol.Name(), PERIOD_D1, 0);
    }
}

6. Calcolo dei segnali e invio degli ordini

La funzione OpenOrder gestisce il calcolo dei segnali e l'invio degli ordini, assicurandosi che tutti i parametri siano corretti e che le condizioni di mercato siano favorevoli.

7. Controllo della Volume e della Liquidità

È fondamentale controllare la correttezza del volume dell'ordine e la liquidità disponibile prima di eseguire ogni operazione di trading.

bool CheckVolumeValue(double volume)
{
    double min_volume = m_symbol.LotsMin();
    double max_volume = m_symbol.LotsMax();
    if(volume < min_volume || volume > max_volume) return false;
    return true;
}

8. Trailing Stop Loss

Il bot è dotato di una funzione di trailing stop loss che aggiorna automaticamente lo stop loss man mano che il prezzo si muove a favore del trader, aumentando i profitti.

9. Conclusioni

Il Lazy Bot MT5 è uno strumento potente per i trader che desiderano automatizzare le proprie strategie. Assicurati di configurarlo correttamente e di testarlo in un ambiente demo prima di utilizzarlo nel trading reale.

Per ulteriori informazioni, puoi guardare i video tutorial su MQL4 e MQL5:

Video MQL4:

Video MQL5:

Elenco
Commento 0