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
Stadio attuale di sviluppo di VE:
Aspetto con ansia il prossimo aggiornamento dello sviluppo.
Sembra fantastico, Peter. Penso che quando si usa VE per costruire se stessi, si ottengono preziose informazioni su come funziona il design dell'interfaccia utente.
Attendo con ansia il prossimo aggiornamento dello sviluppo.
L'interfaccia utente è ancora al 100% puro MQL.
Tutto basato su vettori, completamente scalabile e adattabile a qualsiasi display.
Tutti i display visivi funzionano in modo asincrono all'interno di una classe centrale che gestisce e distribuisce tutti gli eventi MQL agli oggetti, a seconda delle loro impostazioni di sottoscrizione e in base alle priorità degli eventi.
Spero di non rubare l'interessantissimo thread e perdonami Peter se lo faccio, non sarà una discussione, spero solo in una risposta breve per l'interesse teorico - intendi dire che hai una sorta di classe statica che conosce (tiene traccia di tutti i puntatori agli oggetti) tutti gli oggetti di classe istanziati nel sistema e ogni oggetto ha accesso a sottoscrivere se stesso agli eventi richiesti da quella classe statica di controllo e quella classe statica singleton di controllo consegna semplicemente gli eventi a tutti gli oggetti? Se è così, lo considera corretto in termini di OOP o forse è accettabile come programmazione guidata dagli eventi? Dato che ne avete scritto, immagino che vogliate accettare domande in merito e, in tal caso, cerchiamo di essere il più brevi possibile per non dirottare questo thread, anche se è correlato.
Spero di non rubare il thread molto interessante e perdonami Peter se lo faccio, non sarà una discussione, spero solo in una risposta breve per l'interesse teorico - intendi dire che hai una sorta di classe statica che conosce (tiene traccia di tutti i puntatori agli oggetti) tutti gli oggetti di classe istanziati nel sistema e ogni oggetto ha accesso a sottoscrivere se stesso agli eventi richiesti su quella classe statica di controllo e quella classe statica di controllo singleton consegna semplicemente gli eventi a tutti gli oggetti? Se è così, lo considera corretto in termini di OOP o forse è accettabile come programmazione guidata dagli eventi? Dato che ne avete scritto, immagino che vogliate accettare domande in merito e, in tal caso, cerchiamo di essere il più brevi possibile per non dirottare questo thread, anche se è correlato.
Sì, è esattamente questo.
Breve descrizione:
Il core riceve tutti gli eventi di MetaTrader e qualsiasi oggetto può sottoscrivere il core. Per questo motivo è stato necessario riprogettare/modificare anche la classe CObject, in modo che ogni oggetto abbia una funzione chiamata "public: virtual void OnEACycle(CCycleParams * cpm)". Tale ciclo può essere un evento grafico, un init, un deinit, ecc. Ogni oggetto può anche avere un "public: virtual void OnEATick()". L'effetto collaterale è che in questo modo si ottiene una funzione in più, perché si può sottoscrivere anche la fine di qualsiasi ciclo, indipendentemente da quale sia. Piuttosto utile per chiudere un file o finire qualsiasi altra cosa, semplicemente alla fine di qualsiasi ciclo.
Inoltre, ogni oggetto CObject può avere figli e anche sottoscrittori. Ciò significa che un oggetto può innescare i propri eventi, come quando qualcosa viene cliccato o simili. Allora si esegue semplicemente un object.SubEvent(STH_CLICKED, params). In questo modo l'oggetto stesso non si preoccupa di chi ha bisogno di queste informazioni, ma solo di distribuirle ai sottoscrittori, che ricevono un OnSubEvent(int msg, CSubEventParams * sep) e possono farci quello che vogliono.
Tutto sommato, questo modo è più simile al modo di codificare che conosciamo da C#, dove si usa anche solo .Invoke() per lanciare eventi e non ci si preoccupa di chi li riceve.
In realtà non è così complicato da implementare, ma ovviamente i dettagli sono la sfida finale, dato che si tratta di un nucleo/base per ogni singolo EA o indicatore del futuro che deve funzionare in ogni scenario.
Un EA finale ha quindi questo aspetto:
Se avessi il tempo, scriverei un articolo e fornirei le fonti. Non è un segreto, non c'è nessuna magia.
Ho guardato l'interfaccia grafica che hai creato. Mi piace molto. Dimmi, l'hai scritta tu o hai usato qualche libreria MQL?
Grazie.
No, nessuna libreria. L'ho progettata da zero. In realtà solo CCanvas di quelli originali è stato adattato, nient'altro.
Grazie.
No, nessuna libreria. L'ho sviluppato da zero da solo. In realtà, solo CCanvas è adattato da quelli originali, nient'altro.