Cambiare il TF è un problema - pagina 4

 

L'ultimo disegno mi si addice completamente.

Grazie a tutti.

 
Vasyl Nosal:
No. Senza azzeramento sarà quello che è negli screenshot.

Quindi hai dei vuoti all'interno del ciclo stesso, la sequenza è interrotta. In quel codice, il cui frammento ti ho dato, TUTTE le barre sono ricalcolate quando prev_calculated è azzerato. E significa che azzerarli in anticipo non ha senso - una perdita di tempo del processore.

PS. A proposito, avete dimenticato una sfumatura importante. Per caso, stai parlando di MT5 dove gli array di prezzi non sono invertiti nelle serie temporali? In questo caso sarebbe così:

int OnCalculate(...)
{
   // индекс последнего посчитанного на прошлом вызове бара
   // с которого начинаем расчёт
   int nStartBar = MathMax(prev_calculated - 1, 0);

   for(int i = nStartBar; i < rates_total; i++)
   {
       // рассчитываем индикатор на всех непосчитанных барах
   }
}
 
Sergei Vladimirov:

Quindi avete dei vuoti all'interno del ciclo stesso, la sequenza è interrotta. In quel codice, il cui frammento ti ho dato, TUTTE le barre sono ricalcolate quando prev_calculated è azzerato. E significa che azzerarli in anticipo non ha senso - una perdita di tempo del processore.

PS. A proposito, avete dimenticato una sfumatura importante. Per caso, stai parlando di MT5 dove gli array di prezzi non sono invertiti nelle serie temporali? In questo caso sarebbe così:

mql4

No. Qui è con il tuo disegno su una coppia dove non c'era storia.

File:
 

Bene. Il problema si è rivelato non così semplice.

Gli sviluppatori chiedono una nuova variabile toro per memorizzare se il grafico è aggiornato e la reimpostazione automatica dei buffer se viene caricata più di 1 barra.

 
Vasyl Nosal:

Bene. Il problema si è rivelato non così semplice.

Gli sviluppatori chiedono una nuova variabile toro per memorizzare se il grafico è aggiornato e la reimpostazione automatica dei buffer se viene caricata più di 1 barra.

Avete due variabili: prev_calculated e rates_total. Controllando il caricamento della storia (in questo caso prev_calculated==0) si deve pensare a cosa fare con i buffer degli indicatori - il comportamento abituale in questi casi, è di equiparare il caricamento della storia al primo evento di caricamento dell'indicatore.
 
Karputov Vladimir:
Avete due variabili a vostra disposizione: prev_calculated e rates_total. Controllando il caricamento della storia (con prev_calculated==0) devi pensare a cosa fare con i buffer degli indicatori - il comportamento abituale in questi casi è di equiparare il caricamento della storia al primo evento di caricamento dell'indicatore.
Cosa c'entra questo con l'ordine? Ci sono 4 opzioni qui e nessuna di esse funziona.
 
Vasyl Nosal:

Bene. Il problema si è rivelato non così semplice.

Gli sviluppatori chiedono una nuova variabile toro per memorizzare se il grafico si è aggiornato e il reset automatico dei buffer se è stata caricata più di 1 barra.

Fate con calma, per favore.

E mentre aspettate una risposta dagli sviluppatori, ascoltate quello che il moderatore ha detto sopra. Raccomando e rileggo ponderatamente questo tuo argomento dall'inizio.

Fate attenzione a questo post del moderatore, per esempio: https://www.mql5.com/ru/forum/68180#comment_2089395, dove ha citato:

if(prev_calculated==0)  // значит история изменилась или это первый проход

Dopo tutto, io, come altri, vi ho accennato a questo, così come ad altre cose, nei miei due post: https://www.mql5.com/ru/forum/68180/page3#comment_2095342

Guarda la Documentazione, che è citata lì (non solo nella parte della frase evidenziata, ma in tutto il testo).

Prenditi il tuo tempo, per favore, e poi tutto si risolverà per te in termini di risoluzione di questo tuo problema. Buona fortuna!

 
Dina Paches:

Si prenda il suo tempo, per favore.

E mentre aspettate una risposta dagli sviluppatori, ascoltate quello che il moderatore ha detto sopra. Ti consiglio di rileggere questo thread di nuovo.

Fate attenzione a questo post del moderatore, per esempio: https://www.mql5.com/ru/forum/68180#comment_2089395 dove ha citato:

Dopo tutto, io, come altri, vi ho accennato a questo, così come ad altre cose, nei miei due post: https://www.mql5.com/ru/forum/68180/page3#comment_2095342

Date un'occhiata alla Documentazione che avete dato lì.

Prenditi il tuo tempo, per favore, e poi tutto si risolverà per te in termini di risoluzione di questo tuo problema. Buona fortuna!

Avete una soluzione per il codice?

O hai paura che io cambi il TF e che anche il tuo progetto non funzioni? Va bene, qui stiamo risolvendo un problema GENERALE.

 
Vasyl Nosal:

Avete una soluzione per il codice?

O hai paura che io cambi il TF e che il tuo progetto non funzioni più? Va bene, qui stiamo risolvendo un problema comune.

Ma raccomando ancora di usare il consiglio che ho dato in questo post: https://www.mql5.com/ru/forum/68180/page4#comment_2097011.

E ho delle soluzioni per me.

Per i vostri consigli, sentitevi liberi di continuare senza di me. Un accenno di direzione generale (vedi prev_calculated e rates_total) ti è stato dato molte volte da varie persone qui.

Dalla tua supposizione su di me, deduco che non hai notato anche quanto segue, che ti ho detto:

L'implementazione può essere diversa a seconda del compito. Le sfumature possono essere diverse. Perché non vedi come le cose vengono attuate in altri paesi, a seconda delle varie condizioni? Compreso con l'aiuto della rigatura per ordinare, decidere, formare opzioni accettabili per te stesso a seconda dei compiti?

Come probabilmente non hai notato il post di Victora Nikolaev: https://www.mql5.com/ru/forum/68180/page2#comment_2091839

Hai una testa, vero? Lo faccio.

Vuoi risolvere il tuo problema? Sembra così.

Quindi, se volete e ne avete bisogno, potete tirare fuori le vostre soluzioni per diversi programmi e produrle voi stessi.

Io o qualcun altro in questo thread dobbiamo fornirvi qualcosa di più dettagliato? No.


 
Dina Paches:

...


Avete un codice di soluzione?