
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
potete o classificare CNewbar, o cercare nel forum NewBar
Hai una chiamata iTime nella tua classe. Mi è stato consigliato di lasciar perdere). Inoltre, dov'è la garanzia che non stia facendo lo stesso lavoro di CopyRates? Lo chiami su ogni tick. Comunque, chiamo CopyRates su ogni tick e il problema è chiuso.
Sì, ad ogni spunta controlliamo l'ora:
E in poche parole:
solo scrivere in ginocchio - per mostrare l'idea, non l'accuratezza della scrittura
Chiamerò in ogni tick. Ops.
potete o classificare CNewbar, o cercare nel forum NewBar
ZS: tutto l'articolo!https://www.mql5.com/ru/articles/159
OK, il solito...oops, oops, oops...e non una sola linea di codice ))))
Ho citato il mio esempio per mostrare che non è sempre conveniente (e raramente necessario) ottenere un array di OHLC consecutivi. Nei problemi pratici, abbiamo spesso bisogno di ottenere una selezione di valori OHLC da barre diverse (gli indicatori non sono presi in considerazione)
Ok, non essere malato!
Oh, ma dai! Le persone grasse sono più spesso calde. Ecco perché si possono usare anche questi paragoni. Chi se ne frega se hai bisogno di OHLC... Igor ha detto che dovresti usare i frattali, quindi usali...
Avete una chiamata iTime nella vostra classe. Mi è stato consigliato di lasciar perdere). Inoltre, dov'è la garanzia che non faccia a sua volta lo stesso lavoro di CopyRates? Lo chiami su ogni tick. In breve, chiamerò CopyRates su ogni tick e il problema è chiuso.
Questo è più lungo che chiamare CopyTime() o iTime() una volta per tick.
CopyRates() viene chiamata solo quando è necessario ottenere tutti i valori della barra in una volta sola - al momento della definizione della nuova barra.
Non ha senso calcolare una nuova barra se il calcolo stesso coinvolge CopyRates o la sua controparte. Le stesse spese saranno.
Chiamerò in ogni tick. Spa.
Risposta: ti sbagli.
Questo è più lungo che chiamare CopyTime() o iTime() una volta per tick.
Chiama CopyRates() solo quando hai bisogno di ottenere tutti i valori delle barre in una volta sola - al momento di definire una nuova barra.
Ok. Quindi l'impostazione di dimenticare le funzioni iXXX deve essere dimenticata).
Ok. Quindi, dobbiamo dimenticare le funzioni iXXX)).
Naturalmente. Non tutto è utile quello che dicono. E posso dire tali sciocchezze :)))
Ma qui - per ragioni di velocità: CopyRates() è utile quando avete bisogno di ottenere diversi valori di una barra simultaneamente (il vostro caso). È più lento di CopyTime() o iTime(), ma se chiamate CopyOpen(), CopyHigh(), CopyLow() e CopyClose() + (CopyTime() se necessario), allora sarà più lento della singolachiamata CopyRates(), che restituirà tutti i valori richiesti in una volta.
Conclusione: su ogni tick lavoriamo con CopyTime() o iTime() per determinare una nuova barra, e al momento della comparsa della nuova barra chiamiamo una volta CopyRates().
E non bisogna prendere in considerazione le affermazioni religiose, che non sono confermate da nulla se non dalla credenza. Potete controllare voi stessi cosa sarebbe più veloce per il vostro caso di definizione di una nuova barra - CopyTime() o iTime() - recentemente implementato nella funzione MQL5, che facilita la scrittura di codice multipiattaforma (c'è una bugia - poiché MQL4 contiene anche funzioni CopyXXX, ma il porting del codice MQL4 in MQL5 è più facile - non avete bisogno di funzioni iXXX da rifare)
Altrimenti, come fareste a sapere che l'orario di apertura della barra corrente è cambiato?
Avete una chiamata iTime nella vostra classe. Mi è stato consigliato di lasciar perdere). Inoltre, dov'è la garanzia che non faccia a sua volta lo stesso lavoro di CopyRates? Lo chiami su ogni tick. Comunque, chiamo CopyRates su ogni tick e il problema è chiuso.
Scrivi sempre e solo e non cerchi di leggere? Ti ho dato un link a un intero articolo sul New Bar! Gli articoli sono controllati - controllati da persone di una competenza diversa da quelle che scrivono costantemente sul forum ;)
ZS: Se smetti di scrivere e inizi a leggere, come l'articolo sul mio link, puoi trovare un altro modo (SERIES_LASTBAR_DATE ) per non usare gli iXXX() - ti ho detto di non usarli ))) - Chi avrebbe segnalato bug ed errori, che gli sviluppatori hanno rilasciato ))))) scadente
Scrivi sempre e solo e non cerchi di leggere? Ti ho dato un link a un intero articolo sul New Bar! Gli articoli sono controllati - controllati da persone di una competenza diversa da quelle che scrivono costantemente sul forum ;)
ZS: se smetti di scrivere e inizi a leggere, come l'articolo sul mio link, puoi trovare un altro modo ( SERIES_LASTBAR_DATE ) per non usare gli iXXX() - ti ho detto di non usarli ))) - che direbbe i bug e gli errori che gli sviluppatori hanno rilasciato ))))) scadente
Ci sono stati alcuni problemi con SERIES_LASTBAR_DATE. È stato discusso qui da qualche parte molto tempo fa. Forse è stato aggiustato.