Libreria di classi generiche - bug, descrizione, domande, caratteristiche d'uso e suggerimenti - pagina 28
![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
Che cazzo sta succedendo di nuovo qui? Stanno cancellando post LinkedList perfettamente validi. Posso solo immaginare un moderatore anonimo seduto da qualche parte in Europa che cancella i post degli odiati russi, ridacchiando maliziosamente. È una tale discarica che ti fa passare la voglia di scrivere.
Smettete di combattere i mulini a vento - non ci sono post cancellati da questo thread.
Smettete di combattere i mulini a vento - non ci sono post cancellati da questo thread.
Artem, non sono ubriaco o sotto l'influenza. Ho scritto una breve risposta mezz'ora fa che in MQL LinkedList è implementato come un ring buffer e il comportamento descritto è semplicemente normale. E ho implementato un ring buffer nei miei filtri usando un array. Poi sono andato ai sorgenti .NET per vedere l'implementazione, e dopo mezz'ora il mio messaggio è stato cancellato. Era la prima volta che lo facevo.
Sui moderatori russi non credo proprio.
Ecco la classe filtro con FIR, guarda la funzione FilterTick(double tick). Ci sono due buffer ad anello - ticchettii in ingresso e valori filtrati in uscita. La differenza con la linked list è che è meno possibile, ma è un ordine di grandezza più veloce, il che è importante per me.
Artem, non sono ubriaco e non sono drogato. Ho scritto una breve risposta mezz'ora fa che MQL LinkedList è implementato come un ring buffer e il comportamento descritto è semplicemente normale. E ho implementato un ring buffer nei miei filtri usando un array. Poi sono andato ai sorgenti .NET per guardare l'implementazione, e dopo mezz'ora il mio messaggio è stato cancellato. Era la prima volta che lo facevo.
Sui moderatori russi non credo proprio.
Ecco la classe filtro con FIR, guarda la funzione FilterTick(double tick). Ci sono due buffer ad anello - ticchettii in ingresso e valori filtrati in uscita. La differenza con la linked list è meno possibilità, ma è molto più veloce, il che è importante per me.
Non lo so - ho guardato tra i post cancellati - niente da questo thread. Shaitan ...
Anche a me sembra logico che una "lista collegata" sia una lista collegata. Una lista semplice non ha looping e funziona come ha detto Alexey Navoikov: "Il Next dell'ultimo nodo è zero, proprio come ilPrevious del primo nodo", mentre una lista collegata sì, e funziona come un ring buffer. Il che per me è conveniente.
Non lo so - ho guardato tra i post cancellati - niente da questo thread. Shaitan...
Mi sembra anche logico che una "lista collegata" sia una lista collegata. Una lista semplice non ha looping e funziona come ha detto Alexey Navoikov: "Il prossimo dell'ultimo nodo è uguale a zero e così il precedente del primo nodo" mentre una lista collegata ha e funziona come un ring buffer. Il che per me è conveniente.
Ah, è una possibilità, non lo sapevo. Beh, posso supporre che mi sono distratto e, senza inviare un messaggio, sono andato direttamente da quella pagina da qualche parte. Ma queste lamentele avvengono regolarmente, e non sono l'unico. Ok, non parliamone più.
Ah, è una possibilità, non lo sapevo. Beh, posso supporre che mi sono distratto e sono andato direttamente da quella pagina senza inviare un messaggio. Ma queste lamentele avvengono regolarmente, e non sono l'unico. Va bene, non parliamone più.
Qui, qui, bisogna essere più attenti, tutti i pulsanti ben premuti.
Mi sembra anche logico che una "lista collegata" sia una lista collegata. Una lista semplice non ha looping e funziona come ha detto Alexey Navoikov: "Il prossimo dell'ultimo nodo è zero, così come il precedente del primo", mentre una lista collegata ha e funziona come un ring buffer. Il che per me è conveniente.
Una lista collegata è una lista che memorizza puntatori agli elementi successivi e precedenti. "La suoneria non c'entra niente. Comunque, questo è qualcosa di nuovo. Dove è stato visto?
Alexey Volchanskiy:
Ecco la classe filtro con FIR, guarda la funzione FilterTick(double tick). Ci sono solo due buffer ad anello - ticchettii in ingresso e valori filtrati in uscita. La differenza con la linked list è meno possibilità, ma è molto più veloce, il che è importante per me.
Non ha niente a che vedere con una classe filtro... Stiamo parlando specificamente di una lista collegata. È un contenitore standard che ha certe proprietà. L'iterazione attraverso la lista è unidirezionale. Non ci possono essere squilli. Non ce ne sono in C# (l'identica classe LinkedList) o in C++ (la classe std::list).
Inoltre, questa libreria è portata da .Net, il che implica la compatibilità con C#, altrimenti perché diavolo abbiamo bisogno di un'altra bicicletta fatta in casa? Non ne abbiamo abbastanza di biciclette MQ scadenti? Tutto ciò di cui avevamo bisogno era portare una libreria già pronta (anche se con restrizioni specifiche per il linguaggio, ma almeno per preservare la logica del lavoro). Ma no... Le mani birichine hanno interferito anche qui)
Molto probabilmente, chi ha fatto il porting di quelle classi ha deciso di semplificarsi la vita, avendo semplificato il codice. Invece di due puntatori m_primo e m_ultimo ha fatto un solo puntatore m_head...
Certo, ho sistemato tutto come dovrebbe essere, ma comunque...
Una lista collegata è una lista che memorizza puntatori agli elementi successivi e precedenti. "La suoneria non c'entra niente. Comunque, questo è qualcosa di nuovo. Dove è stato visto?
Non ha niente a che vedere con una classe filtro... Stiamo parlando specificamente di una lista collegata. È un contenitore standard che ha certe proprietà. L'iterazione attraverso la lista è unidirezionale. Non ci possono essere squilli. Non ce ne sono in C# (l'identica classe LinkedList) o in C++ (la classe std::list).
Inoltre, questa libreria è portata da .Net, il che implica la compatibilità con C#, altrimenti perché diavolo abbiamo bisogno di un'altra bicicletta fatta in casa? Non ne abbiamo abbastanza di biciclette MQ scadenti? Tutto ciò di cui avevamo bisogno era portare una libreria già pronta (anche se con restrizioni specifiche per il linguaggio, ma almeno per conservare la logica del lavoro). Ma no... Le mani birichine hanno interferito anche qui)
Molto probabilmente, chi ha fatto il porting di quelle classi ha deciso di semplificarsi la vita, avendo semplificato il codice. Invece di due puntatori m_primo e m_ultimo ha fatto un solo puntatore m_head...
Naturalmente, ho sistemato tutto come dovevo, ma tuttavia...
MSDN lo chiama ring buffer, io non ho inventato il nome.
La cosa principale è non fissarlo nella cartella Include, altrimenti sarà cancellato quando si aggiorna alla nuova build di MT5.
Lì, lì, devi stare più attento e premere tutti i tasti giusti con attenzione.
La probabilità che questo accada è vicina allo zero. Ma è un fatto che il mio ramo nel thread di lingua inglese è stato ucciso anonimamente. ***
La probabilità che ciò accada è molto bassa. Ma il fatto che il mio ramo nel thread di lingua inglese sia stato ucciso anonimamente è un fatto. ***
Basta parlare di quel ramo. Tiralo fuori di nuovo e ti do una scopa di betulla. Non ne posso più.
Soprattutto, non modificare la cartella Include, o verrà sovrascritta quando si aggiorna a una nuova build di MT5.
L'ho in una cartella separata Generic_. In effetti, ho dovuto fare un sacco di modifiche lì, a partire da const per i metodi (gli sviluppatori non lo consideravano necessario), e finendo con la riprogettazione per gli argomenti per riferimento, non solo per valore.