Unisciti alla nostra fan page
- Visualizzazioni:
- 45
- Valutazioni:
- Pubblicato:
-
Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance

L’oro presenta una pausa di manutenzione giornaliera sul CME. La prima ora di negoziazione dopo tale pausa registra un rialzo superiore a quanto spiegabile dal caso, e ciò si verifica in ogni anno solare di un campione di undici anni — mentretutte le altre ore della giornata risultano piatte.
Questo Expert Advisor acquista alla riapertura, mantiene la posizione per un periodo di tempo prestabilito con uno stop lato server proporzionale alla volatilità e non esegue alcuna altra operazione. Una sola operazione per sessione. Nessuna media, nessuna strategia grid, nessuna martingala, nessun recupero.
Il dato, e poi il dato successivo dopo aver scoperto che il mio modello di costo era errato
Misurato su 11 anni di dati orari, entrando alla riapertura e mantenendo la posizione per due ore:
| come costo addebitato dalla ricerca | al costo misurato dal tester | |
|---|---|---|
| per operazione | +3,34 bps | +1,60 bps |
| statistica t | 7,40 | 3,42 |
| percentuale di vincita | 59,3% | 50,8% |
| fattore di profitto | 1,63 | 1,30 |
| anni positivi | 11 su 11 | 10 su 11 |
La colonna di sinistra mostra ciò che avrei pubblicato se mi fossi fermato dove si ferma la maggior parte delle persone. Poi un backtest con dati in tempo reale nel Strategy Tester di MetaTrader ha mostrato che il vero costo di andata e ritorno alla riapertura è di circa60 punti, non i 19 che la mia ricerca aveva calcolato — perché il campo dello spread della barra M1 è un riepilogo per singola barra e sottostima lo spread di riapertura di circa tre volte.
Il vantaggio sopravvive a tale correzione, pur con meno della metà della sua forza originaria, e la percentuale di successo diventa un lancio di moneta determinato da un guadagno favorevole piuttosto che dalla frequenza. La colonna di destra è quella reale, ed è su questa che si basa questo EA.
Cosa non è
Non è un mezzo di sostentamento, e l’intestazione del file sorgente lo specifica prima ancora che venga descritto qualsiasi parametro. Con un capitale dimensionato per un drawdown del 20%, registra circa il +3,3% all’anno con un drawdown massimo del 4,6%, un indice di Sharpe di 1,23 e circa 200 operazioni all’anno — il che significa anche che circaun anno su nove è in perdita. A 0,01 lotti, ciò corrisponde a circa 130 unità valutarie all’anno, e tale cifra misura ladimensione della posizione, non la strategia.
Se considerata isolatamente, una finestra temporale di 2,5 anni fornisceun valore di t pari a +1,12, che non è significativo. Un backtest biennale redditizio di questa strategia non dimostra nulla di per sé; è il campione di undici anni a conferirle valore.
Cosa ha dovuto superare la strategia prima che io mi fidassi di essa
Ognuno di questi fattori avrebbe potuto comprometterlo, e il motivo per cui sono elencati è che un risultato che nessuno ha cercato di confutare non è un risultato:
- Non si tratta di un gap. Il gap registrato durante la rottura ha una media di −0,011 — il movimento avviene con il mercatoaperto.
- Non si tratta di un artefatto di costruzione delle barre. La ricostruzione dell’ora a partire da barre M1 recuperate in modo indipendente concorda con la serie H1 fino a 0,0000 in tutti i 73 giorni di sovrapposizione.
- Non si tratta di valori anomali. La media troncata all’1% è pari a +0,70 rispetto a un +0,75 sull’intero campione; la mediana è pari a +0,48.
- Non si tratta della normalizzazione dello spread, che sarebbe la trappola più ovvia, poiché le barre MT5 sono sul lato dell’offerta e lo spread alla riapertura è più ampio: lo spread rimane piatto per l’intera ora, quindi spiega lo 0% dell’effetto.
- Non è necessario il tick esatto della riapertura. Entrare con 15 minuti di ritardo è comunque redditizio, così come con 30 minuti di ritardo, mentre l’effetto svanisce a 45 minuti.
- La riapertura settimanale NON ne fa parte. La domenica registra +1,11 bps con t = 0,88 — indistinguibile dal rumore — contro i +3,90 bps e t = 8,32 delle riaperture giornaliere. Ecco perché esiste InpSkipMonday, il cui valore predefinito è true.
I parametri di input e il motivo per cui sono così
| Input | Significato |
|---|---|
| InpEntryHour | L'ora del server alla riapertura. L'utilizzo dell'ora del server è intenzionale: l'orologio di questo broker segue l'ora legale degli Stati Uniti, quindi la riapertura avviene a un'ora fissa del server per tutto l'anno, mentre un trigger UTC subirebbe uno scostamento di un'ora due volte all'anno. |
| InpEntryWindowMin | Inserire solo entro questo numero di minuti dall’ora. |
| InpHoldHours | Ore di mantenimento prima della chiusura all’ora prestabilita. |
| InpSkipMonday | Salta la riapertura settimanale. Vedi i dati relativi alla domenica riportati sopra. |
| InpLots | Lotto fisso. Nessun ridimensionamento, in nessun caso. |
| InpStopAtrMult | Stop = questo valore × il range orario medio. Impostazione predefinita 2,0, non 1,5 come nella prima versione — vedi sotto. |
| InpRangeBars | Barre H1 nell’unità di intervallo medio. 480 corrispondono a circa 20 sessioni. |
| InpMaxSpreadPts | Rifiuta l’ingresso se lo spread è peggiore di questo valore. |
Sul moltiplicatore dello stop. Al costo corretto, 1,5× dà +1,60 bps (t 3,42) mentre 2,0× dà +1,91 (t 4,07) e viene raggiunto nell’1,3% delle operazioni invece che nel 2,6%. Uno spread più ampio continua a migliorare — e lo stop rimane, perché «rimuovere lo stop e il backtest migliora» è esattamente il ragionamento che fa sembrare redditizia una martingala. Lo stop è ciò che limita un evento estremo; il tempo di uscita limita il resto.
Provatelo prima di credere a quanto detto sopra
E provatelo conogni singolo tick basato su tick reali. Su un altro mio codice, le stesse regole nello stesso periodo hanno prodotto −15.627 con una modellizzazione a barre da 1 minuto e +79.000 con tick reali. Un backtest che non specifica la propria modalità di modellizzazione non vi sta dicendo cosa ha misurato.
Tradotto dall’inglese da MetaQuotes Ltd.
Codice originale https://www.mql5.com/en/code/77060
Prop Daily Loss Meter
Shows how much of the daily loss limit of a prop firm account is already used, and how much is left. Read-only indicator.
Server Clock Check
Measures how far your PC clock is from the trade server's clock, from the server time stamped on live ticks, and tells you how to fix it.
Trade Excursion Report: MFE and MAE of every closed trade, to CSV
Esporta una riga CSV per ogni operazione chiusa con i dati che non compaiono nell’estratto conto: il massimo profitto non realizzato registrato dall’operazione (MFE), la massima perdita non realizzata subita (MAE), la quota effettiva di MFE mantenuta, il numero di barre coperte e la durata della posizione. Si tratta delle stesse metriche dell’indicatore Trade Excursion, ma salvate in un file anziché visualizzate su un grafico, poiché le domande che vale la pena porsi su questi dati sono quelle a cui un grafico non può rispondere: il rapporto di cattura dipende dall’ora di ingresso? Le operazioni che chiudo in anticipo sono quelle che mantengo più a lungo? Le operazioni in perdita del lunedì raggiungono un MAE diverso rispetto a quelle del venerdì? Basta una tabella pivot una volta che il file CSV è disponibile. L'output è separato da punti e virgola con una riga di intestazione, in formato MQL5\Files; si apre in qualsiasi foglio di calcolo. Limite di misurazione: le escursioni derivano dai massimi e dai minimi delle barre sul timeframe scelto; il percorso all'interno di una barra è sconosciuto. La colonna delle barre riporta la risoluzione ottenuta da ciascuna operazione, e il riepilogo conta separatamente le operazioni su singola barra invece di calcolarne la media.
CGoldSymbol - find the broker's gold and size the position correctly on it
Rileva il simbolo “gold”, indipendentemente dal nome con cui lo chiama il broker, legge le specifiche del contratto dal terminale invece di ipotizzarle e converte il rischio nella valuta del conto in una dimensione del lotto corretta per quel broker.