![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Generatore riparato. Sostituisci il tuo exe con questo.
Il generatore imposta a volte l'indicatore Period + Shift > Bar Count;
Sono già confuso. :)
Nuova versione.
Ma avendo ridotto il conteggio delle barre a 300, il generatore funziona e può essere fermato con il pulsante Stop
'
Vecchia versione (scaricata rapidamente dal sito)
Ma, se la quantità di barre < 1000, allora il generatore si blocca.
'
IMHO è meglio abituarsi al requisito del limite di 1000 bar per il tester, ma la comodità di selezionare l'intervallo.
'
Sono già confuso. :)
'
Vecchia versione (scaricata rapidamente dal sito web)
Ma, se il numero di barre < 1000, il generatore si blocca.
'
I pensieri felici sulla "vecchia versione" si sono rivelati sbagliati.
Cioè l'immagine è la stessa della nuova versione. (Cioè il numero di barre ha una priorità maggiore della data DO!!!!)
'
'
Ops
È corretto che il ciclo vada a iTempBars - MINIMUMBARS, cioè al numero massimo di barre iTempBars = iMaxBars; dall'inizio della storia ?
Nei miei file di storia molto più di 50 000 linee e in questo intervallo da iTempStartBar = iBars - iMaxBars a iMaxBars- MINIMUMBARS non può semplicemente essere ordinato data?!
Logicamente la data di fine e la data di inizio dovrebbero essere cercate alla fine di tutta la storia, cioè a iBars ???
Ma la barra finale si trova correttamente.
Riguardo ai tuoi screenshot:
1. "Rimuovi i dati più vecchi del 1° settembre 2008" è ignorato poiché ci sono meno di 300 barre fino al 1° gennaio 2009
2. "Rimuovi i dati più recenti del 1 gennaio 2009" - sembra che non ci siano dati per il 1 gennaio FSB taglia tutte le barre dal 01.01.08 incluso . Ecco perché FSB limita le barre fino al 31.12.08.
(Cioè il numero di barre ha una priorità maggiore della data BEFORE!!!!)
Esattamente.
1. "Rimuovi i dati più vecchi del 1° settembre 2008" è ignorato poiché ci sono meno di 300 barre fino al 1° gennaio 2009.
2. "Rimuovi i dati più recenti del 1 gennaio 2009" - sembra che non ci siano dati per il 1 gennaio. Ecco perché FSB limita le barre fino al 31.12.08.
Non più.
Ora sto mostrando l'orologio.
Nel file 63291(iBars) le linee dal 1999-01-04 al 2009-03-18
Data 2008-09-01 è la linea 59 973
La data 2009-01-02 è la linea 62 021.
Cioè quando il programma cerca la data d'inizio, il ciclo "corre" dalla barra 63 291 - 50 000 = 13 291(iTempStartBar = iBars -iMaxBars; ) alla barra 50 000 - 300 = 49 700(iTempBars - MINIMUMBARS) e non trovando la mia data "prima" (barra 59 973), lascia(iTempStartBar = iBars - iMaxBars;) barra iniziale = 63 290 - 50 000 = 13 290.
Nel mio file è 2001-02-21 12:00 (+/- 300, che corrisponde alla figura)
File allegato.
iBars<= 50.000
FSB importa le ultime 50.000 barre dal file di dati.
Quindi:
Data 2008-09-01 è la linea 59 973
La data 2009-01-02 è la linea 62 021
sono al di fuori dei dati caricati. Data Horizon non li prende in considerazione.
Operazioni. Mi sbaglio.
iBars <= 50.000
FSB importa le ultime 50.000 barre dal file di dati.
Quindi:
Data 2008-09-01 è la linea 59 973
2009-01-02 è la linea 62 021
sono al di fuori dei dati caricati. Data Horizont non li prende in considerazione.
più recente !!!!, cioè da 13.291 a 63 291!!!!! e ora cerca da 0 a 50.000 (arrotondato ;) )
Nessun accordo. :( Peccato :(
Anche se mi sembra che sarebbe più correttosostituire iTempStartBar ;iBar < iTempBars - MINIMUMBARS; iBar++) con iTempEndBar alposto di iTempBars - MINIMUMBARS. E l'intero blocco "// Imposta il numero massimo di barre" è ridondante se AND bUseStartDate=True AND bUseEndDate=True
'
Ma di nuovo, non insisto. :( (Taglierò il file, anche se per le minuzie potrebbe voler ottimizzare la strategia sulle 50 000 barre precedenti e controllarla sulle prossime 10 000 barre.
:(
SZY. C'è ancora un errore nel codice e non corrisponde allo schema!!!!! (il mio intervallo è a destra e non a sinistra) :(
Pensiamoci.
Dammi il codice che vuoi. Lo metterò nel programma e lo testeremo.
Pensiamoci.
Dammi il codice che vuoi. Lo metterò nel programma e lo testeremo.
Un frammento del tuo codice dalle pagine precedenti.
aggiungere
Ma per il reset della data di inizio iTempStartBar deve essere!!!!se dtStartingDate è precedente a iMaxBars dovreste ignorare dtStartingDate e limitare per iMaxBars
E penso che ci dovrebbero essere iMaxBars da dtStartingDate "a destra", in modo da poter spostare la dimensione della finestra di iMaxBars in tutto il file!
Ma se a destra le barre dtStartingDate sono più piccole di iMaxBars. allora dovrebbe essere dtStartingDate ad avere la priorità, poiché le date sono più intuitive delle barre. IMHO.
E in generale, un utente mette un 'tick' deliberatamente, e le barre - di default, più è incorporato nel sistema (iMaxBars)
'
ZS. La cosa divertente è che probabilmente non userò il programma :)