BACKTESTMARKET
Max Bars su MT4 per i Quant: Risolvere i Backtest Rotti con Dati di Import Puliti
backtesting·

Max Bars su MT4 per i Quant: Risolvere i Backtest Rotti con Dati di Import Puliti

Scopri come funzionano i limiti di grafico e cronologia di MT4. Modifica Max bars, risolvi i problemi di dati mancanti e importa dataset puliti per ottenere backtest riproducibili.

Di BacktestMarket Team
limite massimo barre mt4max bars in mt4mt4 max data barslimite grafico mt4limiti dati storici mt4aumentare il numero di barre in mt4

Trader che importa dati storici in MT4

Due impostazioni controllano quante barre MT4 mostra e memorizza: Max bars in chart e Max bars in history, entrambe presenti in Tools → Options → Charts. Modificare l'una o l'altra richiede un riavvio del terminale per avere effetto, e nessuna delle due impostazioni obbliga il terminale a scaricare più dati dal server del tuo broker. Se hai bisogno di una cronologia completa garantita per il backtesting, controlla prima History Center (F2), quindi valuta l'importazione di dati esterni.


TL;DR:

  • Aumentare Max bars in chart migliora le capacità di visualizzazione live ma non garantisce l'accesso a dati più vecchi memorizzati sul server del tuo broker.
  • Aumentare Max bars in history influisce su quante barre vengono salvate per il backtesting e può essere limitato dalle politiche di conservazione dei dati del tuo broker.
  • Importare file .hst esterni o dataset verificati spesso fornisce una cronologia completa più affidabile rispetto a fare affidamento esclusivamente sui server del broker o su impostazioni aumentate.
  • Riavviare MT4 dopo aver modificato le impostazioni è essenziale, poiché le modifiche non si applicano finché non si effettua un riavvio completo del terminale.
  • Gli indicatori a barre custom range e real-range dipendono dai limiti di dati sottostanti e non possono aggirare i vincoli massimi di cronologia senza una corretta importazione dei dati.

Indice

Cosa fanno 'Max bars in chart' e 'Max bars in history' e perché differiscono

Questi due parametri sembrano simili ma controllano aspetti completamente diversi. Max bars in chart limita quante barre sono disponibili per grafici, indicatori e programmi MQL4 in un dato momento, ed esiste principalmente per risparmiare risorse del computer durante l'uso in tempo reale, secondo la documentazione MQL4 sull'accesso alle timeseries. Max bars in history regola qualcos'altro: quante barre vengono salvate su disco per ciascun timeframe, il pool utilizzato quando esegui uno strategy tester, come spiegato nella documentazione di aiuto ufficiale di MetaTrader 4.

Pensalo come memoria contro archiviazione. Le barre del grafico vivono nella RAM mentre stai visualizzando attivamente un simbolo. Le barre della cronologia risiedono in file .hst sul tuo disco rigido, disponibili ogni volta che riapri il terminale o esegui un backtest.

Quando apri un grafico per la prima volta, MT4 tipicamente carica un lotto predefinito di barre recenti (spesso circa 512) piuttosto che la tua impostazione completa di cronologia. Scorrere verso sinistra attiva una richiesta di dati precedenti, ma solo se quei dati esistono sul server o nei tuoi file locali. Un grafico può temporaneamente contenere più barre della tua impostazione se hai scorso e il terminale non ha ancora ridotto il buffer, anche se questo non è un comportamento garantito su cui fare affidamento.

Questa distinzione è importante anche per indicatori ed expert advisor:

  • Gli indicatori con lunghi periodi di lookback hanno bisogno di abbastanza barre del grafico caricate per calcolare correttamente, altrimenti mostreranno lacune o errori sul bordo sinistro.
  • Gli expert advisor che usano prev_calculated per evitare di ricalcolare le vecchie barre dipendono comunque dall'avere abbastanza cronologia caricata inizialmente.
  • Un'esecuzione dello strategy tester è vincolata da Max bars in history, non da ciò che hai impostato per i grafici live, quindi un'impostazione di cronologia ristretta può silenziosamente ridurre la finestra del tuo backtest.

Aumentare entrambe le impostazioni costa RAM e spazio su disco, quindi bilancia la generosità con le risorse della tua macchina.

Come modificare le impostazioni delle barre in MT4, usare History Center e importare file .hst esterni

Ottenere più barre sui tuoi grafici o nei tuoi backtest richiede alcuni passaggi concreti, oltre a un po' di pazienza riguardo al modo in cui MT4 effettivamente recupera i dati.

  1. Apri Tools → Options → Charts, aumenta Max bars in chart e Max bars in history ai valori di cui hai bisogno, poi clicca OK.
  2. Chiudi e riavvia completamente il terminale. Le modifiche alle impostazioni non si applicano a caldo, è necessario un riavvio prima che i nuovi limiti abbiano effetto, secondo la documentazione dei charts di MetaTrader 4.
  3. Apri History Center con F2, seleziona il tuo simbolo e timeframe, e controlla l'intervallo di date già memorizzato localmente.
  4. Se l'intervallo è ridotto, scorri il grafico stesso molto verso sinistra. Questo è spesso ciò che effettivamente innesca una richiesta al server, dato che la documentazione MQL4 nota che ulteriori dati vengono richiesti solo quando il grafico scorre in un'area senza dati o quando un programma MQL4 li richiede esplicitamente.
  5. Per le lacune che il server non può colmare, usa la funzione di importazione di History Center per caricare un file .hst o CSV formattato correttamente che copra l'intervallo mancante.

Prima di importare qualsiasi cosa, segui una breve checklist: fai un backup dei tuoi file di cronologia esistenti, conferma che il nome del simbolo nel tuo file di importazione corrisponda esattamente a quello utilizzato dal tuo broker (compresi i suffissi), controlla che gli scostamenti orari siano allineati con il fuso orario del tuo terminale, ed esegui un controllo a campione su alcune barre importate rispetto a una fonte nota prima di fidarti dell'intero set.

Pro Tip: Non dare per scontato che un numero più alto di Max bars da solo riempirà nuovamente il tuo grafico. Le discussioni di troubleshooting sul forum MQL5 mostrano costantemente che se il server del tuo broker non ha cronologia più vecchia da offrire, aumentare l'impostazione non cambia nulla: dovrai importare dati esterni o cambiare broker.

Se ti stai preparando per un backtest serio piuttosto che semplicemente sfogliare grafici, vale la pena leggere la nostra guida su come fare il backtest di un expert advisor in MetaTrader 4 prima di iniziare a importare dati, poiché la sequenza dei passaggi influisce su quanto puliti risultino i tuoi risultati.

Perché MT4 potrebbe comunque mostrare meno o più barre di quelle impostate

Molti trader aumentano entrambe le impostazioni, riavviano, e comunque non ottengono la cronologia che si aspettavano. Alcune cause ricorrono più e più volte.

  • Limiti imposti dal broker: il server del tuo broker semplicemente potrebbe non conservare dati che risalgono fino a dove vorresti, e nessuna impostazione locale può far apparire una cronologia che il server non ha mai memorizzato, un punto confermato ripetutamente nelle discussioni del forum MQL5.
  • Candele corrotte o anomale: voci errate in un file .hst possono persistere anche dopo averle eliminate e riscaricate, secondo un thread del forum che documenta il problema, il che a volte richiede l'eliminazione manuale del file di cronologia corrotto e una nuova importazione da una fonte pulita.
  • Installazioni o profili multipli del terminale: eseguire più istanze di MT4, o alternare tra profili live e demo, può creare incoerenze confuse in cui un'installazione mostra una cronologia diversa rispetto a un'altra per lo stesso simbolo.
  • Dati memorizzati nella cache obsoleti: un grafico rimasto aperto a lungo potrebbe trattenere in memoria barre che non corrispondono più a ciò che è effettivamente presente nel file .hst attuale.

Per diagnosticare quale di questi problemi stai affrontando, confronta lo stesso simbolo e timeframe su due installazioni separate, oppure avvia una nuova copia portatile di MT4 senza impostazioni personalizzate. Se l'installazione pulita mostra la stessa cronologia limitata, il server del tuo broker è il collo di bottiglia. Se mostra qualcosa di diverso, il problema risiede nei file della tua installazione esistente, e una nuova importazione pulita è la soluzione.

Come si comportano le barre custom range e real-range con i limiti di MT4

Gli indicatori o expert advisor con barre custom range e real-range costruiscono i propri grafici a partire da dati tick o time-based sottostanti, il che significa che ereditano qualsiasi limite applicato a quella timeseries di origine. Un generatore di range bar può costruire solo tante barre quante i dati grezzi e le risorse del terminale permettono, quindi non è esente dallo stesso tetto di Max bars in chart.

  • I creatori di range e real-range bar dipendono interamente dalla qualità e dalla lunghezza della timeseries standard che li alimenta, non accedono magicamente a più cronologia di quella già presente nel tuo terminale.
  • L'uso intenso di generatori di grafici custom insieme a impostazioni elevate di Max bars può sovraccaricare la memoria del terminale più rapidamente dei normali grafici time-based, dato che ogni grafico custom duplica effettivamente l'overhead di elaborazione.
  • Un flusso di lavoro più sicuro è testare prima la logica dei range bar su una copia del tuo terminale, mantenere Max bars in chart a un livello conservativo per l'uso quotidiano, e riservare le importazioni di cronologia completa a sessioni di backtesting dedicate piuttosto che al charting live.

Se la tua strategia dipende da una cronologia lunga e affidabile di range bar per la ricerca piuttosto che per il trading live, importare un dataset esterno completo tende a essere più affidabile che chiedere a un EA custom di ricostruire anni di range bar da zero all'interno di MT4.

Checklist pratica di troubleshooting per ottenere le barre di cui hai bisogno

Quando le barre non corrispondono ancora alle aspettative, procedi con questi controlli approssimativamente nell'ordine di frequenza con cui risolvono il problema.

  1. Conferma di aver effettivamente riavviato il terminale dopo aver modificato Max bars in chart e Max bars in history, questo singolo passaggio risolve una quota sorprendente di problemi segnalati.
  2. Apri History Center (F2) per il simbolo e timeframe specifico in questione, e cerca lacune evidenti o un intervallo più breve del previsto.
  3. Importa un file .hst pulito per qualsiasi intervallo mancante piuttosto che sperare che una richiesta al server lo riempia automaticamente.
  4. Disabilita temporaneamente indicatori o expert advisor che consumano molte risorse per vedere se la pressione sulla memoria, e non le impostazioni delle barre, è il vero limite.
  5. Testa lo stesso simbolo su un conto demo di un broker diverso o su una nuova installazione portatile di MT4 per isolare se il tuo broker attuale stia semplicemente trattenendo cronologia più vecchia.
  6. Per i backtest in particolare, ricontrolla Max bars in history piuttosto che Max bars in chart, poiché lo strategy tester legge dai file di cronologia memorizzati.

Pro Tip: Se stai costruendo indicatori che devono funzionare in modo efficiente anche con un'impostazione elevata di Max bars, usa prev_calculated per elaborare solo le nuove barre invece di ricalcolare l'intero buffer a ogni tick, una tecnica descritta in dettaglio in una discussione su StackOverflow sulla gestione delle risorse MQL4.

Quando la riproducibilità conta più della comodità, affidarsi alla cronologia variabile del tuo broker non è una base solida, motivo per cui molti trader utilizzano dati di mercato normalizzati con accesso API per backtest affidabili. Dataset esterni e documentati eliminano del tutto questa variabile.

Perché i dataset puliti e pronti all'importazione risolvono la maggior parte dei problemi di "barre insufficienti"

La cronologia fornita dal broker varia da server a server, da tipo di conto a tipo di conto, e a volte persino a seconda del giorno in cui capita di controllarla. Questa incoerenza è esattamente ciò che inganna i trader che presumono che Max bars in history da solo garantisca una finestra di backtest completa e affidabile.

  • Un dataset pronto all'importazione aggira il problema di cosa il tuo particolare broker conservi, poiché le barre sono già complete e verificate prima di raggiungere il tuo terminale.
  • Offriamo dati storici intraday puliti a barre di un minuto dal 2014, costruiti per l'importazione diretta in MT4 e MT5 anziché richiederti di assemblare cronologia parziale del broker.
  • L'importazione di uno dei nostri dataset segue la stessa sequenza sicura di qualsiasi importazione .hst: fai un backup dei tuoi file esistenti, allinea il nome del simbolo e lo scostamento orario alle convenzioni del tuo broker, e verifica un periodo campione prima di eseguire un backtest completo.

Se durante l'importazione sorge una domanda sul dataset, il nostro team di supporto è composto dagli stessi ingegneri che raccolgono e puliscono i dati, non da un livello distaccato da essi.

Quando dare priorità ai dataset completi rispetto alle prestazioni del terminale

Quando dare priorità ai dataset completi rispetto alle prestazioni del terminale — diagramma panoramico

La risposta giusta dipende da cosa stai effettivamente facendo. Se stai eseguendo un backtest controllato e riproducibile, un dataset esterno completo batte l'affidarsi a ciò che il server del tuo broker capita di conservare quella settimana. Se stai solo osservando l'andamento dei prezzi in tempo reale, un terminale snello con impostazioni modeste di Max bars in chart mantiene tutto reattivo ed evita inutili sovraccarichi di memoria.

La maggior parte dei quant seri finisce per adottare una configurazione ibrida: impostazioni di grafico conservative per il monitoraggio quotidiano, abbinate a un dataset completo e documentato importato separatamente ogni volta che una strategia necessita di test rigorosi. Trattare questi come due compiti diversi, anziché un'unica impostazione che deve servire entrambi, tende a risparmiare molta frustrazione.

— Start

Dove trovare dati storici pronti all'importazione per MT4

Se la cronologia limitata dal broker continua a interrompere i tuoi backtest, un dataset completo risolve il problema alla fonte invece di combattere indefinitamente con le impostazioni del terminale. Offriamo dati intraday a barre di un minuto su forex, metalli, indici azionari, obbligazioni e materie prime, costruiti specificamente per trader che eseguono strategie quantitative e hanno bisogno di input coerenti e verificati piuttosto che di ciò che un server capita di conservare.

Backtestmarket

  • La nostra pagina Dati Storici copre l'intera gamma di strumenti disponibili come file pronti all'importazione.
  • Il nostro Piano Annuale offre accesso continuativo per i trader che hanno bisogno di dataset aggiornati costantemente anziché di un download una tantum.

Esplora i dataset, verifica quali strumenti corrispondono alla tua strategia, e importa un periodo campione prima di impegnarti in un backtest completo.

FAQ

Cos'è l'ordine Buy Limit su MetaTrader 4?

Un Buy Limit è un ordine pendente che esegue un acquisto solo quando il prezzo di mercato scende a un livello specificato, al di sotto del prezzo attuale. I trader lo usano per entrare in una posizione long a un prezzo più favorevole rispetto a quello attualmente offerto dal mercato, anziché comprare immediatamente al tasso corrente.

Qual è la differenza tra range bar e Renko bar?

Le range bar formano una nuova barra quando il prezzo si muove di un numero prestabilito di punti, indipendentemente dal tempo, e ogni barra riflette il massimo e il minimo effettivamente raggiunti durante quel movimento. Anche le Renko bar ignorano il tempo ma usano mattoncini di dimensione fissa che vengono tracciati solo nella direzione del movimento, scartando completamente gli stoppini, il che le rende visivamente più semplici ma meno precise riguardo all'azione del prezzo intra-barra.

Qual è il miglior indicatore per MT4?

Non esiste un indicatore migliore in assoluto poiché la scelta giusta dipende dalla tua strategia, dal timeframe e dal fatto che tu stia tradando condizioni di trend, range o breakout. Ciò che conta più dell'indicatore stesso è assicurarsi che il tuo terminale abbia abbastanza cronologia caricata, controllata da Max bars in chart, affinché l'indicatore calcoli correttamente fin dalla prima barra.

I trader usano ancora MT4?

Sì, MT4 rimane ampiamente utilizzato, in particolare tra i trader forex che apprezzano il suo consolidato ecosistema di expert advisor e il supporto dei broker, anche se MT5 ha ampliato la propria adozione. Molti broker continuano a offrire MT4 accanto alle piattaforme più recenti, e le sue impostazioni di cronologia e charting funzionano nello stesso modo descritto in questa guida.

Come posso ottenere più barre storiche se il server del mio broker non le ha?

Se scorrere il grafico e modificare Max bars in history non recupera dati più vecchi, il server del tuo broker probabilmente non li ha mai memorizzati. Importare un dataset esterno verificato tramite History Center è la via affidabile, e il nostro prodotto Dati Storici è costruito esattamente per questo caso d'uso.

Fonti

Consigliati

Risorse correlate

Esplora i pacchetti di dati storici di BacktestMarket per mettere in pratica le idee di questo articolo.

Newsletter

Rimani aggiornato

Nuovi dataset, Expert Advisor, sconti e approfondimenti di trading — direttamente nella tua casella di posta.

Carrello

Il carrello è vuoto

Aggiungi prodotti per iniziare.