Unisciti alla nostra fan page
- Visualizzazioni:
- 102
- Valutazioni:
- Pubblicato:
-
Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance
Si tratta di una versione estesa dello script CalendarForDates.mq5 presentato nel libro algotrading.
Le variabili di input consentono di specificare un codice paese, un codice corrente e un intervallo di tempo per filtrare i record richiesti. Se gli input vengono lasciati vuoti, è possibile richiedere un calendario completo (se il calendario viene richiesto per la prima volta dopo l'avvio del terminale, può richiedere un po' di tempo per scaricare la sua base o addirittura andare in timeout e non produrre alcun risultato - quindi eseguire nuovamente lo script).
Come risultato, si otterrà un file CSV con i record del calendario con i campi più importanti (non tutti i campi sono esportati - sentitevi liberi di modificare il codice sorgente in base alle vostre esigenze).
Opzionalmente, si può inserire un file *.cal (copia archiviata del calendario per un periodo specifico) creato dall'indicatore CalendarMonitorCached.mq5, anch'esso introdotto nel libro, che ora è obsoleto a favore della sua versione estesa CalendarMonitorCachedTZ.mq5 (raccomandata e necessaria per la nuova funzione, descritta di seguito).
La caratteristica più interessante: lo script dimostra l'uso di TimeServerDST.mqh per regolare i timestamp degli eventi storici in base alle variazioni del fuso orario del server nel passato, che si riflettono in modo persistente nei timestamp delle candele. Questa modalità si attiva impostando l'input FixCachedTimesBySymbolHistory su true.
Salvando gli eventi in file CSV con e senza correzione, è facile confrontare gli effetti della correzione dell'ora sulla cronologia.
Per un uso corretto di questa funzione, si raccomanda di eseguire lo script sui grafici XAUUSD o EURUSD H1. In caso di utilizzo programmatico, questi simboli devono essere passati alle funzioni di TimeServerDST.
Lo stesso approccio è utilizzato nell'indicatore CalendarMonitorCachedTZ.mq5 per esportare gli eventi di calendario corretti per l'ora in file cal archiviati, pronti per essere caricati dall'interno del tester, che garantisce backtest accurati e ottimizzazioni dei robot di notizie.
L'intervallo di date in cui vengono eseguite le correzioni temporali è limitato al numero massimo di barre del grafico per il timeframe H1. Questa è la specificità del metodo empirico utilizzato all'interno di TimeServerDST.mqh.
Consideriamo un evento specifico, preferibilmente con un grande impatto sul mercato, come il rilascio dei Nonfarm Payrolls (NFP) statunitensi.
Su un server europeo con orario DST (MQ Demo) si verifica alle 14:30 in inverno e alle 15:30 in estate. Nella schermata sottostante si possono vedere affiancate due versioni della cronologia completa del calendario esportata in file CSV, con la specifica data estiva 2023.08.04 in vista. Entrambe le esportazioni sono state eseguite l'8 novembre (inverno, ora solare), quindi l'offset GMT+2 è stato applicato per impostazione predefinita a tutti gli eventi, compresa l'estate del 2023 (e anche ad altre stagioni e anni). Senza la correzione (mostrata a destra) l'orario esportato per i NFP estivi è 14:30. Questo non è corretto.
Dopo la rilevazione automatica empirica del fuso orario del server, che era in vigore durante l'estate, la libreria esegue l'esportazione del calendario con la correzione dell'orario (mostrato a sinistra). Di conseguenza, i NFP estivi sono spostati alle 15:30, come dovrebbe essere. È possibile dare un'occhiata al grafico di questo periodo per verificare che la correzione sia appropriata.

Questo caso specifico non è così drammatico, perché l'orario annunciato non corretto delle 14:30 precede le 15:30, quindi i consulenti esperti potrebbero probabilmente continuare ad aspettare le notizie e aprire operazioni. Ma quando il fuso orario del server passa all'estate, tutti gli eventi invernali registrati nel calendario contengono timestamp ritardati di 1 ora (!).
Il tutto è ancora sperimentale. Sentitevi liberi di inviare il vostro feedback.
Sono previste ulteriori ricerche sull'impatto delle correzioni temporali sul trading di notizie. Restate sintonizzati.
I file mqh allegati(CalendarFilter.mqh, CalendarCache.mqh, QuickSortStructT(Ref).mqh) contengono correzioni e miglioramenti rispetto alle versioni originali del libro.
04.10.2024 - aggiunta la scrittura/lettura dell'offset del fuso orario del server nei file cal e nei file csv.
10.11.2024 - aggiunta un'opzione per correggere i timestamp degli eventi nella cronologia in base ai cambiamenti retrospettivi del fuso orario del server.
11.11.2024 - piccola correzione e perfezionamento di CalendarCache.mqh e CalendarFilter.mqh.
22.11.2024 - piccole correzioni e miglioramenti in CalendarCache.mqh.
Tradotto dall’inglese da MetaQuotes Ltd.
Codice originale https://www.mql5.com/en/code/52977
Oscillatore CG Fisher
Il Fisher CG Oscillator è un oscillatore i cui valori sono ottenuti mediante la Trasformata di Fisher inversa dei valori dell'indicatore CG Oscillator personalizzato.
Mikahekin
L'indicatore Mikahekin è più un blocco analitico che un indicatore. Il colore delle barre determina la direzione del trend e la loro altezza la forza del trend. I punti blu e rosa indicano i livelli di trailing stop per le posizioni lunghe e corte rispettivamente.
Sample pine script stochastic divergence
Un esempio di codice pino convertito in MQL
Fisher RVI
L'RVI di Fisher è un oscillatore i cui valori sono ottenuti mediante la Trasformata Inversa di Fisher dei valori dell'indicatore RVI (Relative Vigor Index).

