Guarda come scaricare robot di trading gratuitamente
Ci trovi su Facebook!
Unisciti alla nostra fan page
Script interessante?
Pubblica il link!
lasciare che altri lo valutino
Ti è piaciuto lo script? Provalo nel Terminale MetaTrader 5
Librerie

L'utilizzo dei socket in MQL5 - libreria per MetaTrader 5

Andriy Voitenko
Andriy Voitenko
4.9 (337)
* Creating Server Plugins and Manager Applications for MetaTrader 4/5.
* MQL4 and MQL5 programming. Creation of EAs, indicators, scripts for market analysis. Writing applications for popular trading platforms.
| Italian English Русский 中文 Español Deutsch 日本語 Português 한국어 Français Türkçe
Visualizzazioni:
198
Valutazioni:
(52)
Pubblicato:
Aggiornato:
socket.zip (506.46 KB)
Freelance MQL5 Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance

In questo articolo viene presentato un esempio di trasmissione delle quotazioni da MetaTrader 5 a un’applicazione server scritta in Delphi 7.

Per la comunicazione viene utilizzato il protocollo TCP, che consente di trasferire i dati non solo in locale ma anche in remoto, ad esempio su un PC collegato alla rete locale.

Per la gestione dei socket viene utilizzata la libreria Winsock2 (wsock32.dll). Tuttavia, non è possibile utilizzare direttamente le funzioni di questa libreria a causa della mancanza, in MQL5, di un meccanismo per la gestione dei puntatori e per il passaggio di tipi di dati complessi come parametri alle funzioni DLL chiamate.

Come anello intermedio che collega l’expert advisor e la libreria dei socket funge la libreria socket_mql5.dll, scritta in C++.

La figura 1 mostra lo schema di interazione tra MetaTrader 5 e l’applicazione server.

Schema di interazione tra MetaTrader 5 e l'applicazione server

Figura 1. Schema di interazione tra MetaTrader 5 e l’applicazione server

Nella libreria socket_mql5.dll è implementato un insieme minimo di funzioni per la trasmissione unidirezionale dei dati: SocketOpen, SocketWriteData, SocketWriteString, SocketClose. Le quotazioni possono essere trasmesse in due formati: come dati e come stringa. La scelta del formato è implementata nella variabile di input "tipo di dati trasmessi" del consulente.

Il risultato del funzionamento dello expert advisor, che implementa un client che si connette all’applicazione server e trasmette i dati relativi a ogni tick, è illustrato nella figura 2.

Trasferimento dei dati da MetaTrader 5 all'applicazione server

Figura 2. Trasmissione dei dati da MetaTrader 5 all’applicazione server

L'archivio contiene:

  • Un expert advisor;
  • la libreria socket_mql5.dll (codice sorgente scritto in Visual Studio 2008);
  • un server TCP e un client TCP (il codice sorgente è scritto in Delphi 7).

Tradotto dal russo da MetaQuotes Ltd.
Codice originale https://www.mql5.com/ru/code/169

Time To Close v1.01 - MT5 Time To Close v1.01 - MT5

Tempo di chiusura della candela. Colori del testo dinamici. Ottimizzato per il back-testing.

DailyHighLow Indicator for MQL5 DailyHighLow Indicator for MQL5

L'indicatore DailyHighLow è uno strumento versatile progettato per MetaTrader 5 (MQL5) per visualizzare i livelli di prezzo alti e bassi su un grafico basato su un timeframe specifico. Questo indicatore è particolarmente utile per i trader che si basano sui livelli di prezzo chiave per prendere decisioni, offrendo flessibilità grazie a timeframe e metodi di calcolo dei prezzi personalizzabili.

AlfOs AlfOs

Un oscillatore simile all'OsMA basato sulla media dinamica dell'indice variabile.

Parole chiave MQL5 Parole chiave MQL5

Parole chiave del linguaggio MQL5