In questo articolo, gli indicatori tecnici sono trattati come filtri digitali. Vengono spiegati i principi di funzionamento e le caratteristiche di base dei filtri digitali. Inoltre, vengono considerati alcuni modi pratici per ricevere il kernel del filtro nel terminale MetaTrader 5 e l'integrazione con un analizzatore di spettro già pronto proposto nell'articolo "Costruire un analizzatore di spettro". Vengono utilizzate come esempi le caratteristiche di impulso e spettro dei tipici filtri digitali.
È passato più di un anno da quando MQL5 ha iniziato a fornire supporto nativo per OpenCL. Tuttavia, non molti utenti hanno capito il vero valore nell'utilizzo del calcolo parallelo nei loro Expert Advisor, indicatori o script. Questo articolo ti aiuta a installare e configurare OpenCL sul tuo computer in modo che tu possa provare a utilizzare questa tecnologia nel terminale di trading MetaTrader 5.
È possibile fare trading su un vero conto MetaTrader 5 oggi? Come organizzare tale trading? L'articolo contiene la teoria di queste domande e i codici di lavoro utilizzati per copiare le operazioni dal terminale MetaTrader 5 a MetaTrader 4. L'articolo sarà utile sia per gli sviluppatori di Expert Advisor sia per i trader praticanti.
Molti sviluppatori affrontano lo stesso problema: come accedere alla sandbox del terminale di trading senza utilizzare DLL non sicure. Uno dei metodi più semplici e sicuri consiste nell'utilizzare pipe denominate standard che funzionano come normali operazioni sui file. Consentono di organizzare la comunicazione client-server interprocessore tra i programmi. Dai un'occhiata agli esempi pratici in C++ e MQL5 che includono server, client, scambio di dati tra loro e benchmark delle prestazioni.
In questo articolo mostreremo come esplorare la libreria standard delle classi di strategia di trading e come aggiungere strategie personalizzate e filtri/segnali utilizzando la logica Pattern-and-Models del Wizard MQL5. Alla fine sarai in grado di aggiungere facilmente le tue strategie utilizzando gli indicatori standard di MetaTrader 5 e il Wizard MQL5 creerà un codice pulito e potente e un Expert Advisor completamente funzionale.
Se la funzionalità del linguaggio MQL5 non è sufficiente per svolgere le attività, un programmatore MQL5 deve utilizzare strumenti aggiuntivi. Deve passare a un altro linguaggio di programmazione e creare una DLL intermedia. MQL5 ha la possibilità di presentare vari tipi di dati e trasferirli all'API ma, purtroppo, MQL5 non può risolvere il problema relativo all'estrazione dei dati dal puntatore accettato. In questo articolo punteremo tutte le "i" e mostreremo semplici meccanismi di scambio e lavoro con tipi di dati complessi.
Questo articolo descrive il framework MQL5-RPC che abilita le chiamate di procedura remota da MQL5. Inizia con le basi XML-RPC, l'implementazione MQL5 e continua con due esempi di utilizzo reali. Il primo esempio utilizza un servizio web esterno e il secondo è un client per il semplice servizio XML-RPC ATC 2011 Analyzer. Se sei interessato a come implementare e analizzare diverse statistiche da ATC 2011 in tempo reale, questo articolo fa per te.
Questo articolo discute la creazione di Expert Advisor utilizzando il linguaggio grafico UML, usato per la modellazione visiva di sistemi software orientati agli oggetti. Il vantaggio principale di questo approccio è la visualizzazione del processo di modellazione. L'articolo contiene un esempio che mostra la modellazione della struttura e delle proprietà di un Expert Advisor utilizzando il software Ideas Modeler.
In questo articolo, continuiamo a studiare i principi del lavoro con Internet utilizzando le richieste HTTP e lo scambio di informazioni con il server. Descrive nuove funzionalità della classe CMqlNet, modalità di invio di informazioni da form e invio di file tramite richieste POST nonché autorizzazione sui siti web con il tuo nome utente tramite Cookie.
I servizi MQL5.community offrono grandi opportunità per i trader e per gli sviluppatori di applicazioni per il terminale MetaTrader. In questo articolo spieghiamo come vengono eseguiti i pagamenti per i servizi MQL5, come è possibile prelevare il denaro guadagnato e come viene garantita la sicurezza dell'operazione.
Questo articolo descrive i principi del lavoro con Internet tramite l'uso di richieste HTTP e lo scambio di dati tra terminali, utilizzando un server intermedio. Viene presentata una classe di libreria MqlNet per lavorare con le risorse Internet nell'ambiente MQL5. Monitorare i prezzi di diversi broker, scambiare messaggi con altri trader senza uscire dal terminale, cercare informazioni su Internet: questi sono solo alcuni esempi recensiti in questo articolo.
Questo articolo si concentra su alcune funzionalità di ottimizzazione che si aprono quando si tiene conto almeno dell'hardware sottostante su cui viene eseguito il kernel OpenCL. Le cifre ottenute sono lungi dall'essere valori limite, ma suggeriscono anche che avere le risorse esistenti disponibili qui e ora (l'API OpenCL implementata dagli sviluppatori del terminale non consente di controllare alcuni parametri importanti per l'ottimizzazione, in particolare la dimensione del gruppo di lavoro), il miglioramento delle prestazioni rispetto all'esecuzione del programma host è molto sostanziale.
Alla fine di gennaio 2012, la società di sviluppo software che sta dietro lo sviluppo di MetaTrader 5 ha annunciato il supporto nativo per OpenCL su MQL5. Utilizzando un esempio illustrativo, l'articolo espone le basi della programmazione in OpenCL in ambiente MQL5 e fornisce alcuni esempi della semplice ottimizzazione del programma per l'aumento della velocità operativa.
L'articolo descrive come implementare la comunicazione tra processi tra i terminali client MetaTrader 5 utilizzando le named pipe. Per l'utilizzo delle named pipe, viene sviluppata la classe CNamedPipes. Per il test del suo utilizzo e per misurare il throughput della connessione, vengono presentati l'indicatore di tick, gli script server e client. L'uso di named pipe è sufficiente per le quotazioni in tempo reale.
In questo articolo si parlerà dei dettagli dell'interazione tra MetaTrader 5 e il pacchetto matematico MatLab. Mostra il meccanismo di conversione dei dati, il processo di sviluppo di una libreria universale per interagire con il desktop MatLab. Copre anche l'uso di DLL generate dall'ambiente MatLab. Questo articolo è destinato a lettori esperti che conoscono C++ e MQL5.
Questo articolo ci porta in una direzione completamente nuova nello sviluppo di EA, indicatori e script in MQL4 e MQL5. In futuro, questo paradigma di programmazione diventerà gradualmente lo standard di base per tutti i trader nell'implementazione degli EA. Utilizzando il paradigma di programmazione basato su automi, gli sviluppatori MQL5 e MetaTrader 5 saranno vicini a poter creare un nuovo linguaggio - MQL6 - e una nuova piattaforma - MetaTrader 6.
La maggior parte degli sviluppatori ha bisogno di proteggere il proprio codice. Questo articolo presenterà alcuni modi per proteggere il software MQL5: introdurrà metodi per fornire funzionalità di licenza a script MQL5, Expert Advisor e indicatori. Parlerà della protezione tramite password, generatori di chiavi, licenza dell'account, la valutazione dei limiti di tempo e la protezione remota tramite chiamate MQL5-RPC.
Nascondere i dettagli di implementazione di classi/funzioni in un file .ex5 ti consentirà di condividere i tuoi algoritmi di know-how con altri sviluppatori, impostare progetti comuni e promuoverli nel Web. E mentre il team di MetaQuotes non risparmia alcuno sforzo per realizzare la possibilità di ereditarietà diretta delle classi della libreria ex5, noi lo implementeremo proprio ora.
L'intero complesso di problemi relativi alla creazione di una struttura di un codice eseguito e al suo tracciamento può essere risolto senza serie difficoltà. Questa possibilità è apparsa su MetaTrader 5 grazie alla nuova funzionalità del linguaggio MQL5: creazione automatica di variabili di tipo complesso di dati (strutture e classi) e loro eliminazione quando si esce dall'ambito locale. L'articolo contiene la descrizione della metodologia e dello strumento già pronto.
Questo articolo è una continuazione logica del mio articolo Statistical Probability Distributions in MQL5 che espone le classi per lavorare con alcune distribuzioni statistiche teoriche. Ora che abbiamo una base teorica, suggerisco di procedere direttamente a set di dati reali e provare a fare un uso informativo di questa base.
Questo articolo presenta la connessione di MetaTrader 5 a ENCOG - Advanced Neural Network e Machine Learning Framework. Contiene la descrizione e l'implementazione di un semplice indicatore di rete neurale basato su indicatori tecnici standard e un Expert Advisor basato su un indicatore neurale. Il codice sorgente, i binari compilati, le DLL e una rete addestrata esemplare sono allegati all'articolo.
L'articolo descrive un modo per programmare senza usare i modelli, ma mantenendo lo stile di programmazione inerente ad essi. L’articolo parla dell'implementazione dei modelli utilizzando metodi personalizzati e ha uno script già pronto allegato per la creazione di un codice sulla base di modelli specificati.
In questo articolo ho presentato diversi metodi di interazione tra il codice MQL5 e il codice gestito C#. Ho anche fornito diversi esempi su come eseguire il marshalling di strutture MQL5 contro C# e come richiamare le funzioni DLL esportate negli script MQL5. Credo che gli esempi forniti possano servire come base per ricerche future sulla scrittura di DLL nel codice gestito. Questo articolo apre anche le porte a MetaTrader per utilizzare le tante librerie che sono già implementate in C#.
Oggi è difficile trovare un computer che non abbia un browser installato. Da tanto tempo i browser si evolvono e migliorano. Questo articolo tratta un modo semplice e sicuro per creare grafici e diagrammi sulla base delle informazioni ottenute dal client terminal MetaTrader 5 per la loro visualizzazione nel browser.
Oltre alla creazione di neuronet, la suite software NeuroSolutions consente di esportarli come DLL. Questo articolo descrive il processo di creazione di un neuronet, la generazione di un DLL e la connessione a un Expert Advisor per il trading su MetaTrader 5.
L'articolo descrive una classe di array bidimensionali e dinamici contenente dati di tipo diverso nella sua prima dimensione. La memorizzazione dei dati sotto forma di tabella è utile per risolvere un'ampia gamma di problemi di disposizione, memorizzazione e funzionamento con informazioni associate di diverso tipo. Il codice sorgente della classe che implementa la funzionalità di lavorare con le tabelle è allegato all'articolo.
L'utilizzo di un approccio orientato agli oggetti in MQL5 semplifica enormemente la creazione di Expert Advisor multivaluta/multisistema/multitimeframe. Immagina, il tuo unico EA esegue le operazioni su diverse dozzine di strategie di trading, su tutti gli strumenti disponibili e su tutti i possibili intervalli di tempo! Inoltre, l'EA è facilmente testabile nel tester e per tutte le strategie incluse nella sua composizione possiede uno o più sistemi di gestione del denaro funzionanti.
Non sono un programmatore professionista. E così, il principio di "passare dal semplice al complesso" è di primaria importanza per me quando lavoro allo sviluppo del sistema di trading. Cosa esattamente è semplice per me? Prima di tutto, è la visualizzazione del processo di creazione del sistema e la logica del suo lavoro. Inoltre, è un minimo di codice scritto a mano. In questo articolo, tenterò di creare e testare il sistema di trading basato su un pacchetto Matlab, e quindi scrivere un Expert Advisor per MetaTrader 5. I dati storici di MetaTrader 5 verranno utilizzati per il processo del test.
MetaEditor 5 ha la funzione di debug. Tuttavia quando scrivi i tuoi programmi MQL5, spesso non vuoi visualizzare solo i singoli valori, ma tutti i messaggi che appaiono durante i test e il lavoro online. Quando il contenuto del file del log è di grandi dimensioni, è ovvio automatizzare il recupero rapido e semplice del messaggio richiesto. In questo articolo considereremo i modi per trovare errori nei programmi MQL5 e i metodi di logging. Inoltre semplificheremo l'accesso ai file e conosceremo un semplice programma LogMon per una comoda visualizzazione dei log.
L'articolo descrive il meccanismo per creare un modulo DLL, utilizzando il popolare linguaggio di programmazione ObjectPascal, all'interno di un ambiente di programmazione Delphi. I materiali, forniti in questo articolo, sono progettati principalmente per i programmatori principianti che stanno affrontando dei problemi, che violano i confini del linguaggio di programmazione integrato di MQL5, collegando i moduli DLL esterni.
Questo articolo mira a presentare soluzioni pronte per la pubblicazione di previsioni utilizzando MetaTrader 5. Copre una vasta gamma di idee: dall'utilizzo di siti web dedicati per la pubblicazione di dichiarazioni MetaTrader, attraverso la creazione del proprio sito Web senza praticamente alcuna esperienza di programmazione web necessaria e infine l'integrazione con un servizio di microblogging di social network che consente a molti lettori di aderire e seguire le previsioni. Tutte le soluzioni presentate qui sono gratuite al 100% e possono essere configurate da chiunque abbia una conoscenza di base dei servizi di posta elettronica e ftp. Non ci sono ostacoli all'utilizzo delle stesse tecniche per l'hosting professionale e per i servizi di previsione del trading commerciale.
Questo articolo è una guida rapida alle funzioni del linguaggio MQL4, ti aiuterà a migrare i tuoi programmi da MQL4 a MQL5. Per ogni funzione MQL4 (ad eccezione delle funzioni di trading) vengono presentate la descrizione e l'implementazione MQL5, che consente di ridurre significativamente il tempo di conversione. Per comodità, le funzioni MQL4 sono suddivise in gruppi, in modo simile a MQL4 Reference.
Lavorare con i dati è diventato il compito principale del software moderno, sia per applicazioni standalone che di rete. Per risolvere questo problema è stato creato un software specializzato. Si tratta di Database Management Systems (DBMS), in grado di strutturare, sistematizzare e organizzare i dati per l'archiviazione e l'elaborazione del proprio computer. Per quanto riguarda il trading, la maggior parte degli analisti non utilizza database nel proprio lavoro. Ma ci sono compiti in cui una soluzione del genere dovrebbe essere utile. Questo articolo fornisce un esempio di indicatori, in grado di salvare e caricare dati da database sia con architetture client-server che file-server.
I trader non hanno sempre la capacità e il desiderio di sedersi al terminale di trading per ore. Soprattutto se il sistema di trading è più o meno formalizzato e può identificare automaticamente alcuni degli stati del mercato. Questo articolo descrive come generare un report dei risultati di trading (utilizzando Expert Advisor, Indicator o Script) come file HTML e caricarlo tramite FTP sul server WWW. Prenderemo in considerazione anche l'invio di notifiche di eventi commerciali come SMS al telefono cellulare.
Questo articolo descrive il metodo di scambio di informazioni tra l'Expert Advisor e gli utenti ICQ, vengono presentati diversi esempi. Il materiale fornito sarà interessante per coloro che desiderano ricevere informazioni di trading in remoto da un terminale del cliente, tramite un client ICQ nel proprio telefono cellulare o PDA.
Ora, non sono così tanti gli sviluppatori che ricordano come scrivere una semplice DLL e quali sono le caratteristiche speciali dei diversi binding di sistema. Usando diversi esempi, cercherò di mostrare l'intero processo di creazione della semplice DLL in 10 minuti, oltre a discutere alcuni dettagli tecnici della nostra implementazione vincolante. Mostrerò il processo passo dopo passo della creazione di DLL in Visual Studio con esempi di scambio di diversi tipi di variabili (numeri, array, stringhe, ecc.). Inoltre spiegherò come proteggere il tuo terminale client da arresti anomali nelle DLL personalizzate.
Vuoi organizzare l'esportazione delle quotazioni da MetaTrader 5 alla tua applicazione? La giunzione MQL5-DLL permette di creare tali soluzioni! Questo articolo ti mostrerà uno dei modi per esportare le quotazioni da MetaTrader 5 ad applicazioni scritte in .NET. Per me è stato più interessante, razionale e facile implementare l'esportazione dei preventivi utilizzando proprio questa piattaforma. Sfortunatamente, la versione 5 non supporta ancora .NET quindi, come ai vecchi tempi, utilizzeremo win32 dll con supporto .NET come interlayer.
Il linguaggio di programmazione MQL5 è destinato principalmente alla creazione di sistemi di trading automatizzati e strumenti complessi di analisi tecniche. Tuttavia, a parte questo, ci consente di creare interessanti sistemi informativi per il monitoraggio delle situazioni del mercato e fornisce una connessione di ritorno con il trader. L'articolo descrive i componenti della Standard Library MQL5 e mostra esempi del loro utilizzo nella pratica per raggiungere questi obiettivi. Viene, inoltre, illustrato un esempio di come utilizzare Google Chart API per la creazione di grafici.
In questo articolo, esaminiamo il processo di sviluppo di un modello di tabella in MQL5 utilizzando il modello architettonico MVC (Model-View-Controller) per separare la logica dei dati, la presentazione e il controllo, consentendo un codice strutturato, flessibile e scalabile. Consideriamo l'implementazione di classi per la costruzione di un modello di tabella, compreso l'uso di liste collegate per la memorizzazione dei dati.