Beh, se sì e il valore è impostato su 0, allora ovviamente c'è qualcosa che non va... Potete vedere dall'immagine che ogni barra ha una freccia con un valore di 0.
Alexey Viktorov: Se lo è e il valore è 0, allora c'è certamente qualcosa di sbagliato... Potete vedere dall'immagine che ogni barra ha una freccia con un valore di 0.
Alexey Kozitsyn: Il trucco è che empty = EMPTY_VALUE.
Empty è vuoto, ma a PLOT_EMPTY_VALUE è assegnato un valore che non sarà mostrato nel grafico e nella finestra dei dati. Prova a cambiare EMPTY_VALUE a 0
Alexey Viktorov: Empty è vuoto, ma a PLOT_EMPTY_VALUE è assegnato un valore che non sarà mostrato nel grafico e nella finestra dei dati. Prova a cambiare EMPTY_VALUE a 0
No, c'è ancora un incidente. Ora ho sostituito EMPTY_VALUE con la costante EMPTY = EMPTY_VALUE. Ora va meglio. Ma c'è ancora della spazzatura sul grafico quando si cambia il TF. Ho impostato EMPTY = 0. È anche meglio, ma di nuovo, quando il TF viene cambiato frequentemente, il grafico contiene spazzatura. In generale, devo scrivere un'applicazione sul CD.
Alexey Kozitsyn: No, c'è ancora un bug. Ora ho sostituito EMPTY_VALUE con la costante EMPTY = EMPTY_VALUE in tutto il codice. Ora va meglio. Ma c'è ancora della spazzatura sul grafico quando si cambia il TF. Ho impostato EMPTY = 0. È anche meglio, ma di nuovo, quando il TF viene cambiato frequentemente, il grafico contiene spazzatura. In generale, devo scrivere un'applicazione sul CD.
Di cosa si trattava? Stavo parlando di tutt'altro. Beh, in un pizzico, invece di resettare il buffer.
Di cosa si trattava? Stavo parlando di tutt'altro. Beh, in un pizzico, invece di resettare il buffer.
si potrebbe mettere
Si tratta di cambiare tutte le inizializzazioni nel codice in una volta sola. Il codice che hai scritto è inizializzato ovunque tu ne abbia bisogno. ArrayInitialize() viene eseguito in OnDeinit(), ma ho già descritto il risultato sopra.
C'è un'inizializzazione in OnCalculate() alla prima esecuzione (prev_calculated == 0). Pensi che spostarlo in OnInit() cambierà qualcosa? Beh, ci proverò, certo, ma questa è una cosa fuori dal regno della fantasia...
Tagliare. Come ho detto, in OnDeinit() si inizializzano gli array, che non sono più utilizzati al prossimo avvio (cambiando i parametri di input). Se questo (inizializzare un array che non è usato come buffer) aiuta - sarebbe anche un bug di MT. Si scoprirà che non solo gli array non sono utilizzati, ma che essi (non contrassegnati) possono ancora essere inizializzati e ciò influenzerà la visualizzazione...
Sì, certo.
Se lo è e il valore è 0, allora c'è certamente qualcosa di sbagliato... Potete vedere dall'immagine che ogni barra ha una freccia con un valore di 0.
Il trucco è che empty = EMPTY_VALUE.
Forum sul trading, sistemi di trading automatico e test di strategia
EA non va sul mercato. Errore 130.
fxsaber, 2017.09.04 17:19
Risultato
0.9987200000000001Empty è vuoto, ma a PLOT_EMPTY_VALUE è assegnato un valore che non sarà mostrato nel grafico e nella finestra dei dati. Prova a cambiare EMPTY_VALUE a 0
No, c'è ancora un bug. Ora ho sostituito EMPTY_VALUE con la costante EMPTY = EMPTY_VALUE in tutto il codice. Ora va meglio. Ma c'è ancora della spazzatura sul grafico quando si cambia il TF. Ho impostato EMPTY = 0. È anche meglio, ma di nuovo, quando il TF viene cambiato frequentemente, il grafico contiene spazzatura. In generale, devo scrivere un'applicazione sul CD.
Di cosa si trattava? Stavo parlando di tutt'altro. Beh, in un pizzico, invece di resettare il buffer.
si potrebbe impostare su...
Di cosa si trattava? Stavo parlando di tutt'altro. Beh, in un pizzico, invece di resettare il buffer.
si potrebbe mettere
Alexey Kozitsyn:
...
ArrayInitialize() viene eseguito in OnDeinit(), ma ho già descritto il risultato sopra.
Prova in OnInit().
C'è un'inizializzazione in OnCalculate() alla prima esecuzione (prev_calculated == 0). Pensi che spostarlo in OnInit() cambierà qualcosa? Beh, ci proverò, certo, ma questa è una cosa fuori dal regno della fantasia...
Tagliare. Come ho detto, in OnDeinit() si inizializzano gli array, che non sono più utilizzati al prossimo avvio (cambiando i parametri di input). Se questo (inizializzare un array che non è usato come buffer) aiuta - sarebbe anche un bug di MT. Si scoprirà che non solo gli array non sono utilizzati, ma che essi (non contrassegnati) possono ancora essere inizializzati e ciò influenzerà la visualizzazione...
(stringa)NormalizeDouble(0.99872, 5) è un risultato molto lungo.
Buon pomeriggio!
Grazie per il suo messaggio, controlleremo