Articoli sulla programmazione in MQL4 e 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
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.
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.
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.
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.
Creazione di Pannelli di Controllo Attivi in MQL5 per il Trading
Creazione di Pannelli di Controllo Attivi in MQL5 per il Trading

Creazione di Pannelli di Controllo Attivi in MQL5 per il Trading

L'articolo tratta il problema dello sviluppo dei pannelli di controllo attivi in MQL5. Gli elementi dell'interfaccia sono gestiti dal meccanismo di gestione degli eventi. Inoltre, è disponibile l'opzione di un'impostazione flessibile delle proprietà degli elementi di controllo. Il pannello di controllo attivo consente di lavorare con le posizioni, nonché di impostare, modificare ed eliminare ordini di mercato e in sospeso.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
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.
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.
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.
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.
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?
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.
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.
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!
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.
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.
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.
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.
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.
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.
Come scrivere una buona descrizione per un prodotto del Market
Come scrivere una buona descrizione per un prodotto del Market

Come scrivere una buona descrizione per un prodotto del Market

Il Market MQL5 ha molti prodotti in vendita, ma alcune delle loro descrizioni lasciano molto a desiderare. Molti testi hanno ovviamente bisogno di miglioramenti, poiché i trader comuni non sono in grado di comprenderli. Questo articolo ti aiuterà a mettere il tuo prodotto sotto una luce migliore. Utilizza i nostri consigli per scrivere una descrizione accattivante che mostrerà facilmente ai tuoi clienti cosa stai vendendo esattamente.
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.
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.
Sistemi di Trading Adattivi e loro utilizzo nel Client MetaTrader 5
Sistemi di Trading Adattivi e loro utilizzo nel Client MetaTrader 5

Sistemi di Trading Adattivi e loro utilizzo nel Client MetaTrader 5

Questo articolo suggerisce una variante di un sistema adattivo che consiste in molte strategie, ognuna delle quali esegue le proprie operazioni di trading "virtuali". Il trading reale viene eseguito in conformità con i segnali di una strategia più redditizia al momento. Grazie all'utilizzo dell'approccio orientato agli oggetti, le classi per lavorare con i dati e le classi di trading della libreria Standard, l'architettura del sistema è apparsa semplice e scalabile; ora puoi facilmente creare e analizzare i sistemi adattivi che includono centinaia di strategie di trading.
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.
Contratti future continui in MetaTrader 5
Contratti future continui in MetaTrader 5

Contratti future continui in MetaTrader 5

La breve durata dei contratti future complica la loro analisi tecnica. È difficile analizzare tecnicamente grafici brevi. Ad esempio, il numero di barre sul grafico giornaliero del future sull'indice azionario ucraino UX-9.13 è superiore a 100. Pertanto, il trader crea contratti a lungo termine sintetici. Questo articolo spiega come unire i contratti future con date diverse nel terminale MetaTrader 5.