Unisciti alla nostra fan page
- Visualizzazioni:
- 39
- Valutazioni:
- Pubblicato:
-
Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance
Questo Expert Advisor è un sistema multi-strategia suddiviso in quattro sottosistemi di trading indipendenti (da Ciclo 1 a Ciclo 4). Ogni ciclo opera con il proprio Magic Number, i propri indicatori, i propri trigger di ingresso e parametri di gestione del capitale specifici.
1. Logica del Ciclo 1: Conflusso di più indicatori
Il Ciclo 1 si basa su un filtro composito che combina fino a tre medie mobili (MA), un indice di forza relativa (RSI) e un Williams’ Percent Range (WPR).
Trigger di ingresso
Una variabile centrale, c1_signal, funge da registro binario per garantire che gli indicatori non entrino in conflitto tra loro. Se l’indicatore A fornisce un segnale di acquisto, c1_signal diventa 1. Se l’indicatore B fornisce successivamente un segnale di vendita, c1_signal viene azzerato a 0 per invalidare l’operazione.
-
Media mobile 1, 2 e 3:
-
Condizione di acquisto: la barra precedente chiude al di sopra della media mobile e la barra corrente apre al di sopra della media mobile ($Close[1] > MA$ e $Open[0] > MA$).
-
Condizione di vendita: la barra precedente chiude al di sotto della media mobile e la barra corrente apre al di sotto della media mobile ($Close[1] < MA$ e $Open[0] < MA$).
-
-
Filtro RSI:
-
Condizione di acquisto: l’RSI scende al di sotto della soglia di ipervenduto ( RSI_Buy_Level , ad es. 30).
-
Condizione di vendita: l’RSI supera la soglia di ipercomprato ( RSI_Sell_Level , ad es. 70).
-
-
Filtro WPR:
-
Condizione di acquisto: il WPR scende al di sotto di WPR_Buy_Level (ad es., -80).
-
Condizione di vendita: il WPR supera il WPR_Sell_Level (ad es. -20).
-
Elaborazione dei segnali
-
Regola dei segnali invertiti: se Reverse_Signals = true, un segnale di acquisto finale (1) si inverte in un segnale di vendita (2) e viceversa.
-
Vincolo "Una sola operazione per barra": l'EA verifica se il prezzo di apertura corrente corrisponde a c1_open_price. In caso affermativo, significa che su quella barra è già stata gestita una posizione e le ulteriori esecuzioni vengono bloccate fino all'apertura di una nuova barra.
2. Logica del ciclo 2: Trend following con gli Envelopes
Il Ciclo 2 utilizza un classico indicatore a doppia banda (Envelopes) per individuare i breakout strutturali del mercato.
-
Trigger di acquisto: la barra precedente chiude al di sopra della banda superiore dell’envelope e la barra corrente si apre al di sopra di essa ($Close[1] > UpperBand$ e $Open[0] > UpperBand$). Ciò presuppone una forte rottura con momentum rialzista.
-
Trigger di vendita: la barra precedente chiude al di sotto della banda inferiore dell’inviluppo e la barra corrente apre al di sotto di essa ($Close[1] < LowerBand$ e $Open[0] < LowerBand$), indicando una rottura ribassista.
-
Inversione dei segnali: se Reverse_Signals2 = true, i breakout vengono interpretati come false segnalazioni (si ignora la rottura al ribasso/al rialzo).
3. Logica del Ciclo 3: Ritorno alla media delle bande di inviluppo
Il Ciclo 3 utilizza parametri identici a quelli del Ciclo 2, ma inverte la logica di esecuzione predefinita per puntare al ritorno alla media (attenuando gli estremi).
-
Trigger di acquisto: la barra precedente chiude al di sopra della banda dell’inviluppo superiore e la barra corrente apre al di sopra di essa. Logica: il codice assegna qui un segnale di vendita perché presume che l’asset sia sovraesteso e tornerà all’interno delle bande.
-
Trigger di vendita: la barra precedente chiude al di sotto della banda inferiore dell’inviluppo e la barra corrente apre al di sotto di essa. Logica: il codice assegna qui un segnale di acquisto, scommettendo su un rimbalzo immediato dalla zona di ipervenduto.
4. Logica del ciclo 4: Breakout della distanza in punti delle Envelopes
Il ciclo 4 introduce un vincolo rigido di volatilità/distanza in pip all’indicatore Envelopes, fungendo da sistema di breakout aggressivo.
-
Trigger di acquisto: la distanza tra la banda inferiore dell’envelope e la chiusura precedente è maggiore di Distance in punti, E la distanza tra la banda inferiore dell’envelope e l’attuale prezzo di offerta è anch’essa maggiore di Distance ($LowerBand - Close[1] > Distance$ e $LowerBand - Bid > Distance$).
-
Trigger di vendita: la distanza tra la chiusura precedente e la banda superiore, così come quella tra il prezzo di offerta corrente e la banda superiore, superano entrambe la "Distanza" ($Close[1] - UpperBand > Distance$ e $Bid - UpperBand > Distance$).
5. Uscita, chiusura del paniere e logica di rischio
L’architettura di gestione dell’uscita non utilizza ordini standard di Stop Loss (SL) o Take Profit (TP) per singola posizione. Si basa invece su un sistema globale di monitoraggio del patrimonio del conto (Global Account Equity Basket Tracking System ) mappato per ciclo.
Rilevamento delle tappe fondamentali
Quando il conteggio delle posizioni di un ciclo passa da 0 a 1 (monitorato tramite c1_Buycount == 0 o c1_Sellcount == 0), l’EA rileva il patrimonio di riferimento esatto del conto di trading in quel momento:
Utilizzando questo valore di riferimento, assegna obiettivi globali statici per quella specifica direzione di trading:
-
Obiettivo di Take Profit: se è specificato target_amount, assegna $\text{Baseline} + \text{target\_amount}$. Altrimenti, utilizza una formula percentuale:
$$\text{Prezzo obiettivo} = \text{Capitale di riferimento} + \left(\frac{\text{Capitale di riferimento} \times \text{target\_percent}}{100}\right)$$ -
Obiettivo di Stop Loss: utilizza un vincolo di drawdown percentuale relativo al patrimonio netto dell’istantanea acquisita:
$$\text{Prezzo di rischio} = \text{Baseline} - \left(\frac{\text{Baseline} \times \text{Account\_Risk\_percent}}{100}\right)$$
Verifica dinamica del paniere
Ad ogni tick, l’EA calcola il totale progressivo di profitti/perdite fluttuanti in tempo reale, swap e commissioni per tutte le posizioni attive corrispondenti al Magic Number e al tipo di operazione ( MyAccountProfit_Buy o MyAccountProfit_Sell ) di quel ciclo specifico.
Esecuzione dell’uscita
Se $\text{Valore attuale del portafoglio} \ge \text{Prezzo obiettivo}$ (raggiungimento dell’obiettivo di profitto) OPPURE $\text{Valore attuale del portafoglio} \le \text{Prezzo di rischio}$ (superamento del limite massimo di rischio):
-
L’EA chiama la funzione ClosePositions().
-
Esegue un ciclo a ritroso su tutte le posizioni di mercato, filtrandole in base alla corrispondenza tra Magic Number e Tipo di posizione.
-
Ogni singola operazione correlata viene immediatamente liquidata tramite un ordine a mercato.
-
Il contatore del ciclo di direzione viene azzerato a 0, consentendo all’EA di stabilire un’istantanea di riferimento completamente nuova al prossimo segnale dell’indicatore strutturale.
6. Logica di dimensionamento (gestione del capitale)
I calcoli del volume vengono eseguiti dinamicamente dalla routine getLots(int cycle):
-
Lotti fissi: se AutoLots è falso, restituisce l’impostazione di base della dimensione del lotto hardcoded (ad es., LotSize = 0,01).
-
Scaling dinamico del rischio: se AutoLots = true, il sistema regola automaticamente il volume di trading in base al margine libero:
-
Interroga il margine esatto richiesto per gestire una transazione standard da 1,0 lot sull’asset corrente utilizzando OrderCalcMargin.
-
Proietta una capacità di investimento sostenibile utilizzando la formula:
$$\text{Volume previsto} = \frac{\text{AccountFreeMargin} \times \left(\frac{\text{Lots\_Risk}}{100}\right)}{\text{Margine per 1,0 lot}}$$ -
Il risultato finale viene limitato in base ai vincoli imposti dal broker utilizzando MathMin e MathMax per garantire che rientri esattamente nell’intervallo valido compreso tra SYMBOL_VOLUME_MIN e SYMBOL_VOLUME_MAX, arrotondato con precisione alla dimensione di passo dell’asset di borsa più vicina (SYMBOL_VOLUME_STEP).
-
Tradotto dall’inglese da MetaQuotes Ltd.
Codice originale https://www.mql5.com/en/code/74818
FX Dashboard
This is a FX Dashboard style terminal panel on the MT5 chart, plus lines drawn on the chart (EMA, Bollinger, Donchian).
Day Trader Dashboard
The Day Trader Dashboard is a Bloomberg-style visual panel for MetaTrader 5 that tracks an intraday price range and flags when price is inside it (fade zone) or has broken out of it. It doesn't place trades — it's a decision-support overlay that computes the range High/Low from recent bars, draws those levels directly on the chart, and shows a live status readout (scanning / within range / breakout) in a themed, auto-scaling panel. It supports multiple independent instances on the same chart, several color themes, and cleans up 100% of its objects when removed.
MA + Envelope Breakouts
Breakout basati su canale o banda di inviluppo, logica multi-EA in un unico EA
MT5 EA Acceptance Harness
Deterministic synthetic acceptance checks for MT5 EA entry-state logic, with no market, account or order access.

