LiuGuanYi
- Experts
-
Bo Wen Che
Sono un trader indipendente e sviluppatore di sistemi di trading algoritmico, concentrato principalmente su oro, Bitcoin, futures statunitensi e mercato valutario. - Versione: 35.2
- Attivazioni: 5
Questo non è un EA che richiede una configurazione complessa dei parametri. I parametri principali sono già stati sottoposti a numerosi test e sono fissati all'interno del programma. Non voglio che gli utenti modifichino liberamente i parametri interni finendo per eseguire un sistema completamente diverso da quello originale.
Nell'utilizzo reale è sufficiente comprendere il tipo di conto, il livello di capitale e la direzione di trading. Tutta la restante logica principale viene gestita automaticamente dal sistema.
1|Conto reale disponibile per osservazione pubblica https://www.mql5.com/zh/signals/2386318?source=Site+Signals+My
Broker: EC Markets
Server: ECMarkets-MT5-Live01
Conto: 81206286
Password investitore: Liuguanyi123@ — prima della pubblicazione verificare che sia effettivamente la password MT5 di sola lettura
Si tratta di un conto reale e può essere utilizzato per osservare il comportamento effettivo degli ordini dell'EA sul mercato reale.
2|Utilizzare un conto ECN a spread ridotto
Questo punto è molto importante.
I miei principali backtest e l'ambiente operativo utilizzano un conto ECN a spread ridotto, con uno spread di test di circa 5–8 punti e un parametro di commissione pari a 3.
Il sistema non è stato sviluppato in un ambiente idealizzato a spread zero e commissioni zero. Spread e commissioni fanno già parte dei costi di negoziazione reali della strategia.
Tuttavia, se si utilizza un conto con spread nettamente superiori a quelli dell'ambiente di test, slippage anomalo o un broker con condizioni molto diverse da un ambiente ECN standard, sia il rendimento finale sia il comportamento del drawdown cambieranno.
Più elevati sono i costi di negoziazione, minore sarà il profitto netto, peggiore sarà l'efficienza del capitale e più il profilo di drawdown potrà deteriorarsi.
Pertanto, se si utilizza un conto ad alto spread, non bisogna aspettarsi risultati identici ai miei test.
3|La strategia non dipende da una latenza ultra-bassa
Questa strategia non è arbitraggio di latenza, non dipende da ritardi nelle quotazioni e non richiede una latenza di rete estremamente bassa per ottenere un vantaggio.
Nei test con diverse latenze, da circa 1 ms fino a circa 500 ms, i risultati complessivi non hanno mostrato differenze strutturali decisive.
Non è quindi necessario acquistare un costoso server ultra-low-latency specificamente per questo sistema. Un normale VPS stabile o un computer locale sono sufficienti.
Per questa strategia:
Una connessione stabile è molto più importante che inseguire una latenza di 1 ms.
4|I parametri principali sono nascosti
I parametri interni che determinano realmente il comportamento del sistema sono già preimpostati. Non ho esposto agli utenti un gran numero di parametri di ricerca.
Il motivo è semplice: se tutti possono modificare liberamente le soglie interne di un modello già testato, il risultato finale non è più la stessa strategia.
L'utente deve soltanto scegliere:
Tipo di conto, livello di capitale e direzione di trading.
Tutti gli altri parametri principali vengono gestiti internamente dal sistema.
Si sceglie il livello di rischio, non si riprogetta la strategia.
5|Il livello di capitale determina l'intensità del rischio
Se il conto dispone di 2.500 USD, la configurazione standard è il livello di capitale da 2.500 USD; un conto da 5.000 USD utilizza il livello da 5.000 USD; un conto da 10.000 USD utilizza il livello da 10.000 USD. È possibile utilizzare anche un conto cent; sono sufficienti circa 25 USD per avviare il sistema.
Questo è il modo più normale e ragionevole di utilizzare il sistema.
Nelle prime fasi di sviluppo lasciavo che l'EA determinasse il rischio in modo completamente dinamico in base al capitale totale del conto. Dopo numerosi test ho scoperto che, sebbene questo permettesse di mantenere il drawdown estremamente basso, lasciava anche una parte importante del capitale inutilizzata per lunghi periodi, riducendo l'efficienza del capitale.
Per questo alla fine ho deciso di:
Lasciare all'utente la scelta del livello di rischio.
Il livello di capitale non è semplicemente un'etichetta del saldo del conto. In sostanza determina l'intensità di rischio con cui opera il sistema.
Se il capitale reale è uguale al livello selezionato, si tratta di rischio standard. Se il capitale reale è superiore al livello selezionato, il rischio relativo diminuisce. Se è inferiore, il rischio relativo aumenta.
6|Se si è disposti ad accettare più rischio, è possibile scegliere un livello di capitale superiore
Per esempio, anche con soli 2.500 USD di capitale reale è possibile utilizzare il livello di capitale da 5.000 USD.
Ciò significa che il sistema opererà secondo la struttura di rischio progettata per il livello da 5.000 USD.
Il risultato è molto chiaro:
Aumenta il potenziale rendimento e, allo stesso tempo, aumenta anche il potenziale drawdown.
Non è un bug né un'anomalia. È una scelta consapevole dell'utente di aumentare il livello di rischio.
Se non si è in grado di tollerare maggiori oscillazioni del capitale, non utilizzare un livello di capitale elevato su un conto piccolo.
I rendimenti più elevati non sono mai gratuiti.
Informazioni sul backtestPeriodo pubblico di backtest:
1 marzo 2024 — 5 agosto 2026
Il motivo per cui il test inizia nel 2024 è che, nel mio attuale ambiente storico EC Markets, i dati tick reali affidabili sono disponibili in modo stabile a partire da quel periodo.
Non prolungherò artificialmente il backtest mescolando dati provenienti da fonti diverse o utilizzando dati storici la cui qualità non può essere verificata.
Mostro solo ciò che può essere realmente verificato.
Conto da 2.500 USD|Livello di capitale 2.500 USD
Capitale iniziale: 2.500 USD
Profitto netto finale: 6.603 USD
Rendimento netto: circa 264%
Capitale finale: circa 3,64 volte il capitale iniziale
Drawdown massimo dal picco dell'equity: circa 16%
Importo massimo di drawdown durante il test: circa 1.120 USD
Se si confrontano direttamente 1.120 USD con il capitale iniziale di 2.500 USD, l'importo equivale a circa il 44,8% del capitale iniziale.
È importante comprendere che:
Il drawdown massimo dal picco dell'equity e l'importo massimo della perdita espresso come percentuale del capitale iniziale non sono la stessa metrica statistica.
La strategia calcola dinamicamente il volume effettivo di negoziazione in base al livello di capitale selezionato. Pertanto, utilizzando più capitale reale con lo stesso livello e mantenendo una struttura di profitto simile, la percentuale relativa di drawdown normalmente diminuisce ulteriormente.
Conto da 10.000 USD|Livello di capitale 10.000 USD
Capitale iniziale: 10.000 USD
Profitto netto finale: 26.395 USD
Rendimento netto: circa 263,95%
Drawdown massimo dal picco dell'equity: circa 16%
Importo massimo di drawdown durante il test: circa 4.000 USD
Questo risultato mostra che, aumentando proporzionalmente il livello di capitale, la struttura complessiva rischio/rendimento del sistema può rimanere relativamente coerente.
Conto da 2.500 USD|Esecuzione con livello di capitale 5.000 USD
Questo è il test che considero più importante da comprendere.
Il capitale iniziale reale era soltanto:
2.500 USD
Ma il sistema è stato eseguito con:
Livello di capitale 5.000 USD
Profitto netto finale:
13.201 USD
Rispetto ai 2.500 USD iniziali:
Rendimento netto: circa 528%
Drawdown massimo dal picco dell'equity:
Circa 18%
Importo massimo di drawdown durante il test:
Circa 2.240 USD
Questo dimostra che un utente disposto ad accettare consapevolmente un rischio maggiore può modificare il profilo complessivo rischio/rendimento del conto selezionando un livello di capitale superiore.
Ma va ribadito chiaramente:
Quando aumenta il potenziale rendimento, aumenta in modo significativo anche l'importo assoluto del capitale esposto al rischio.
Se non si è in grado di tollerare questo livello di oscillazione, non utilizzare questa configurazione.
I backtest devono utilizzare dati tick realiQuesto è uno dei punti più facili da trascurare dopo l'acquisto e, allo stesso tempo, uno dei più importanti.
Non bisogna pensare che fare clic sullo Strategy Tester di MT5 significhi automaticamente utilizzare i tick reali del broker.
MT5 può generare tick sintetici a partire dalle candele storiche. Per molte strategie tradizionali a bassa frequenza questa differenza può non essere significativa.
Questa strategia, però, contiene dipendenza dal percorso del prezzo, stati legati agli eventi e logica della sequenza di esecuzione. Anche se la candela finale è identica, una diversa sequenza intrabar può attivare uno stato interno differente.
Per un backtest serio:
È necessario selezionare “Ogni tick basato su tick reali” e utilizzare la cronologia dei tick reali fornita dal broker.
Se vengono utilizzati tick sintetici:
Il rendimento del backtest può risultare notevolmente distorto. La maggior parte dei broker non dispone di cronologie di tick reali molto lunghe. Per esempio, nel mio ambiente EC Markets i tick reali affidabili iniziano dal 2024. Un altro broker può mostrare dati a partire dal 2017, ma i dati più vecchi possono essere semplicemente candele ricostruite o simulate e non una vera cronologia di tick. In quel caso il profitto storico ottenuto non può essere considerato un risultato autentico basato su tick reali. Questa differenza deve essere compresa chiaramente.
Perché alla fine ho deciso di sviluppare personalmente questo EAFaccio trading da sei anni.
In questi sei anni ho capito che il mio più grande nemico non era realmente il mercato.
Ero io stesso.
Quando sono in una buona condizione mentale, riesco a eseguire il trading con grande disciplina. In un giorno posso guadagnare 200 USD, in un altro magari 1.000 USD.
Il vero problema non è che non sappia fare trading. Il problema è:
Dopo aver guadagnato, lo stato mentale di una persona cambia.
Per esempio, se questo mese opero con disciplina e guadagno 5.000 USD, il mese successivo potrei diventare troppo sicuro di me, rilassarmi o persino diventare arrogante a causa del profitto del mese precedente.
A quel punto la qualità del trading peggiora e arrivano le perdite.
Dopo una perdita torno a essere serio. Quando torno disciplinato, torno a guadagnare. Poi, dopo nuovi profitti, ricomincio gradualmente a rilassarmi.
Con gli anni ho capito che continuavo a ripetere lo stesso ciclo:
Disciplina → Profitto → Fiducia → Compiacenza → Perdita → Di nuovo disciplina
La cosa che mi frustrava di più era sapere con assoluta chiarezza che:
Quando rispetto rigorosamente le regole, le mie performance migliorano in modo evidente.
Ma non posso garantire che emozioni, disciplina e stato mentale rimangano esattamente uguali per 365 giorni all'anno.
Per un essere umano è molto difficile.
Così ho iniziato a chiedermi:
Se la logica di trading può essere definita, perché non lasciarla eseguire a un programma privo di emozioni?
Un programma non si esalta perché ha guadagnato ieri. Non si sente invincibile dopo una serie di operazioni vincenti. Non salta condizioni perché è di cattivo umore. E non cerca improvvisamente di recuperare tutto dopo una perdita.
Esegue semplicemente le regole.
Successivamente ho iniziato ad acquistare EA e strategie di altri sviluppatori, sperando di trovare un sistema automatizzato realmente affidabile.
In totale ho speso circa:
3.000 USD
Ma dopo numerosi acquisti, test e analisi ho scoperto troppi problemi in questo mercato:
Uso di dati futuri, repainting, sostituzione dei dati storici, commissioni ignorate, spread ignorati, slippage ignorato, perdite flottanti nascoste, condizioni diverse tra backtest e reale, parametri continuamente adattati al passato, selezione dei periodi più favorevoli e curve di equity irrealisticamente perfette.
Alla fine sono arrivato a una conclusione:
Se avessi continuato a cercare un presunto EA magico, avrei potuto passare tutta la vita a cercare qualcosa che non esiste.
Quindi ho smesso di comprarli.
Ho deciso di sviluppare il mio.
È così che è nato questo EA.
Il suo obiettivo iniziale non era creare la curva di backtest più bella possibile, ma:
Trasformare qualcosa che normalmente un trader deve eseguire attraverso disciplina e controllo emotivo in un sistema automatizzato capace di applicare le regole con continuità.
Architettura quantitativaDal punto di vista ingegneristico, questo sistema non segue il modello tradizionale:
Indicatore genera segnale → ordine diretto
Il vero processo decisionale è più vicino a:
Riconoscimento dello stato del mercato → valutazione strutturale → conferma dell'evento → valutazione del rischio → verifica dell'esecuzione
Gli ordini che alla fine compaiono sul grafico MT5 sono soltanto l'output finale prodotto dopo che il sistema interno degli stati ha attraversato più livelli di vincoli.
I|Scomposizione multi-timeframe dello spazio degli stati
Il sistema utilizza una struttura di analisi degli stati su più timeframe, in cui ogni scala temporale svolge una diversa funzione informativa.
Struttura direzionale, volatilità locale, eventi di mercato, stato delle posizioni e ambiente di esecuzione non vengono semplicemente sommati. Sono mappati su livelli differenti e determinano congiuntamente se un'operazione ottiene l'autorizzazione all'esecuzione.
Pertanto, il sistema non produce semplicemente un segnale di acquisto o vendita, ma:
Uno stato di trading eseguibile che riceve l'autorizzazione soltanto dopo molteplici livelli di conferma.
II|Instradamento degli stati di mercato con isteresi
Lo stato del mercato non passa istantaneamente da una condizione a un'altra sulla base di una singola soglia fissa.
Il sistema incorpora persistenza dello stato, conferma, regole di transizione asimmetriche e memoria dello stato, soprattutto per ridurre i continui cambiamenti di regime quando il mercato si trova vicino a una zona limite.
Una volta stabilito un nuovo ciclo di trading, alcune variabili chiave vengono congelate.
Il mercato può continuare a cambiare, ma il sistema non reinterpreta continuamente una struttura di rischio già stabilita a causa di poche oscillazioni di breve periodo.
III|Struttura dei prezzi normalizzata per la volatilità
Il sistema non considera la distanza assoluta del prezzo come una misura universale.
Lo stesso movimento di 10 USD può avere un significato completamente diverso in un mercato a bassa volatilità e in uno ad alta volatilità.
Per questo spostamento del prezzo, distanza strutturale, espansione locale e limiti di rischio vengono valutati all'interno di uno spazio normalizzato per la volatilità.
In altre parole:
Il sistema non misura soltanto quanto si è mosso il prezzo, ma quanto quel movimento è grande rispetto all'attuale struttura di volatilità.
IV|Evoluzione dello stato dipendente dal percorso
Il prezzo corrente non è l'unica variabile che determina il comportamento del sistema.
Il sistema considera anche il percorso seguito dal mercato per raggiungere il prezzo corrente, insieme allo stato di trading, allo stato di rischio e alla struttura delle posizioni già formati.
Pertanto:
Anche se il prezzo ritorna esattamente allo stesso livello, il sistema non deve necessariamente prendere la stessa decisione.
Il motivo è semplice:
Il percorso seguito per arrivare a quel prezzo può essere completamente diverso.
Questo è anche il motivo per cui la qualità dei dati tick reali è così importante per questa strategia.
V|Budget di rischio gerarchico
Il sistema non genera semplicemente un segnale per poi decidere immediatamente la dimensione del lotto.
Ogni nuovo ciclo di trading stabilisce prima un budget di rischio indipendente. Successivamente, il modulo interno di pianificazione calcola la struttura reale dell'esposizione in base allo spazio di rischio ancora disponibile.
La gerarchia può essere interpretata così:
Controllo del rischio del conto > Rischio del ciclo di trading > Pianificazione delle posizioni > Condizioni di ingresso > Segnale di trading
Di conseguenza:
La dimensione della posizione non è la prima cosa che il sistema decide. È il risultato del calcolo completo del rischio.
Anche se le condizioni di ingresso sono valide, il sistema può rifiutare l'esecuzione se la capacità di rischio dei livelli superiori è insufficiente.
VI|Struttura non lineare del rischio di posizione
Quando esistono più posizioni contemporaneamente, il rischio totale non può essere interpretato come la semplice somma dei rischi di ogni singolo ordine.
Ogni nuova variazione dell'esposizione modifica la quantità di rischio che l'intero ciclo può ancora assorbire in futuro.
Il rischio già utilizzato influenza direttamente la possibilità di aggiungere nuova esposizione successivamente.
Il sistema quindi non gestisce ordini isolati. Gestisce:
La struttura complessiva del rischio dell'intero ciclo di trading, in continuo cambiamento.
VII|Gestione indipendente degli stati long e short
Long e short non sono semplicemente lo stesso programma con la direzione invertita.
Le due direzioni mantengono indipendentemente:
Stato di trading, stato di rischio, memoria di esecuzione e struttura del ciclo.
Allo stesso tempo condividono il controllo del capitale a livello di conto.
Dal punto di vista architetturale è più simile a:
Due motori di stato indipendenti che condividono un unico livello di controllo del capitale del conto.
VIII|Verifica dell'esecuzione a ciclo chiuso
In molti EA tradizionali il processo principale è praticamente concluso una volta che l'ordine è stato inviato con successo.
Questo sistema funziona diversamente.
Dopo l'invio dell'istruzione, il sistema continua a verificare:
Stato pianificato → Stato reale di esecuzione → Stato finale verificato
Il ciclo di vita dell'ordine viene considerato valido soltanto se l'esecuzione reale rimane coerente con lo stato interno di rischio.
Il sistema quindi non controlla solo:
Se l'ordine è stato inviato correttamente
ma anche:
Se il risultato reale dell'esecuzione continua a rispettare il modello interno di rischio.
IX|Controllo dell'integrità dell'ambiente di trading
Il mercato reale non è un ambiente di backtest.
Volume minimo, step del volume, valore del tick, dimensione del contratto, restrizioni sugli stop, restrizioni di freeze, requisiti di margine, spread, slippage e fallimenti degli ordini possono tutti influenzare il risultato finale.
Questi elementi non fanno parte della logica direzionale della strategia, ma determinano direttamente se essa può essere eseguita sul mercato reale come previsto.
Pertanto:
L'ambiente di esecuzione stesso fa parte dell'intero sistema di rischio.
X|Rilevamento delle variazioni delle condizioni contrattuali
Il sistema non presuppone che lo stesso simbolo mantenga sempre esattamente le stesse condizioni di trading.
Se il broker modifica volume minimo, step del volume, valore del tick, dimensione del contratto o restrizioni di trading, la base del calcolo del rischio originale può cambiare.
Per questo il sistema registra le principali caratteristiche di esecuzione dello strumento e monitora le variazioni critiche delle condizioni di trading.
Per un sistema automatizzato di rischio:
Lo stesso nome del simbolo non garantisce esattamente le stesse proprietà economiche in ogni momento.
XI|Controllo del rischio in modalità “fail-closed”
Il sistema utilizza un principio molto conservativo di fronte agli stati sconosciuti.
Se la sicurezza non può essere verificata, ciò non significa che lo stato sia sicuro.
Se una protezione critica non può essere confermata, un risultato di esecuzione non può essere verificato, l'ambiente di trading diventa anomalo o le condizioni di rischio escono dall'intervallo previsto, il sistema dà priorità alla limitazione di nuove posizioni invece di aggiungere rischio sconosciuto.
Questo è uno dei principi più importanti dell'intera architettura.
XII|Ricostruzione persistente dello stato
Un VPS può riavviarsi. MT5 può aggiornarsi. La rete può interrompersi. Il programma può essere ricaricato.
Per questo il sistema non è mai stato progettato assumendo che il processo rimanga attivo senza interruzioni per sempre.
La durata di un ciclo di trading e la durata del processo del programma non sono la stessa cosa.
Il sistema cerca di preservare e ricostruire gli stati di trading esistenti affinché, dopo un riavvio, possa comprendere in quale fase si trovi già il conto invece di trattare tutte le posizioni esistenti come un nuovo inizio.
XIII|Il rischio del capitale del conto ha l'autorità massima
Il sistema dispone di una chiara gerarchia dell'autorità di rischio:
Protezione del capitale del conto > Rischio del ciclo di trading > Pianificazione delle posizioni > Autorizzazione all'ingresso > Segnale di trading
Ciò significa che anche un'opportunità di trading pienamente valida può essere rifiutata se le condizioni di rischio del conto non consentono di assumerla.
Perché in questo sistema:
La presenza di un segnale non significa che l'operazione debba necessariamente essere eseguita.
La logica di trading individua le possibilità.
Il sistema di rischio del capitale decide se il conto è autorizzato ad assumere quel rischio.
Definizione finale del sistemaSe dovessimo descrivere il sistema in termini ingegneristici, potrebbe essere inteso come:
Scomposizione multi-timeframe degli stati, riconoscimento del regime con isteresi, struttura dei prezzi normalizzata per volatilità, evoluzione dello stato dipendente dal percorso, budget gerarchico del rischio, allocazione non lineare dell'esposizione, gestione indipendente degli stati long/short, verifica dell'esecuzione a ciclo chiuso, rilevamento dei cambiamenti dell'ambiente di trading, recupero persistente dello stato e protezione del capitale in modalità fail-closed.
Ciò che alla fine si vede sul grafico MT5 è soltanto un ordine.
Ciò che realmente determina perché quell'ordine sia autorizzato a esistere è un'intera struttura invisibile di valutazioni dello stato e vincoli di rischio.
È possibile vedere dove il sistema opera.
Ma non è possibile vedere quale stato interno ha autorizzato quell'operazione.
Avvertenza sui rischiNessun EA, programma di trading automatizzato o sistema quantitativo può rimanere efficace per sempre o garantire profitti.
I backtest storici non garantiscono rendimenti futuri. Anche i risultati storici di un conto reale non garantiscono performance future.
Il risultato finale può essere influenzato da spread, commissioni, slippage, qualità di esecuzione del broker, condizioni di mercato e livello di capitale scelto dall'utente.
Pubblico i dati storici affinché gli utenti possano verificare personalmente la strategia, non per affermare che il futuro ripeterà il passato.
Scegliere il livello di capitale in base alla perdita che si è realmente in grado di sostenere.
Se un determinato drawdown può influenzare la propria vita normale, quel livello di rischio non è adatto.
