Bitcoin Martingal Moving Average
- Experts
- Luis Ruben Rivera Galvez
- Versione: 2.0
- Attivazioni: 20
Send me a message so I can send you the setfile
Robot robusto con diverse configurazioni disponibili,
Da utilizzare con BTC su un intervallo di tempo di 10 minuti con le impostazioni nello screenshot qui sotto.
Acquistando il robot esperto, hai il diritto di richiedere modifiche per continuare a migliorare il bot.
Caratteristiche principali
Strategia di crossover della media mobile:
L'EA utilizza due medie mobili (MA1 e MA2) per generare segnali di trading.
Un incrocio della MA più veloce (MA1) al di sopra o al di sotto della MA più lenta (MA2) innesca un'operazione di trading.
Strategia Martingala:
Se una transazione si conclude con una perdita, la dimensione del lotto per la transazione successiva viene aumentata da un moltiplicatore (martingaleMultiplier).
La sequenza martingala viene reimpostata dopo una transazione vincente o quando viene raggiunto il numero massimo di passaggi martingala (maxMartinale).
Gestione del rischio:
I livelli di Stop Loss (SL) e Take Profit (TP) sono configurabili.
Sono incluse le funzionalità Trailing Stop e Break Even per bloccare i profitti e ridurre al minimo le perdite.
Limiti di profitto/perdita giornalieri: l'EA interrompe l'attività di trading se il profitto o la perdita giornaliera superano i limiti specificati.
Filtri:
Filtro volatilità: utilizza ATR per garantire che le negoziazioni vengano effettuate solo entro un intervallo di volatilità specificato.
Filtro temporale: limita le negoziazioni a orari e giorni specifici della settimana.
Filtro di tendenza: utilizza ADX per garantire che le negoziazioni vengano eseguite nella direzione del trend.
Filtro volume: garantisce che le negoziazioni vengano eseguite solo se il volume di negoziazione raggiunge una soglia specificata.
Filtro RSI: utilizza l'RSI per evitare condizioni di ipercomprato/ipervenduto.
Filtro notizie: segnaposto per l'integrazione di un filtro basato sulle notizie (non implementato in questo script).
Gestione del denaro:
La dimensione del lotto può essere calcolata dinamicamente in base a una percentuale del saldo del conto ( riskPercentage ).
Caratteristiche aggiuntive:
Chiudi tutte le posizioni in un orario specifico: consente di chiudere tutte le posizioni in un orario specifico.
Chiudi tutte le posizioni a fine giornata: chiude automaticamente tutte le posizioni alla fine della giornata di negoziazione.
Filtro distanza dal punto di crossover: assicura che le negoziazioni vengano eseguite solo se il prezzo si trova entro una distanza specificata dal punto di crossover.
Attendi il tocco della MA veloce: assicura che il prezzo tocchi la MA veloce prima di aprire una posizione.
Variabili globali
lastTradeLot: tiene traccia della dimensione del lotto per la prossima transazione (utilizzato nella strategia Martingala).
martingalaCount: tiene traccia del numero di perdite consecutive nella sequenza martingala.
dailyProfit e dailyLoss: Tieni traccia dei profitti e delle perdite giornalieri.
lastTradeDay: tiene traccia dell'ultimo giorno in cui è stata eseguita una transazione.
lastCrossTime: Traccia il momento dell'ultimo incrocio della media mobile.
waitForClose: flag per attendere la chiusura della transazione corrente prima di aprirne una nuova.
Funzioni
Inizializzazione (OnInit):
Inizializza gli indicatori (MA, RSI, ATR, ADX).
Controlla eventuali errori nella creazione degli indicatori.
Filtri:
CheckVolatilityFilter(): assicura che le negoziazioni vengano effettuate solo entro un intervallo di volatilità specificato.
CheckTimeFilter() : limita le negoziazioni a orari e giorni specifici.
CheckTrendFilter(): assicura che le operazioni vengano eseguite nella direzione del trend.
CheckVolumeFilter(): assicura che le negoziazioni vengano eseguite solo se il volume raggiunge una soglia.
CheckNewsFilter(): segnaposto per un filtro basato sulle notizie.
CheckRSIFilter(): assicura che le negoziazioni vengano eseguite solo se sono soddisfatte le condizioni RSI.
Gestione del rischio:
CheckDailyLimits() : Controlla se sono stati raggiunti i limiti di profitto o perdita giornalieri.
CheckStopLoss_Takeprofit() : convalida i livelli SL e TP.
CheckMoneyForTrade() : assicura che ci sia margine sufficiente per aprire una transazione.
Esecuzione delle transazioni:
OpenTrade() : Apre una transazione in base alla direzione (acquisto/vendita).
CloseCurrentTrade() : Chiude la transazione corrente e aggiorna la sequenza martingala.
CloseAllPositions() : Chiude tutte le posizioni aperte.
Trailing Stop e Break Even:
TrailingStop() : regola lo stop loss per bloccare i profitti.
CheckBreakEven() : sposta lo stop loss al punto di pareggio una volta raggiunto un profitto specificato.
Gestione del denaro:
CalculateLotSize() : calcola la dimensione del lotto in base al saldo del conto e alla percentuale di rischio.
Filtri aggiuntivi:
CheckDistanceFromCross(): assicura che le negoziazioni vengano eseguite solo se il prezzo si trova entro una distanza specificata dal punto di crossover.
CheckPriceTouchFastMA(): assicura che il prezzo tocchi la MA veloce prima di aprire una transazione.
Azioni basate sul tempo:
CheckCloseAllAtSpecificTime() : Chiude tutte le posizioni in un momento specificato.
CheckAndClosePositionsForDailyLimits() : Chiude tutte le posizioni se vengono raggiunti i limiti di profitto o perdita giornalieri.
