Articoli con esempi di programmazione in MQL5

icon

Accedi a una vasta collezione di articoli con esempi di codice che spiegano come creare indicatori e robot di trading per la piattaforma MetaTrader nel linguaggio MQL5. I codici sorgente sono collegati agli articoli, in modo da poterli aprire in MetaEditor ed eseguirli per vedere come funzionano le applicazioni.

Questi articoli saranno utili sia per coloro che hanno appena iniziato ad esplorare il trading automatizzato sia per i trader professionisti più esperti di programmazione. Non presentano solo esempi, ma contengono anche nuove idee.

Aggiungi un nuovo articolo
più recente | il migliore
Matematica del mercato: profitti, perdite e costi
Matematica del mercato: profitti, perdite e costi

Matematica del mercato: profitti, perdite e costi

In questo articolo, vi mostrerò come calcolare il profitto o la perdita totale di qualsiasi trade, comprese le commissioni e gli swap. Fornirò il modello matematico più accurato e lo utilizzerò per scrivere il codice e confrontarlo con lo standard. Inoltre, cercherò anche di entrare all'interno della funzione principale di MQL5 per calcolare il profitto e di arrivare in fondo a tutti i valori necessari dalla specifica.
preview
Sviluppare un Expert Advisor per il trading da zero (Parte 28): Verso il futuro (III)

Sviluppare un Expert Advisor per il trading da zero (Parte 28): Verso il futuro (III)

C'è ancora un compito per la quale il nostro sistema di ordini non è all'altezza, ma FINALMENTE lo scopriremo. MetaTrader 5 fornisce un sistema di ticket che consente di creare e correggere i valori degli ordini. L’idea è quella di avere un Expert Advisor che renda lo stesso sistema di ticket più veloce ed efficiente.
preview
Sviluppare un Expert Advisor per il trading da zero (Parte 27): Verso il futuro (II)

Sviluppare un Expert Advisor per il trading da zero (Parte 27): Verso il futuro (II)

Passiamo ad un sistema di ordini più completo direttamente sul grafico. In questo articolo mostrerò un modo per correggere il sistema degli ordini, o meglio, per renderlo più intuitivo.
preview
Sviluppare un Expert Advisor per il trading da zero (Parte 26): Verso il futuro (I)

Sviluppare un Expert Advisor per il trading da zero (Parte 26): Verso il futuro (I)

Oggi porteremo il nostro sistema di ordini ad un livello superiore. Ma prima di ciò, dobbiamo risolvere alcuni problemi. Ora abbiamo alcune domande che riguardano il modo in cui vogliamo lavorare e le cose che facciamo durante la giornata di trading.
preview
Algoritmi di ottimizzazione della popolazione: Ottimizzazione delle Piante Infestanti (Invasive Weed Optimization - IWO)

Algoritmi di ottimizzazione della popolazione: Ottimizzazione delle Piante Infestanti (Invasive Weed Optimization - IWO)

La sorprendente abilità delle piante infestanti di sopravvivere in un'ampia varietà di condizioni è diventata l'idea per un potente algoritmo di ottimizzazione. IWO è uno dei migliori algoritmi tra quelli esaminati precedentemente.
preview
Valutazione dei modelli ONNX utilizzando metriche di regressione

Valutazione dei modelli ONNX utilizzando metriche di regressione

La regressione ha il compito di prevedere un valore reale da un esempio non catalogato. Le cosiddette metriche di regressione vengono utilizzate per valutare l'accuratezza delle previsioni del modello di regressione.
preview
Implementare i modelli ONNX in classi

Implementare i modelli ONNX in classi

La programmazione orientata agli oggetti consente di creare un codice più compatto che sia facile da leggere e da modificare. Qui di seguito vedremo l'esempio di tre modelli ONNX.
preview
Matrici e vettori in MQL5: Funzioni di attivazione

Matrici e vettori in MQL5: Funzioni di attivazione

Qui descriveremo solo uno degli aspetti dell'apprendimento automatico - le funzioni di attivazione. Nelle reti neurali artificiali, una funzione di attivazione del neurone calcola il valore di un segnale di output in base ai valori di un segnale di input o di un insieme di segnali di input. Ci addentreremo nei meccanismi interni del processo.
preview
Sviluppare un Expert Advisor di trading da zero (Parte 25): Fornire robustezza al sistema (II)

Sviluppare un Expert Advisor di trading da zero (Parte 25): Fornire robustezza al sistema (II)

In questo articolo, faremo il passo finale verso le prestazioni dell'EA. Preparatevi quindi a una lunga lettura. Per rendere il nostro Expert Advisor affidabile, per prima cosa rimuoveremo dal codice tutto ciò che non fa parte del sistema di trading.
preview
Algoritmi di ottimizzazione della popolazione: Algoritmo del pipistrello (Bat - BA)

Algoritmi di ottimizzazione della popolazione: Algoritmo del pipistrello (Bat - BA)

In questo articolo prenderò in considerazione l'algoritmo Bat (BA), che mostra una buona convergenza sulle funzioni regolari.
preview
Algoritmi di ottimizzazione della popolazione: Algoritmo della Lucciola (Firefly FA)

Algoritmi di ottimizzazione della popolazione: Algoritmo della Lucciola (Firefly FA)

In questo articolo prenderò in considerazione il metodo di ottimizzazione dell'Algoritmo Firefly(FA). Grazie alla modifica, l'algoritmo si è trasformato da outsider a vero leader della classifica.
preview
Algoritmi di ottimizzazione della popolazione: Ricerca del Banco di Pesci (FSS)

Algoritmi di ottimizzazione della popolazione: Ricerca del Banco di Pesci (FSS)

La Ricerca del Banco di Pesci (FSS) è un nuovo algoritmo di ottimizzazione ispirato al comportamento dei pesci in un banco, la maggior parte dei quali (fino all'80%) nuota in una comunità organizzata di affini. È stato dimostrato che le aggregazioni dei pesci svolgono un ruolo importante nell'efficienza del foraggiamento e nella protezione dai predatori.
preview
Algoritmi di ottimizzazione della popolazione: Algoritmo di Ottimizzazione del Cuculo (COA)

Algoritmi di ottimizzazione della popolazione: Algoritmo di Ottimizzazione del Cuculo (COA)

Il prossimo algoritmo che considererò è l'ottimizzazione della ricerca del cuculo utilizzando i voli di Levy. Si tratta di uno dei più recenti algoritmi di ottimizzazione e di un nuovo leader in classifica.
preview
Algoritmi di ottimizzazione della popolazione: Ottimizzazione Grey Wolf (GWO)

Algoritmi di ottimizzazione della popolazione: Ottimizzazione Grey Wolf (GWO)

Prendiamo in considerazione uno dei più recenti algoritmi di ottimizzazione moderni - l'ottimizzazione Grey Wolf. Il comportamento originale sulle funzioni test rende questo algoritmo uno dei più interessanti tra quelli considerati in precedenza. Si tratta di uno dei principali algoritmi per l'addestramento di reti neurali e funzioni regolari con molte variabili.
preview
Algoritmi di ottimizzazione della popolazione: Colonia di api artificiali (ABC)

Algoritmi di ottimizzazione della popolazione: Colonia di api artificiali (ABC)

In questo articolo studieremo l'algoritmo di una colonia di api artificiali e integreremo le nostre conoscenze con nuovi principi dello studio degli spazi funzionali. In questo articolo presenterò la mia interpretazione della versione classica dell'algoritmo.
preview
Algoritmi di ottimizzazione della popolazione: Ottimizzazione della Colonia di formiche (ACO)

Algoritmi di ottimizzazione della popolazione: Ottimizzazione della Colonia di formiche (ACO)

Questa volta analizzerò l'algoritmo di ottimizzazione Ant Colony. L'algoritmo è molto interessante e complesso. Nell'articolo, provo a creare un nuovo tipo di ACO.
preview
Algoritmi di ottimizzazione della popolazione: Sciame di particelle (PSO)

Algoritmi di ottimizzazione della popolazione: Sciame di particelle (PSO)

In questo articolo, prenderò in considerazione il famoso algoritmo Particle Swarm Optimization (PSO). In precedenza, abbiamo discusso caratteristiche così importanti degli algoritmi di ottimizzazione come convergenza, tasso di convergenza, stabilità, scalabilità, nonché sviluppato un banco di prova e considerato il più semplice algoritmo RNG..
Algoritmi di ottimizzazione della popolazione
Algoritmi di ottimizzazione della popolazione

Algoritmi di ottimizzazione della popolazione

Questo è un articolo introduttivo sulla classificazione dell'algoritmo di ottimizzazione (OA). L'articolo tenta di creare un banco di prova (un insieme di funzioni), che deve essere utilizzato per confrontare gli OA e forse, identificare l'algoritmo più universale tra tutti quelli ampiamente conosciuti.
preview
Sviluppare un Expert Advisor per il trading da zero (Parte 17): Accesso ai dati sul web (III)

Sviluppare un Expert Advisor per il trading da zero (Parte 17): Accesso ai dati sul web (III)

In questo articolo continuiamo a considerare come ottenere dati dal web e utilizzarli in un Expert Advisor. Questa volta procederemo allo sviluppo di un sistema alternativo.
preview
Indicatore CCI. Aggiornamento e nuove funzionalità

Indicatore CCI. Aggiornamento e nuove funzionalità

In questo articolo prenderò in considerazione la possibilità di aggiornare l'indicatore CCI. Inoltre, presenterò una modifica dell'indicatore.
preview
Operazioni con matrici e vettori in MQL5

Operazioni con matrici e vettori in MQL5

Le matrici e i vettori sono stati introdotti in MQL5 per un’operatività efficiente con soluzioni matematiche. I nuovi tipi offrono metodi integrati per creare codice conciso e comprensibile, vicino alla notazione matematica. Gli array offrono ampie possibilità, ma ci sono molti casi in cui le matrici sono molto più efficienti.
preview
Visualizza questo! Libreria grafica di MQL5 simile a 'plot' del linguaggio R

Visualizza questo! Libreria grafica di MQL5 simile a 'plot' del linguaggio R

Quando si studia la logica del trading, la rappresentazione visiva sotto forma di grafici è di grande importanza. Alcuni linguaggi di programmazione popolari tra la comunità scientifica (come R e Python) dispongono della speciale funzione "plot" utilizzata per la visualizzazione. Permette di disegnare linee, distribuzioni di punti e istogrammi per visualizzare i modelli. In MQL5, è possibile fare lo stesso utilizzando la classe CGraphics.
preview
Sviluppare un Expert Advisor per il trading da zero (Parte 8): Un salto concettuale

Sviluppare un Expert Advisor per il trading da zero (Parte 8): Un salto concettuale

Qual è il modo più semplice per implementare nuove funzionalità? In questo articolo, faremo un passo indietro e poi due passi avanti.
preview
Scienza dei dati e apprendimento automatico (Parte 03): Regressioni a matrice

Scienza dei dati e apprendimento automatico (Parte 03): Regressioni a matrice

Questa volta i nostri modelli sono realizzati da matrici, il che ci permette flessibilità e consente di creare modelli potenti che possono gestire non solo cinque variabili indipendenti ma anche molte variabili finché restiamo entro i limiti di calcolo di un computer, questo articolo sarà una lettura interessante, questo è sicuro.
preview
Cosa è possibile fare con le Medie Mobili

Cosa è possibile fare con le Medie Mobili

L'articolo prende in considerazione diversi metodi di applicazione dell'indicatore Media Mobile. Ogni metodo che riguarda l'analisi di un processo è accompagnato da indicatori che ne visualizzano l'idea. Nella maggior parte dei casi, le idee mostrate qui appartengono ai loro rispettivi autori. Il mio unico compito era quello di riunirli per farvi vedere gli approcci principali e, si spera, prendere decisioni più ragionevoli nel trading. Livello di competenza MQL5 — base.
preview
Indicatori multipli su un grafico (Parte 03): Sviluppo di definizioni per gli utenti

Indicatori multipli su un grafico (Parte 03): Sviluppo di definizioni per gli utenti

Oggi aggiorneremo per la prima volta la funzionalità del sistema di indicatori. Nel precedente articolo "Indicatori multipli su un grafico" abbiamo esaminato il codice di base che permette di utilizzare più di un indicatore in una sottofinestra del grafico. Quanto ho presentato è però solo la base di partenza di un sistema molto più ampio.
preview
Indicatori multipli su un grafico (Parte 02): Primi esperimenti

Indicatori multipli su un grafico (Parte 02): Primi esperimenti

Nel precedente articolo "Indicatori multipli su un grafico" ho presentato la logica e le basi relative a come utilizzare più indicatori su un grafico. In questo articolo fornirò il codice sorgente e lo spiegherò in dettaglio.
preview
Indicatori multipli su un grafico (parte 01): Comprendere i concetti

Indicatori multipli su un grafico (parte 01): Comprendere i concetti

Oggi impareremo come aggiungere più indicatori in esecuzione simultanea su un grafico, ma senza occupare un'area separata. Molti trader si sentono più sicuri se monitorano più indicatori alla volta (ad esempio, RSI, STOCASTIC, MACD, ADX e altri), o in alcuni casi anche i diversi asset di cui è composto un indice.
preview
Stoploss Fisso sulla PriceAction o RSI Fisso (StopLoss Intelligente)

Stoploss Fisso sulla PriceAction o RSI Fisso (StopLoss Intelligente)

Lo stop loss è uno strumento importante quando si tratta di gestione del denaro nel trading. L'uso efficace di stop-loss, take profit e dimensione del lotto può rendere un trader più costante nel trading e nel complesso più redditizio. Sebbene lo stop-loss sia un ottimo strumento, ci sono delle sfide che si incontrano quando viene utilizzato. La principale è la caccia allo stop loss. Questo articolo esamina come ridurre gli effetti della caccia allo stop loss nel trading e confrontarlo con il classico utilizzo dello stop loss per determinarne la redditività.
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.
preview
Programmazione di una rete neurale profonda da zero utilizzando il linguaggio MQL

Programmazione di una rete neurale profonda da zero utilizzando il linguaggio MQL

Questo articolo ha lo scopo di insegnare al lettore come creare una rete neurale profonda da zero utilizzando il linguaggio MQL4/5.
Programmatore Migliore (Parte 06): 9 abitudini che portano a una codifica efficace
Programmatore Migliore (Parte 06): 9 abitudini che portano a una codifica efficace

Programmatore Migliore (Parte 06): 9 abitudini che portano a una codifica efficace

Non si tratta sempre di scrivere il codice che porta a una codifica efficace. Ci sono alcune abitudini che ho trovato nella mia esperienza che portano a una codifica efficace. Ne discuteremo alcuni in dettaglio in questo articolo. Questo è un articolo da leggere per ogni programmatore che vuole migliorare la propria capacità di scrivere algoritmi complessi con meno problemi.
Programmatore migliore (Parte 05): Come diventare uno sviluppatore più veloce
Programmatore migliore (Parte 05): Come diventare uno sviluppatore più veloce

Programmatore migliore (Parte 05): 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ù veloce ed efficace non è un tipo di abilità speciale con cui solo poche persone sono nate. È un'abilità che può essere appresa, questo è ciò che sto cercando di insegnare in questo articolo.
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 03): Rinuncia a fare queste 5 cose per diventare un Programmatore MQL5 di successo
Programmatore migliore (Parte 03): Rinuncia a fare queste 5 cose per diventare un Programmatore MQL5 di successo

Programmatore migliore (Parte 03): Rinuncia a 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.
Programmatori Migliori (Parte 01): devi smettere di fare queste 5 cose per diventare un programmatore MQL5 di successo
Programmatori Migliori (Parte 01): devi smettere di fare queste 5 cose per diventare un programmatore MQL5 di successo

Programmatori Migliori (Parte 01): devi smettere di fare queste 5 cose per diventare un programmatore MQL5 di successo

Ci sono molte cattive abitudini che i neofiti e persino i programmatori avanzati hanno e che impediscono loro di diventare il meglio che possono essere nella loro carriera. Li discuteremo e li affronteremo in questo articolo. Questo articolo è una lettura obbligata per tutti coloro che vogliono diventare sviluppatori di successo in MQL5.
Manuale MQL5: Ordini ОСО
Manuale MQL5: Ordini ОСО

Manuale MQL5: Ordini ОСО

L'attività di trading di qualsiasi trader comporta vari meccanismi e interrelazioni, comprese le relazioni tra gli ordini. Questo articolo suggerisce una soluzione per l'elaborazione degli ordini OCO. Le classi di libreria standard sono ampiamente coinvolte, e vengono creati nuovi tipi di 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

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.
Studiare la classe CCanvas. Come disegnare oggetti trasparenti
Studiare la classe CCanvas. Come disegnare oggetti trasparenti

Studiare la classe CCanvas. Come disegnare oggetti trasparenti

La solida grafica scomoda delle medie mobili non ti va più bene? Vuoi disegnare qualcosa di più bello di un semplice rettangolo riempito di colore nel tuo terminale? Puoi disegnare una grafica più accattivante nel tuo terminale. Questo può essere implementato tramite la classe CСanvas, che viene utilizzata per creare grafiche personalizzate. Con questa classe è possibile implementare la trasparenza, fondere i colori e produrre l'illusione della trasparenza mediante la sovrapposizione e la fusione dei colori.
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à.