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
Sì, leggo le descrizioni delle funzioni fino in fondo e, in caso di dubbio, rovisto anche nei forum. La nozione di velocità di ognuno è diversa. La dinamica è più lenta per definizione, perché c'è una costante ridistribuzione della memoria. Il secondo svantaggio è la frammentazione - a volte si fa un errore con la dinamica e poi la memoria non è sufficiente per chiudere il terminale :)))
Il ping non c'entra niente, dopo il primo download, i tick sono dati già dalla base, in teoria, ovviamente :) mi è stato insegnato che il programma dovrebbe essere accelerato dall'ottimizzazione, ma non dalla base hardware - questo è automatico. E che differenza fa, qual è la connessione - oggi è una, domani un'altra - non dipende dall'algoritmo.
Ho il mio broker, per questo lavoro con loro da più di un anno. Il mio compito è ora quello di padroneggiare la matematica sui tick, non il trading o il freelance.
Di nuovo, per gli ipovedenti:
Dal riferimento
Функция CopyTicksRange() предназначена для запроса тиков из строго указанного диапазона, например, за конкретный день истории.
Da
La funzione CopyTicksRange() ha lo scopo di richiedere i tick di un intervallo strettamente specificato, per esempio, per un particolare giorno della storia.
La funzione CopyTicksRange() non ottiene i tick dall'intervallo strettamente specificato "2021.01.29 23:57:00:000, 2021.01.31 23:59:00:000". Restituisce i tick di una gamma completamente diversa.
Si prega di fornire le misure per questa affermazione. Assegno un ruolo importante ai problemi di prestazioni nei consiglieri di combattimento.
Ecco un codice di esempio. Ho scritto di fretta, potrebbero esserci degli errori. Misure per le seguenti opzioni:
1) il più brutto, quando l'array si espande secondo necessità
2) leggermente ottimizzato - quando ampliato alla porzione prevista
3) un po' più ottimizzato - si espande con un margine di diverse porzioni
4) memoria statica, che ovviamente sarà sempre zero
È chiaro che se allochi dinamicamente un'enorme quantità di memoria per tutto nel mondo, la velocità sarà come quella statica, ma questo accade raramente
Negli array a espansione dinamica, la cosa peggiore è la frammentazione della memoria, che la divorerà tutta nel processo. Bene, il tempo sempre crescente per la prossima espansione - perché. nella memoria altamente frammentata, ci vuole più tempo per cercare un pezzo adatto
risulta in microsecondi. Il forte aumento del tempo richiesto nella prima colonna verso la fine è molto probabilmente dovuto al fatto che il terminale probabilmente alloca memoria per gli array in piccoli blocchi, ottimizzando un po' per noi. Ma quando l'array diventa più grande del blocco, inizia stupidamente a cercare il primo pezzo vuoto adatto. Ho girato molto più lontano, lì diventa molto lungo ... diversi secondi. E c'erano solo circa 1.000.000 di cellule
Ecco un codice di esempio. Ho scritto di fretta, potrebbero esserci degli errori. Misure per le seguenti opzioni:
1) il più brutto, quando l'array si espande secondo necessità
2) leggermente ottimizzato - quando ampliato alla porzione prevista
3) un po' più ottimizzato - si espande con un margine di diverse porzioni
4) memoria statica, che ovviamente sarà sempre zero
È chiaro che se allochi dinamicamente un'enorme quantità di memoria per tutto nel mondo, la velocità sarà come quella statica, ma questo accade raramente
Negli array a espansione dinamica, la cosa peggiore è la frammentazione della memoria, che la divorerà tutta nel processo. Bene, il tempo sempre crescente per la prossima espansione - perché. nella memoria altamente frammentata, ci vuole più tempo per cercare un pezzo adatto
risulta in microsecondi. Il forte aumento del tempo richiesto nella prima colonna verso la fine è molto probabilmente dovuto al fatto che il terminale probabilmente alloca memoria per gli array in piccoli blocchi, ottimizzando un po' per noi. Ma quando l'array diventa più grande del blocco, inizia stupidamente a cercare il primo pezzo vuoto adatto. Ho girato molto più lontano, lì diventa molto lungo ... diversi secondi. E c'erano solo circa 1.000.000 di cellule
Ed è così che lo ottengo
La verità è stata leggermente corretta
E se inizializzi gli array
dunque
è stato testato per due anni!
Che testardo! Leggi quello che hanno scritto sopra - CopyTicks glitcha lo stesso. Se vi piace cercare modi per far funzionare una funzione buggata o trovare workaround buggati, allora non preoccupatevi - non si tratta di questo
In due anni avresti potuto capire che se una funzione non funziona come vuoi tu e gli sviluppatori lo sanno e non la sistemano, non si chiama bug...
Pollici in su, programmatori freschi e istruiti.........
INT_MAX = 2147483647
infatti, avete immediatamente strappato un pezzo di memoria INT_MAX* sizeof(double) e poi lavorate come con static
potresti aver scritto
double d[INT_MAX]; - che sarebbe lo stesso per voi come
l'unica differenza sarà nel funzionamento della funzione ArraySize() mentre l'intera quantità di memoria sarà cagata in una volta sola
Risolto, sarà in beta oggi.
Grazie mille. Sto per pompare di gioia :) il workaround era molto dispendioso in termini di risorse
Risolto, sarà in beta oggi.