
EdgeMeter risponde a una domanda su qualsiasi segnale di ingresso:
al netto dei costi di transazione, questo segnale genera un profitto?
Non emette ordini. Analizza i dati storici, valuta il segnale su ogni
barra e fornisce un verdetto.
PERCHÉ L’HO CREATO
Ho trascorso un mese a sviluppare un EA grid su XAUUSD M1. Ho fissato lo stop loss, aggiunto
un limite di perdita variabile, un'uscita in caso di inversione di tendenza e una durata massima del paniere. Continuava a perdere.
Quando finalmente ho valutato il segnale di ENTRATA da solo, la risposta ha richiesto trenta
secondi:
movimento medio dopo il segnale, 15 min: +0,04
spread pagato per round turn: 0,26
Nessuna logica di uscita può rimediare a questo. Il denaro è andato perso all’entrata, e ogni ora
dedicavo alle uscite era tempo sprecato. È proprio per evitare questo che esiste questo script.
COSA RIPORTA
Per ogni periodo di detenzione specificato:
- vantaggio lordo: il movimento medio favorevole dopo il segnale
- risultato netto al netto del costo, simulato una posizione alla volta
- statistica t calcolata su operazioni NON SOVRAPPOSTE
- percentuale di mesi redditizi
- drawdown massimo
Successivamente esegue la stessa analisi su un CONTROLLO CASUALE: stessa frequenza di esecuzione,
direzione casuale. Un ingresso casuale deve perdere esattamente il costo di transazione,
né di più né di meno. Questo serve a due cose: dimostra che il simulatore è corretto
e fornisce il rumore di fondo. Se il segnale non supera chiaramente quelle
righe, non trasporta alcuna informazione.
LA TRAPPOLA DELLA SOVRAPPOSIZIONE
Questa è la parte che mi ha messo in difficoltà, e che mette in difficoltà la maggior parte delle persone.
I segnali consecutivi condividono gran parte della loro finestra in avanti. Un orizzonte di 60 barre
campionato ad ogni barra fornisce finestre che si sovrappongono in 59 modi diversi. Considerarle come
indipendenti gonfia la statistica t all’incirca della radice quadrata dell’orizzonte.
Il mio segnale ha mostrato t = 3,32 in questo modo, il che sembra convincente. Su campioni realmente
campioni realmente indipendenti, il valore era t = 1,20, indistinguibile dal rumore. EdgeMeter
simula una posizione alla volta, quindi le operazioni che riporta non si sovrappongono e
la statistica t è attendibile.
CRITERI DI SUPERAMENTO
Lo script verifica tre criteri, tutti e tre obbligatori:
[1] utile netto per operazione > 0 al netto dei costi
[2] |t| > 2
[3] almeno 3 mesi redditizi su 4
Decidi i tuoi criteri prima di esaminare i numeri. Deciderli in seguito significa
il modo in cui un sistema perdente viene trasferito su un conto reale.
COME TESTARE IL TUO SEGNALE
Apri il file e modifica due funzioni nella SEZIONE UTENTE. Non è necessario
modificare.
bool UserInit() - crea gli handle del tuo indicatore e carica i relativi
buffer con LoadBuffer() / LoadBufferB()
int UserSignal(int i) - valuta la barra chiusa i
restituisci +1 per acquistare, -1 per vendere, 0 per rimanere in attesa
Tutti gli array sono indicizzati a partire da 0 = barra più vecchia. Questo è l’opposto della consueta
e ciò è intenzionale: il ritorno in avanti è quindi semplicemente
indice + orizzonte, il che elimina un'intera classe di errori di segno.
L’entrata viene simulata a Open(i+1), la barra successiva. Non leggere mai la barra i+1 o successive
all’interno di UserSignal: si tratta di un bias di anticipazione, che renderà il
sembrare brillante.
Il UserSignal predefinito è un crossover di medie mobili su due timeframe, mantenuto come
esempio pratico. Sostituiscilo.
IMPOSTAZIONE DEL COSTO
InpSpread, InpCommission e InpSlippage sono espressi in unità di PREZZO, non in punti, e
rappresentano i parametri più importanti dello script. Ricavateli dal tuo
conto, non dai dati pubblicizzati dal broker.
Se disponete di un registro delle esecuzioni derivante dal trading live o in demo, utilizzate la
media rilevata. In caso contrario, prendete lo spread tipico che vedete sul grafico e aggiungete
un margine di slippage invece di ipotizzarlo pari a zero. Un server demo riporterà
uno slippage prossimo allo zero; questa è una caratteristica del server demo, non del mercato.
REQUISITI
Carica una cronologia sufficientemente ampia prima dell’esecuzione: apri un grafico del tuo simbolo e
intervallo di tempo, quindi scorri verso sinistra. Lo script ti avviserà se i dati non sono
dati sufficienti. Meno di 30 segnali indicano che qualsiasi risultato è aneddotico, non una prova.
L'uso e la modifica sono liberi.