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
Forse per "normale implementazione" si intende l'implementazione su modelli.
Che cosa significa? Cosa intendi per pattern? Un modo particolare e contorto di premere i tasti con le dita durante la programmazione?
I modelli, retaggio del vecchio metodo di sostituzione delle macro in fase di compilazione, hanno perso la loro importanza per la programmazione orientata agli oggetti molto tempo fa.
Nei linguaggi moderni tali compiti sono risolti dagli strumenti di runtime, ad esempio i generici in C#, il riconoscimento dinamico dei tipi RTTI e l'uso dei tipi varianti.
Ovviamente ci sono ancora dei vecchietti che amano i template, ma IMHO come programmatore è un segno che è ora di andare in pensione.
I modelli, retaggio dell'antiquato metodo di sostituzione delle macro in fase di compilazione, hanno perso da tempo la loro importanza nella programmazione orientata agli oggetti.
Nei linguaggi moderni tali compiti sono risolti da strumenti di runtime, come ad esempio i generici in C#, il riconoscimento dinamico dei tipi RTTI e l'applicazione di tipi varianti.
Naturalmente, ci sono ancora dei vecchietti che amano i template, ma IMHO come programmatore è un segno che è ora di andare in pensione.
È divertente leggere che i template sono da tempo lontani dalle sostituzioni di macro ed esistono con successo come paradigma separato.
I generici in C# sono solo modelli molto ridotti e in realtà non sono a tempo di esecuzione ma di compilazione, per cui la loro velocità è maggiore).
Ma proprio RTTI e i tipi di varianti suggeriscono alcuni cattivi pensieri....
____________________
Ok, tutto questo è bello, ovviamente. Ma in MQL5 ci sono solo funzioni template, non ci sono classi (ci saranno?). Quindi, le liste su modelli non sono realizzabili con gli strumenti attuali.
Divertente da leggere ) i template si sono da tempo allontanati dalle sostituzioni di macro ed esistono con successo come paradigma separato.
I generici in C# sono solo modelli molto ridotti, e in generale non è il runtime ma il tempo di compilazione, a causa del quale la velocità del loro utilizzo è maggiore ).
Ma proprio RTTI e i tipi di varianti suggeriscono alcuni cattivi pensieri....
____________________
Ok, tutto questo è bello, ovviamente. Ma in MQL5 ci sono solo funzioni template, non ci sono classi (ci saranno?). Quindi, le liste su modelli non sono realizzabili con gli strumenti attuali.
Siete felici perché i paradigmi fossili sono i vostri caldi ricordi del secolo scorso e sembrano essere un bagaglio di conoscenze esaustivo.
Ma non c'è bisogno di eclissare gli approcci moderni per questo motivo, perché gli MQ daranno per scontato che i loro clienti siano nostalgici del nonno Macro Assembler e dell'ANSI C e ignoreranno i suggerimenti per migliorare MQL5.
.
Dato che non ci sono modelli, si può fare con le macro, qualcuno credo abbia anche scritto un articolo su questo argomento (macro invece di modelli) + l 'analogo degli algoritmi in stl anche su macro. Ma imho tutto questo dovrebbe essere nella libreria standard su modelli, è sbagliato in qualche modo scrivere i propri contenitori (utili solo a scopo didattico), è più facile farlo con un array.
Aggiornamento: non c'è bisogno di algoritmi nelle macro, i modelli di funzione sono disponibili. Non mi piace l'inserimento virtuale/... è meglio usare le asserzioni di controllo del tipo in modalità di debug.
Salve,
Ho provato a compilare test_MQL5_List.mq5 , ho ottenuto i seguenti errori:
'm_head' - membro dell'oggetto costante non modificabile CiSingleList.mqh 504 9
'm_tail' - membro dell'oggetto costante non modificabile CiSingleList.mqh 505 9
'm_size' - membro dell'oggetto costante non modificabile CiSingleList.mqh 496 9