Articoli sulla programmazione MQL5

icon

Grazie ai numerosi articoli pubblicati dai membri della comunità, potrai imparare il linguaggio MQL5 che ti consentirà di elaborare strategie di trading. Gli articoli sono raggruppati in categorie per facilitare la ricerca rapida di qualsiasi argomento inerente la programmazione: Integrazioni, Tester, Strategie di trading, ecc.

Tieni d'occhio le nostre nuove pubblicazioni e discutine sul Forum!

Aggiungi un nuovo articolo
più recente | il migliore
preview
Uso delle Risorse in MQL5

Uso delle Risorse in MQL5

I programmi MQL5 non solo automatizzano i calcoli di routine, ma possono anche creare un ambiente grafico completo. Le funzioni per la creazione di controlli realmente interattivi sono ora virtualmente altrettanto ricche, come quelle nei classici linguaggi di programmazione. Se vuoi scrivere un programma autonomo completo in MQL5, utilizzare le risorse al loro interno. I programmi con risorse sono più facili da mantenere e distribuire.
20 Segnali di Trading in MQL5
20 Segnali di Trading in MQL5

20 Segnali di Trading in MQL5

Questo articolo ti insegnerà come ricevere segnali di trading che sono necessari affinché il sistema di trading funzioni. Gli esempi di formazione dei 20 segnali di trading sono offerti qui come funzioni personalizzate separate che possono essere utilizzate durante lo sviluppo degli Expert Advisor. Per vostra comodità, tutte le funzioni utilizzate nell'articolo sono combinate in un unico include file mqhe che può essere facilmente associato ad un futuro Expert Advisor.
Il Metodo Ottimale per il Calcolo del Volume Totale della Posizione in Base al Numero Magico Specificato
Il Metodo Ottimale per il Calcolo del Volume Totale della Posizione in Base al Numero Magico Specificato

Il Metodo Ottimale per il Calcolo del Volume Totale della Posizione in Base al Numero Magico Specificato

Il problema del calcolo del volume totale della posizione del simbolo specificato e del numero magico è considerato in questo articolo. Il metodo proposto richiede solo la parte minima necessaria della cronologia degli affari, trova il momento più vicino in cui la posizione totale era uguale a zero ed esegue i calcoli con le operazioni recenti. Viene anche considerato il lavoro con le variabili globali del terminale client.
Limitazioni e Verifiche sugli Expert Advisors
Limitazioni e Verifiche sugli Expert Advisors

Limitazioni e Verifiche sugli Expert Advisors

È consentito fare trading con questo simbolo lunedì? Ci sono abbastanza soldi per aprire una posizione? Quanto è grande la perdita se si attiva lo Stop Loss? Come limitare il numero di ordini in sospeso? L'operazione commerciale è stata eseguita nella barra corrente o in quella precedente? Se un robot di trading non può eseguire questo tipo di verifiche, qualsiasi strategia di trading può rivelarsi perdente. Questo articolo mostra gli esempi di verifiche utili su qualsiasi Expert Advisor.
Creazione di un Indicatore con più Indicatori Buffer per Principianti
Creazione di un Indicatore con più Indicatori Buffer per Principianti

Creazione di un Indicatore con più Indicatori Buffer per Principianti

I codici complessi sono costituiti da un insieme di codici semplici. Se li conosci, non sembra così complicato. In questo articolo, parleremo di come creare un indicatore con più buffer di indicatori. Ad esempio, l'indicatore Aroon viene analizzato in dettaglio e vengono presentate due diverse versioni del codice.
Manuale MQL5: Expert Advisor multivaluta: approccio semplice, accurato e rapido
Manuale MQL5: Expert Advisor multivaluta: approccio semplice, accurato e rapido

Manuale MQL5: Expert Advisor multivaluta: approccio semplice, accurato e rapido

Questo articolo descriverà l'implementazione di un approccio semplice, adatto a un Expert Advisor multivaluta. Ciò significa che sarai in grado di impostare l'Expert Advisor per testare/tradare in condizioni identiche ma con parametri diversi per ogni simbolo. Ad esempio creeremo un pattern per due simboli ma in modo tale da poter aggiungere ulteriori simboli, se necessario, apportando piccole modifiche al codice.
Utilizzo di feature map auto-organizzanti (mappe Kohonen) su MetaTrader 5
Utilizzo di feature map auto-organizzanti (mappe Kohonen) su MetaTrader 5

Utilizzo di feature map auto-organizzanti (mappe Kohonen) su MetaTrader 5

Uno degli aspetti più interessanti delle feature map auto-organizzanti (mappe Kohonen) è che imparano a classificare i dati senza supervisione. Nella sua forma base, produce una mappa di similarità dei dati di input (clustering). Le mappe SOM (Self-Organizing Map) possono essere utilizzate per la classificazione e la visualizzazione di dati ad alta dimensionalità. In questo articolo considereremo alcune semplici applicazioni delle mappe Kohonen.
Utilizzo della Funzione TesterWithdrawal() per il Modeling dei Prelievi di Profitto
Utilizzo della Funzione TesterWithdrawal() per il Modeling dei Prelievi di Profitto

Utilizzo della Funzione TesterWithdrawal() per il Modeling dei Prelievi di Profitto

Questo articolo descrive l'uso della funzione TesterWithDrawal() per stimare i rischi nei sistemi commerciali che implicano il ritiro di una certa parte delle attività durante il loro funzionamento. Inoltre, descrive l'effetto di questa funzione sull'algoritmo di calcolo del drawdown del capitale nello Strategy Tester. Questa funzione è utile quando si ottimizzano i parametri dei propri Expert Advisor.
Elaborazione di eventi di trading nell'Expert Advisor utilizzando la funzione OnTrade()
Elaborazione di eventi di trading nell'Expert Advisor utilizzando la funzione OnTrade()

Elaborazione di eventi di trading nell'Expert Advisor utilizzando la funzione OnTrade()

MQL5 ha fornito una miriade di innovazioni, incluso il lavoro con eventi di vario tipo (eventi timer, eventi di trading, eventi personalizzati, ecc.). La capacità di gestire gli eventi ti consente di creare tipi completamente nuovi di programmi per il trading automatico e semi-automatico. In questo articolo, considereremo gli eventi di trading e scriveremo del codice per la funzione OnTrade(), che elaborerà l'evento Trade.
preview
Eventi di Trade in MetaTrader 5

Eventi di Trade in MetaTrader 5

Un monitoraggio dello stato corrente di un account di trading implica il controllo delle posizioni e degli ordini aperti. Prima che un segnale di trading diventi un deal, deve essere inviato dal client terminal come richiesta al server di trading, dove verrà inserito nella coda degli ordini in attesa di essere elaborato. Accettando una richiesta dal server di trading, cancellandola mentre scade o conducendo un deal sulla sua base - tutte queste azioni vengono seguite da eventi di trading, e il server di trading informa il terminale su di essi.
MQL5 Cloud Network: Stai ancora calcolando?
MQL5 Cloud Network: Stai ancora calcolando?

MQL5 Cloud Network: Stai ancora calcolando?

Presto sarà passato un anno e mezzo dal lancio di MQL5 Cloud Network. Questo evento all'avanguardia ha inaugurato una nuova era del trading algoritmico: ora con un paio di clic, i trader possono avere centinaia e migliaia di core di calcolo a loro disposizione per l'ottimizzazione delle loro strategie di trading.
preview
Indicatori multipli su un grafico (Parte 05): Trasformiamo MetaTrader 5 in un sistema RAD (I)

Indicatori multipli su un grafico (Parte 05): Trasformiamo MetaTrader 5 in un sistema RAD (I)

Tante persone non sanno programmare ma sono molto creative e hanno grandi idee. Purtroppo però, la mancanza di conoscenze di programmazione impedisce loro di realizzare queste idee. Vediamo insieme come creare un Chart Trade utilizzando la piattaforma MetaTrader 5 stessa, come se fosse un IDE.
L'algoritmo di generazione dei ticks all'interno del tester di strategia del terminale MetaTrader 5
L'algoritmo di generazione dei ticks all'interno del tester di strategia del terminale MetaTrader 5

L'algoritmo di generazione dei ticks all'interno del tester di strategia del terminale MetaTrader 5

MetaTrader 5 ci consente di simulare il trading automatico, all'interno di un tester di strategia incorporato, utilizzando gli Expert Advisor e il linguaggio MQL5. Questo tipo di simulazione è chiamato testing di Expert Advisors e può essere implementato utilizzando l'ottimizzazione multithreaded, così come quella simultanea su un numero di strumenti. Per fornire un test approfondito, è necessario eseguire una generazione di tick basata sullo storico dei minuti, disponibile. Questo articolo fornisce una descrizione dettagliata dell'algoritmo, mediante il quale i tick vengono generati per il test dello storico nel terminale client MetaTrader 5.
Generatore di segnali di trading basato su un indicatore personalizzato
Generatore di segnali di trading basato su un indicatore personalizzato

Generatore di segnali di trading basato su un indicatore personalizzato

Come creare un generatore di segnali di trading basato su un indicatore personalizzato? Come creare un indicatore personalizzato? Come accedere ai dati degli indicatori personalizzati? Perché abbiamo bisogno della struttura IS_PATTERN_USAGE(0) e del modello 0?
Teoria e implementazione di indicatori adattivi avanzati con MQL5
Teoria e implementazione di indicatori adattivi avanzati con MQL5

Teoria e implementazione di indicatori adattivi avanzati con MQL5

Questo articolo descriverà gli indicatori adattivi avanzati e la loro implementazione con MQL5: Cyber Cycle adattivo, centro di gravità adattivo e RVI adattivo. Tutti gli indicatori sono stati originariamente presentati in "Cybernetic Analysis for Stocks and Futures" di John F. Ehlers.
MQL per "Duri di Comprendonio": Come Progettare e Costruire Classi di Oggetti
MQL per "Duri di Comprendonio": Come Progettare e Costruire Classi di Oggetti

MQL per "Duri di Comprendonio": Come Progettare e Costruire Classi di Oggetti

Creando un programma di esempio di visual design, dimostriamo come progettare e costruire classi in MQL5. L'articolo è scritto per i programmatori principianti che stanno lavorando su applicazioni MT5. Proponiamo una tecnologia semplice e di facile comprensione per la creazione di classi, senza la necessità di immergersi profondamente nella teoria della programmazione orientata agli oggetti.
Programmatore Migliore (Parte 07): Note su come diventare uno sviluppatore freelance di successo
Programmatore Migliore (Parte 07): Note su come diventare uno sviluppatore freelance di successo

Programmatore Migliore (Parte 07): Note su come diventare uno sviluppatore freelance di successo

Desideri diventare uno sviluppatore freelance di successo su MQL5? Se la risposta è sì, questo articolo fa per te.
Costruire un trader automatico di notizie
Costruire un trader automatico di notizie

Costruire un trader automatico di notizie

Questa è la continuazione di un altro articolo sulla classe OOP MQL5 che ha mostrato come costruire un semplice EA OO da zero, dando alcuni suggerimenti sulla programmazione orientata agli oggetti. Oggi vi mostro le basi tecniche necessarie per sviluppare un EA in grado di scambiare le notizie. Il mio obiettivo è quello di continuare a darti idee su OOP e anche coprire un nuovo argomento in questa serie di articoli, lavorando con il file system.
Come accedere al database MySQL da MQL5 (MQL4)
Come accedere al database MySQL da MQL5 (MQL4)

Come accedere al database MySQL da MQL5 (MQL4)

L'articolo descrive lo sviluppo di un'interfaccia tra MQL e il database MySQL. Espone le soluzioni pratiche esistenti e offre un modo più conveniente per implementare una libreria da utilizzare per lavorare con i database. L'articolo contiene una descrizione dettagliata delle funzioni, della struttura dell'interfaccia, degli esempi e di alcune caratteristiche specifiche per lavorare con MySQL. Per quanto riguarda le soluzioni software, gli allegati agli articoli includono i file delle librerie dinamiche, la documentazione ed esempi di script per i linguaggi MQL4 e MQL5.
Creazione di Indicatori di Tick in MQL5
Creazione di Indicatori di Tick in MQL5

Creazione di Indicatori di Tick in MQL5

In questo articolo, analizzeremo la creazione di due indicatori: l'indicatore tick, che traccia il grafico tick del prezzo e l'indicatore tick candle, che traccia le candele con il numero di tick specificato. Ciascuno degli indicatori scrive i prezzi in entrata in un file e utilizza i dati salvati dopo il riavvio dell'indicatore (questi dati possono essere utilizzati anche dagli altri programmi)
Previsione di serie temporali mediante livellamento esponenziale
Previsione di serie temporali mediante livellamento esponenziale

Previsione di serie temporali mediante livellamento esponenziale

L'articolo permette al lettore di familiarizzare con i modelli di livellamento esponenziale utilizzati per la previsione a breve termine delle serie temporali. Inoltre, tocca le questioni relative all'ottimizzazione e alla stima dei risultati di previsione e fornisce alcuni esempi di script e indicatori. Questo articolo sarà utile come prima conoscenza dei principi di previsione sulla base di modelli di livellamento esponenziale.
Scopri come progettare un sistema di trading con il CCI
Scopri come progettare un sistema di trading con il CCI

Scopri come progettare un sistema di trading con il CCI

In questo nuovo articolo della nostra serie dedicata a come progettare sistemi di trading, presenterò il Commodities Channel Index (CCI), spiegherò le sue caratteristiche e condividerò con voi come creare un sistema di trading basato su questo indicatore.
Fondamenti di programmazione MQL5: Variabili Globali del Terminale
Fondamenti di programmazione MQL5: Variabili Globali del Terminale

Fondamenti di programmazione MQL5: Variabili Globali del Terminale

Questo articolo evidenzia le capacità orientate agli oggetti del linguaggio MQL5 per la creazione di oggetti che facilitano il lavoro con le variabili globali del terminale. Come esempio pratico considero un caso in cui le variabili globali vengono utilizzate come punti di controllo per l'implementazione delle fasi del programma.
Programmazione delle modalità di EA utilizzando l'approccio orientato agli oggetti
Programmazione delle modalità di EA utilizzando l'approccio orientato agli oggetti

Programmazione delle modalità di EA utilizzando l'approccio orientato agli oggetti

Questo articolo parla della programmazione di robot di trading multimodale in MQL5. Ogni modalità è implementata con l'approccio orientato agli oggetti. Vengono fornite istanze sia della gerarchia delle classi di modalità che delle classi per il test. Si suppone che la programmazione multimodale dei robot di trading tenga conto di tutte le peculiarità di ogni modalità operativa di un EA scritto in MQL5. Le funzioni e l'enumerazione vengono create per identificare la modalità.
Calcoli paralleli su MetaTrader 5
Calcoli paralleli su MetaTrader 5

Calcoli paralleli su MetaTrader 5

Il tempo ha sempre avuto un grande valore in tutta la storia dell'umanità e noi ci sforziamo di non sprecarlo inutilmente. Questo articolo ti dirà come accelerare il lavoro del tuo Expert Advisor se il tuo computer ha un processore multi-core. Inoltre, l'implementazione del metodo proposto non richiede la conoscenza di altri linguaggi oltre a MQL5.
Comunicare con MetaTrader 5 utilizzando pipe denominate senza utilizzare DLL
Comunicare con MetaTrader 5 utilizzando pipe denominate senza utilizzare DLL

Comunicare con MetaTrader 5 utilizzando pipe denominate senza utilizzare DLL

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.
3 Metodi di accelerazione degli indicatori mediante l'esempio della regressione lineare
3 Metodi di accelerazione degli indicatori mediante l'esempio della regressione lineare

3 Metodi di accelerazione degli indicatori mediante l'esempio della regressione lineare

L'articolo tratta i metodi di ottimizzazione degli algoritmi di calcolo degli indicatori. Ciascuno troverà il metodo più adatto alle proprie esigenze. Qui sono descritti tre metodi. Uno di questi è abbastanza semplice, il successivo richiede una solida conoscenza della matematica e l'ultimo richiede un po' di arguzia. Gli indicatori o le funzionalità di progettazione del terminale MetaTrader5 vengono utilizzati per realizzare la maggior parte dei metodi descritti. I metodi sono abbastanza universali e possono essere utilizzati non solo per l'accelerazione del calcolo della regressione lineare, ma anche per molti altri indicatori.
Utilizzo di WinInet.dll per lo scambio di dati tra terminali tramite Internet
Utilizzo di WinInet.dll per lo scambio di dati tra terminali tramite Internet

Utilizzo di WinInet.dll per lo scambio di dati tra terminali tramite Internet

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.
Utilizzo di WinInet in MQL5.  Parte 2:  Richieste e file POST
Utilizzo di WinInet in MQL5.  Parte 2:  Richieste e file POST

Utilizzo di WinInet in MQL5. Parte 2: Richieste e file POST

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.
Programmatore Migliore (Parte 04): Come diventare uno sviluppatore più veloce
Programmatore Migliore (Parte 04): Come diventare uno sviluppatore più veloce

Programmatore Migliore (Parte 04): Come diventare uno sviluppatore più veloce

Ogni sviluppatore vuole essere in grado di scrivere codice più velocemente, ed essere in grado di programmare in modo più rapido ed efficace non è un tipo di abilità speciale con cui solo poche persone sono nate. È un'abilità che può essere appresa da ogni programmatore, indipendentemente dagli anni di esperienza sulla tastiera.
Manuale statistico del trader ipotesi
Manuale statistico del trader ipotesi

Manuale statistico del trader ipotesi

Questo articolo considera l'ipotesi, una delle idee di base della statistica matematica. Varie ipotesi vengono esaminate e verificate attraverso esempi utilizzando metodi di statistica matematica. I dati effettivi vengono generalizzati utilizzando metodi non parametrici. Per l'elaborazione dei dati vengono utilizzati il pacchetto Statistica e la libreria di analisi numerica ALGLIB MQL5 pilotata.
Lavori freelance su MQL5.com - Il posto preferito dagli sviluppatori
Lavori freelance su MQL5.com - Il posto preferito dagli sviluppatori

Lavori freelance su MQL5.com - Il posto preferito dagli sviluppatori

Gli sviluppatori di robot di trading non hanno più bisogno di pubblicizzare i loro servizi ai trader che richiedono Expert Advisor - ora i trader troveranno loro. Già, migliaia di trader effettuano ordini a sviluppatori freelance MQL5 e pagano per il lavoro su MQL5.com. Per 4 anni, questo servizio ha facilitato tremila commercianti a pagare più di 10 000 lavori svolti. E l'attività di trader e sviluppatori è in costante crescita!
MQL5 Cookbook: Implementazione di un array associativo o di un dizionario per l'accesso rapido ai dati
MQL5 Cookbook: Implementazione di un array associativo o di un dizionario per l'accesso rapido ai dati

MQL5 Cookbook: Implementazione di un array associativo o di un dizionario per l'accesso rapido ai dati

Questo articolo descrive uno speciale algoritmo che consente di accedere agli elementi tramite le loro chiavi univoche. Qualsiasi tipo di dati di base può essere utilizzato come chiave. Ad esempio può essere rappresentato come una stringa o una variabile intera. Tale contenitore di dati è comunemente indicato come dizionario o array associativo. Fornisce un modo più semplice ed efficiente di risolvere i problemi.
Random Walk e l'indicatore di tendenza
Random Walk e l'indicatore di tendenza

Random Walk e l'indicatore di tendenza

Random Walk sembra molto simile ai dati di mercato reali, ma ha alcune caratteristiche significative. In questo articolo considereremo le proprietà di Random Walk, simulato utilizzando il gioco del lancio della moneta. Per studiare le proprietà dei dati, viene sviluppato l'indicatore di tendenza.
SQL e MQL5: Lavorare con il database SQLite
SQL e MQL5: Lavorare con il database SQLite

SQL e MQL5: Lavorare con il database SQLite

Questo articolo è destinato agli sviluppatori interessati a utilizzare SQL nei loro progetti. Spiega le funzionalità e i vantaggi di SQLite. L'articolo non richiede una conoscenza speciale delle funzioni SQLite, ma sarebbe utile una minima conoscenza di SQL.
Creazione di un Indicatore Multivaluta, Utilizzando un Numero di Buffer di Indicatori Intermedi
Creazione di un Indicatore Multivaluta, Utilizzando un Numero di Buffer di Indicatori Intermedi

Creazione di un Indicatore Multivaluta, Utilizzando un Numero di Buffer di Indicatori Intermedi

C'è stato un recente aumento di interesse per le analisi dei cluster del mercato FOREX. MQL5 apre nuove possibilità di ricerca delle tendenze del movimento delle coppie di valute. Una caratteristica fondamentale di MQL5, che lo differenzia da MQL4, è la possibilità di utilizzare un numero illimitato di buffer indicatori. Questo articolo descrive un esempio di creazione di un indicatore multivaluta.
Come sviluppare un Expert Advisor utilizzando gli strumenti UML
Come sviluppare un Expert Advisor utilizzando gli strumenti UML

Come sviluppare un Expert Advisor utilizzando gli strumenti UML

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.
Programmatore migliore (Parte 02): Smetti di fare queste 5 cose per diventare un programmatore MQL5 di successo
Programmatore migliore (Parte 02): Smetti di fare queste 5 cose per diventare un programmatore MQL5 di successo

Programmatore migliore (Parte 02): Smetti di fare queste 5 cose per diventare un programmatore MQL5 di successo

Questo è l'articolo da leggere per chiunque voglia migliorare la propria carriera di programmatore. Questa serie di articoli ha lo scopo di renderti il miglior programmatore che puoi essere, non importa quanto tu sia esperto. Le idee discusse funzionano sia per i neofiti della programmazione MQL5 che per i professionisti.
Simulink: una Guida per gli Sviluppatori di Expert Advisor
Simulink: una Guida per gli Sviluppatori di Expert Advisor

Simulink: una Guida per gli Sviluppatori di Expert Advisor

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.
Approccio econometrico all'analisi dei grafici
Approccio econometrico all'analisi dei grafici

Approccio econometrico all'analisi dei grafici

Questo articolo descrive in particolare i metodi econometrici di analisi, l'analisi di autocorrelazione e l'analisi della varianza condizionale. Qual è il vantaggio dell'approccio qui descritto? L'uso dei modelli GARCH non lineari consente di rappresentare formalmente la serie analizzata dal punto di vista matematico e di creare una previsione per un numero specificato di passaggi.