• Información general
  • Comentarios (5)
  • Discusión (23)
  • Novedades

Native Websocket

5

An easy to use, fast, asynchronous WebSocket library for MQL5.

It supports:

  • ws:// and wss:// (Secure "TLS" WebSocket)
  • text and binary data

It handles:

  • fragmented message automatically (large data transfer)
  • ping-pong frames automatically (keep-alive handshake)

Benefits:

  • No DLL required.
  • No OpenSSL installation required.
  • Up to 128 WebSocket Connections from a single program.
  • Various Log Levels for error tracing
  • Can be synchronized to MQL5 Virtual Hosting.
  • Completely native to MQL5.
Click here to Download the latest WSMQL.mqhPlease ensure the MetaTrader downloaded library is downloaded/named as Native Websocket.ex5   

Sample code below:

//include WSMQL.mqh - a file that has all the declarations required to interact with the library
#include <WSMQL.mqh>
// Methods below
// class CWebSocketClient {
// public:
//    bool Initialized(void); // Checks if the WebSocket client is initialized.
//    ENUM_WEBSOCKET_STATE State(void); // Returns the current state of the WebSocket connection.
//    void SetMaxSendSize(int max_send_size); // Sets the maximum send size for WebSocket messages.

//    bool SetOnMessageHandler(OnWebsocketMessage callback); // Sets the callback function for handling incoming text messages.
//    bool SetOnPingHandler(OnWebsocketMessage callback); // Sets the callback function for handling incoming ping messages.
//    bool SetOnPongHandler(OnWebsocketMessage callback); // Sets the callback function for handling incoming pong messages.
//    bool SetOnCloseHandler(OnWebsocketMessage callback); // Sets the callback function for handling WebSocket connection closures.
//    bool SetOnBinaryMessageHandler(OnWebsocketBinaryMessage callback); // Sets the callback function for handling incoming binary messages.

//    bool Connect(const string url, const uint port = 443, const uint timeout = 5000, bool use_tls = true, ENUM_LOG_LEVEL log_level = LOG_LEVEL_NONE); // Connects to a WebSocket server.
//    bool ConnectUnsecured(const string url, const uint port = 80, const uint timeout = 5000, ENUM_LOG_LEVEL log_level = LOG_LEVEL_NONE); // Connects to a WebSocket server using an unsecured connection.
//    bool ConnectSecured(const string url, const uint port = 443, const uint timeout = 5000, ENUM_LOG_LEVEL log_level = LOG_LEVEL_NONE); // Connects to a WebSocket server using a secured connection.

//    bool Disconnect(ENUM_CLOSE_CODE close_code = NORMAL_CLOSE, const string msg = ""); // Disconnects from the WebSocket server.
//    int  SendString(const string message); // Sends a string message to the WebSocket server.
//    int  SendData(uchar& message_buffer[]); // Sends binary data to the WebSocket server.
//    int  SendPong(const string msg = ""); // Sends a pong message to the WebSocket server.
//    int  SendPing(const string msg); // Sends a ping message to the WebSocket server.
//    uint ReadString(string& out); // Reads a string message from the WebSocket server.
//    uint ReadStrings(string& out[]); // Reads multiple string messages from the WebSocket server.
//    uint OnReceiveString(); // Receives and processes incoming string messages.
//    uint OnReceiveBinary(); // Receives and processes incoming binary messages.
//    uint OnMessage(); // Receives and processes incoming WebSocket messages.
// };
// Create an instance of the Client
CWebSocketClient client;//I declared this globally because of OnPingMessage requiring it
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart() {
   // Check if the client is initialized
   if (!client.Initialized()) {
      ZeroHandle();//Cleanup all clients
      return;
   }

   // Set OnMessage handler to receive text messages
   client.SetOnMessageHandler(OnMessage);// use SetOnBinaryMessageHandler for binary messages

   // Set OnPing handler to receive ping messages, 
   // Pong will be automatically sent if this handler is not set
   client.SetOnPingHandler(OnPingMessage);// use SetOnPongHandler for pong messages

   // URL and msg declaration
   string url = "stream.binance.com/ws";//Or wss://stream.binance.com/ws
   string msg = "{\"params\":[\"btcusdt@bookTicker\"],\"method\":\"SUBSCRIBE\",\"id\":27175}";
   //ALERT: Make sure stream.binance.com has been added to WebRequest list in Options -> Expert Advisors tab

   /*

    Connect to the WebSocket server through either of the below-listed functions as required

   */

   // Fully Configurable
   // if (!client.Connect(url/* , 80 || 443, 5000, false || true, LOG_LEVEL_INFO */)) { 

   // For Non-TLS(unsecured) connection - without SSL required
   // if (!client.ConnectUnsecured(url/* , 80, 5000, LOG_LEVEL_INFO */)) {

   // For TLS(secured) connection - with SSL required
   if (!client.ConnectSecured(url/* , 443, 5000, LOG_LEVEL_INFO */)) {
      ZeroHandle();//Cleanup all clients
      return;
   }

   // Send a string message
   client.SendString(msg);

   // Process messages until the script is stopped
   while (true) {
      if (IsStopped())
         break;

      if (client.State() == CLOSED) {
         Print("Socket connection closed");
         //Reconnect?
         //client.ConnectSecured(url/* , 443, 5000, LOG_LEVEL_INFO */)
         //Or break the loop?
         break;
      }

      /*
         NB: You only need one of these functions
      */

      // Receive all messages and process them using their respective On{Message | BinaryMessage | Ping | Pong | Close} callback(handler)
      uint frames = client.OnMessages();

      // Receive messages and process only TEXT frames using the OnMessage callback
      // uint frames = client.OnStringMessages();

      // Receive messages and process only BINARY frames using the OnBinaryMessage callback
      // uint frames = client.OnBinaryMessages();

      if (frames > 0)
         Print("Frames Processed : ", frames);
   }

   // Disconnect from the WebSocket server
   Print("Disconnecting...");

   if (client.Disconnect()) {
      Print("Disconnected!");
   }
   else {
      Print("Failed to disconnect!");
   }

   //Cleanup all clients
   ZeroHandle();
}
//+------------------------------------------------------------------+
void OnMessage(string message) {
   Print(message);
}
//+------------------------------------------------------------------+
void OnPingMessage(string message) {
   Print("ping received:", message);
   if (client.SendPong() > 0) {
      Print("Pong sent successfully.");
   }
   else {
      Print("Failed to send pong.");
   }
}
//Sample Outputs:
//{"result":null,"id":27175}
//Frames Processed : 1
//---
//{"u":35893555769,"s":"BTCUSDT","b":"27812.78000000","B":"7.14299000","a":"27812.79000000","A":"0.81665000"}
//{"u":35893555770,"s":"BTCUSDT","b":"27812.78000000","B":"7.14299000","a":"27812.79000000","A":"0.82309000"}
//{"u":35893555771,"s":"BTCUSDT","b":"27812.78000000","B":"7.14964000","a":"27812.79000000","A":"0.82309000"}
//Frames Processed : 3
//---
//Frames Processed : 1
//ping received: ping
//Pong sent successfully.

Feel free to contact me for support and questions before/after purchase.



Comentarios 5
thomasb892
19
thomasb892 2024.10.23 14:25 
 

This, Native WebSocket library by Racheal Samson is fast, handles secure wss:// connections effortlessly, and can manage large data transfers with ease.

I love that it's fully native to MQL5, with no extra installations required.

What really stood out was the author's quick response and genuine willingness to help, making the experience even smoother. Highly recommend both the library and the excellent support behind it!

Franck
21
Franck 2024.08.13 13:58 
 

Awesome support from Racheal, thanks for your help setting up the library, keep up the great work ;)

David Moffitt
30
David Moffitt 2024.05.28 21:33 
 

Needed some help to work out some kinks with the library and my code. Racheal was quick and attentive to support!

Productos recomendados
MT4/5通用交易库(  一份代码通用4和5 ) #ifdef __MQL5__      #define KOD_TICKET ulong      #define KOD_MAGIC   long #else        #define KOD_TICKET long      #define KOD_MAGIC   int #endif class ODLIST; #import "K Trade Lib Pro 5.ex5"       //祝有个美好开始,运行首行加入    void StartGood() ;    //简单开单    long OrderOpen( int type, double volume, int magic, string symbol= "" , string comment= "" , double opprice= 0 , double sl= 0 , double tp= 0 , int expiration= 0 , bool slsetmode= false , bool tpsetmode= false );    //复杂开单
Utilidad para la gestión automática de pedidos y riesgos. Le permite aprovechar al máximo las ganancias y limitar sus pérdidas. Creado por un comerciante practicante para comerciantes. La utilidad es fácil de usar, funciona con cualquier orden de mercado abierta manualmente por un comerciante o con la ayuda de asesores. Puede filtrar operaciones por número mágico. La utilidad puede trabajar con cualquier número de pedidos al mismo tiempo. Tiene las siguientes funciones: 1. Establecer ni
The Matrix
Omega J Msigwa
Matrix es la base de algoritmos comerciales complejos, ya que lo ayuda a realizar cálculos complejos sin esfuerzo y sin la necesidad de demasiada potencia de cálculo. No hay duda de que Matrix ha hecho posible muchos de los cálculos en las computadoras modernas, ya que todos sabemos que los bits de información son almacenados en forma de matriz en la memoria RAM de nuestra computadora, Al usar algunas de las funciones de esta biblioteca, pude crear robots de aprendizaje automático que podían ace
Introducing "TG Trade Service Manager" — your all-in-one solution for seamless trade management in both MQL4 and MQL5 environments. With a focus on speed, reliability, and convenience, this powerful library simplifies the complexities of trade execution and management, empowering developers with a single interface for enhanced efficiency. Metatrader4 Version   |   All Products   |   Contact   Key Features: Unified Interface : TG Trade Service Manager" provides a unified interface for   MQL4   a
KopierMaschine - локальный копировщик сделок между различными счетами MetaTrader 4 и MetaTrader 5 в любом направлении расположенных на одном компьютере с интуитивно понятным интерфейсом. Направления копирования: MT4 --> MT5 MT4 --> MT4 MT5 --> MT5 MT5 --> MT4 для копирования между терминалами MetaTrader 4 и   MetaTrader   5 необходимо приобрести версию продукта   KopierMaschine  для    MetaTrader  4 Особенности Программа работает в двух режимах Master и Slave На один подчиненный счет можно коп
The Trade Tracker Library is used to automatically detect and display trade levels on custom charts. It is an especially useful add-on for EAs that trade on custom charts in MT5. With the use of this library, the EA users can see trades as they are placed via the EA (Entry, SL & TP levels) in real-time. The header file and two examples of EA skeleton files are attached in the comments section (first comment). The library will automatically detect the tradable symbol for the following custom
1. What is this The MT5 system comes with very few optimization results. Sometimes we need to study more results. This library allows you to output more results during backtest optimization. It also supports printing more strategy results in a single backtest. 2. Product Features The results of the optimized output are quite numerous. CustomMax can be customized. The output is in the Common folder. It is automatically named according to the name of the EA, and the name of the same EA will be au
¡El nivel Premium es un indicador único con más del 80% de precisión de predicciones correctas! ¡Este indicador ha sido probado por los mejores especialistas en comercio durante más de dos meses! ¡El indicador del autor no lo encontrarás en ningún otro lugar! ¡A partir de las capturas de pantalla, puede ver por sí mismo la precisión de esta herramienta! 1 es ideal para operar con opciones binarias con un tiempo de vencimiento de 1 vela. 2 funciona en todos los pares de divisas, accion
Order Book, known also as Market Book, market depth, Level 2, - is a dynamically updated table with current volumes of orders to buy and to sell specific financial instument at price levels near Bid and Ask. MetaTrader 5 provides the means for receiving market book from your broker, but in real time only, without access to its history. The library OrderBook History Library reads market book state in the past from archive files, created by OrderBook Recorder . The library can be embedded into you
Best Tested Pairs :-  Step Index (Also can use on other pairs which spread is lowest) How does the Magic Storm work The Magic Storm will commence only if the Initial Trade becomes a losing trade. In case the initial trade is a profitable one, or has been closed by the trader there is no need for the Magic Stormto be initiated. Let’s assume that the initial trade was a 1 lot buy trade with Recovery Zone Range Pips is 50 and Recovery Zone Exit Pips is 150 pips. The take profit fo
TradePad
Ruslan Khasanov
5 (1)
Una solución simple para operaciones comerciales rápidas y control de posición en múltiples instrumentos comerciales. La interfaz del panel es simple e intuitiva. Para un trabajo cómodo de un comerciante, el panel tiene: administrador de teclas "rápidas", con las que puede administrar todas las operaciones comerciales y períodos de gráficos; una herramienta para marcar los niveles de negociación al colocar órdenes pendientes o de mercado para evaluar los riesgos y las ganancias potenciales al es
Noize Absorption Index - is the manual trading system that measures the difference of pressure between bears forces and bulls forces. Green line - is a noize free index that showing curent situation. Zero value of index shows totally choppy/flat market.Values above zero level shows how powerfull bullish wave is and values below zero measures bearish forces.Up arrow appears on bearish market when it's ready to reverse, dn arrow appears on weak bullish market, as a result of reverse expectation.
Mt5TradeCopier
Mcblastus Gicharu Ndiba
Forex Trade copier MT5.  It copies forex trades, positions, orders from any accounts to any other account,  MT5 even multiple accounts. The unique copying algorithm exactly copies all trades from the master account to your client account. It is also noted for its high operation speed and Tough error handling. It also can copy from demo account to live account too. It is one of the best free trade copiers that can do ,  MT5 or to multiple accounts  MT5 to multiple accounts  Features of Trade Copi
Breakevan Utility
Jose Luis Thenier Villa
BreakEvan Utility  Is a simple tool in a panel with this utilities: This utility will draw a Golden Line in the chart applied showing the breakeven price, considering all the positions opened for that specific symbol. Also the information panel shows: Balance Breakeven Price for that chart Force Breakeven (for that symbol) as ON/OFF Force Breakeven Global (takes into account all trades opened) as ON/OFF Total Lots opened for Symbol Total Lots opened Global And two buttons: Force Breakeven: W
Cloner for MT5
Volodymyr Hrybachov
La utilidad está diseñada para clonar operaciones en su cuenta de operaciones: el programa abre una operación adicional con sus parámetros. Tiene la capacidad de aumentar o disminuir el lote, agregar mucho, cambiar los parámetros de stop loss y take profit. El programa está diseñado para funcionar en "Windows PC" y "Windows VPS".  Buy a cloner and get the second version for free Opciones: CLONE_POSITIONS - qué órdenes clonar; MAGIC_NUMBER - número mágico; DONT_REPEAT_TRADE: si es verdadero,
This is a service used to create custom symbols from an existing symbol by adding D2, D3, D4, W2 and W3 timeframes.  List Symbols (Exp: EURUSD,GBPUSD,XAUUSD) : Declare the list of symbols to create the custom symbols. Example: AUDUSD,EURUSD,EURGPB,XAUUSD. Now the service will create the following custom symbols: AUDUSD_D2, AUDUSD_D3, AUDUSD_D4, AUDUSD_W2, AUDUSD_W3  EURUSD_D2, EURUSD_D3, EURUSD_D4, EURUSD_W2, EURUSD_W3 EURGPB_D2, EURGPB_D3, EURGPB_D4, EURGPB_W2, EURGPB_W3 XAUUSD_D2, XAUUSD_D3, X
Bober Real MT5
Arnold Bobrinskii
4.76 (17)
Bober Real MT5 is a fully automatic Forex trading Expert Advisor. This robot was made in 2014 year and did a lot of profitbale trades during this period. So far over 7000% growth on my personal account. There was many updates but 2019 update is the best one. The robot can run on any instrument, but the results are better with EURGBP, GBPUSD, on the M5 timeframe. Robot doesn't show good results in tester or live account if you run incorrect sets. Set files for Live accounts availible only for c
!! BLACK FRIDAY !!  FOR LIFETIME !! ================== == 35$ ONLY !! == ================== BOOK YOURS NOW !! The Position Manager Contains A Lot of Functions such as; (How to Operate) 1. Adjustable Volume per Trade (You could change the volume as you wish per trade). 2. Adjustable Risk : Reward Ratio (1RR means sacrifice 1 Risk : 1 Reward, 1.5RR, 2RR etc. as you wish) 3. Adjustable Stop Loss Points (Calculated Points as Stop Loss and Automatically adjusted the Risk Reward Ratio) 4. Buy Butt
HiperCube Protector
Adrian Lara Carrasco
¡HiperCube Protector ya está aquí! HiperCube Protector es el limitador de pérdidas más simple y fácil de usar para controlar tu cuenta. Esta herramienta tiene como objetivo proteger tu cuenta en tiempo real. Utiliza una configuración de pérdida máxima o de stop loss. Características: Controla la pérdida por porcentaje o por dinero, según el saldo de tu cuenta Interfaz amigable y elegante para ver los datos en tiempo real Envía notificaciones a Telegram, envía notificaciones a tu aplicación
Write notes directly on the chart and use your observations when trading The option to synchronize  reminders  between  S ymbols allows you to remember important information about the current  market  state Thus , this utility will help you avoid a situation where important information that you noticed earlier was missed when trading . My  #1 Utility : includes 65+ features  |   Contact me  if you have any questions  |   MT4 version Settings: The method of syncing notes : Synchronize between th
Owl Smart Levels MT5
Sergey Ermolov
4.07 (28)
Versión MT4  |  FAQ El Indicador Owl Smart Levels es un sistema comercial completo dentro de un indicador que incluye herramientas de análisis de mercado tan populares como los fractales avanzados de Bill Williams , Valable ZigZag que construye la estructura de onda correcta del mercado y los niveles de Fibonacci que marcan los niveles exactos de entrada. en el mercado y lugares para tomar ganancias. Descripción detallada de la estrategia Instrucciones para trabajar con el indicador Asesor de c
Trading Utility for Forex Currency Pairs Only not for Gold  Functions Auto Lot Calculation based on Risk Auto stoploss  Auto TakeProfit Breakeven Auto Close Half % Close in percentage with respect to the PIPs Pending Orders BuyLimit Sell Limit with distances BuyStop Sell Stop    with distances Trading Informations Risk in percentage For Multiple trades Combine Takeprofit and Combine Stoplosses
El indicador construye cotizaciones actuales, que se pueden comparar con las históricas y, sobre esta base, hacer un pronóstico de movimiento de precios. El indicador tiene un campo de texto para una navegación rápida a la fecha deseada. Opciones: Símbolo - selección del símbolo que mostrará el indicador; SymbolPeriod - selección del período del cual el indicador tomará datos; IndicatorColor - color del indicador; HorisontalShift: cambio de cotizaciones dibujadas por el indicador
Signal Copy Multiplier automatically copies trades on the same account, for example, to get a better entry and adjusted volume on a subscribed signal. MT4-Version:  https://www.mql5.com/de/market/product/67412 MT5-Version:  https://www.mql5.com/de/market/product/67415 You have found a good signal, but the volume of the provider's trades is too small?  With Signal Copy Multiplier you have the possibility to copy trades from any source (Expert Advisor, Signal, manual trades) and change the volume
Short Description: FTMO Protector PRO MT5 is an EA designed to protect your funded account by   managing risk   and ensuring compliance with the   Prop Firm's trading rules . This EA automatically   monitors equity levels ,   closes trades   when   profit targets   or   drawdown limits   are   reached , and provides a visual display of key account metrics. Overview: FTMO Protector PRO MT5 is an  Drawdown Safeguard   Expert Advisor   meticulously crafted for traders participating in   Prop
EnkiSoft Trade Clone EA  new! User description in MQL5 blog You can use it on unlimilted clients for unlimited time! MT4  version download here With   Trade Clone EA   you can trade on multiple MetaTrader 4 and  MetaTrader 5  accounts simultaneously, clone the trades of any trading robot from server account to your friends and family accounts.  Note: All MetaTrader 4 and  MetaTrader 5  must run in same computer, or you need copy the trade file to the Client computer. You can run multip
PipFinite Exit EDGE MT5
Karlo Wilson Vendiola
4.86 (29)
Did You Have A Profitable Trade But Suddenly Reversed? In a solid strategy, exiting a trade is equally important as entering. Exit EDGE helps maximize your current trade profit and avoid turning winning trades to losers. Never Miss An Exit Signal Again Monitor all pairs and timeframes in just 1 chart www.mql5.com/en/blogs/post/726558 How To Trade You can close your open trades as soon as you receive a signal Close your Buy orders if you receive an Exit Buy Signal. Close your Sell orde
EnkiSoft Trade Clone EA User description in MQL5 blog New version 1.57 Read updates MT4  version download here With   Trade Clone EA   you can trade on multiple   MetaTrader 4   and  MetaTrader 5  accounts simultaneously, clone the trades of any trading robot from server account to your friends and family accounts.  Note: All MetaTrader 4 and    MetaTrader 5  must run in same computer, or you need copy the trade file to the Client computer. You can run multiple Trade Clone EA as server, and
The Trendline Trade Panel was created to make it easier to train forex trading skills in backtester and at the same time make it easier to live trade using trendlines with the push of a button. This ea is perfect for beginners who want to learn to trade manually because all of its features are equipped with basic tools for trading forex. Other uses for Trendline Trade Panel: + Can be used to perform recovering loss positions made by other EA or positions that open manually. Fill in magic number
Una de las secuencias numéricas se llama "Secuencia de incendios forestales". Ha sido reconocida como una de las secuencias nuevas más bellas. Su característica principal es que esta secuencia evita tendencias lineales, incluso las más cortas. Es esta propiedad la que formó la base de este indicador. Al analizar una serie de tiempo financiera, este indicador intenta rechazar todas las opciones de tendencia posibles. Y solo si falla, entonces reconoce la presencia de una tendencia y da la señal
Los compradores de este producto también adquieren
The library is dedicated to help manage your trades, calculate lot, trailing, partial close and other functions. Lot Calculation Mode 0: Fixed Lot. Mode 1: Martingale Lot (1,3,5,8,13) you can use it in different way calculate when loss=1 ,when profit=0. Mode 2: Multiplier Lot (1,2,4,8,16) you can use it in different way calculate when loss=1 ,when profit=0. Mode 3: Plus Lot (1,2,3,4,5) you can use it in different way calculate when loss=1 ,when profit=0. Mode 4: SL/Risk Lot calculate based on
WalkForwardOptimizer MT5
Stanislav Korotky
3.86 (7)
WalkForwardOptimizer library allows you to perform rolling and cluster walk-forward optimization of expert advisers (EA) in MetaTrader 5. To use the library include its header file WalkForwardOptimizer.mqh into your EA source code, add call provided functions as appropriate. Once the library is embedded into EA, you may start optimization according to the procedure described in the User guide . When it's finished, intermediate results are saved into a CSV file and some special global variables.
Esta biblioteca le permitirá gestionar operaciones utilizando cualquiera de sus EA y es muy fácil de integrar en cualquier EA, lo que puede hacer usted mismo con el código de secuencia de comandos que se menciona en la descripción y también ejemplos de demostración en video que muestran el proceso completo. - Órdenes de límite de colocación, límite de SL y límite de obtención de ganancias - Realizar órdenes de Mercado, SL-Market, TP-Market - Modificar orden límite - Cancelar orden
MetaCOT 2 CFTC ToolBox MT5
Vasiliy Sokolov
3.67 (3)
MetaCOT 2 CFTC ToolBox is a special library that provides access to CFTC (U.S. Commodity Futures Trading Commission) reports straight from the MetaTrader terminal. The library includes all indicators that are based on these reports. With this library you do not need to purchase each MetaCOT indicator separately. Instead, you can obtain a single set of all 34 indicators including additional indicators that are not available as separate versions. The library supports all types of reports, and prov
This is a simplified and effective version of the library for walk forward analysis of trading experts. It collects data about the expert's trade during the optimization process in the MetaTrader tester and stores them in intermediate files in the "MQL5\Files" directory. Then it uses these files to automatically build a cluster walk forward report and rolling walk forward reports that refine it (all of them in one HTML file). Using the WalkForwardBuilder MT5 auxiliary script allows building othe
Cryptocurrency analysis has never been easier with Crypto Charts for MetaTrader 5. Now, trading on BitMEX has never been easier with BitMEX Trading API for MetaTrader 5. BitMEX Trading API library was built to be as easy to use as possible. Just include the library into your Expert Advisor or Script, call the corresponding methods and start trading! Features Trade on BitMEX and BitMEX Testnet. Build and automate your strategies. Concern more with the trading strategy logic and less with the c
Goliath Mt5
Nicolokondwani Biscaldi
Goliath MT5 - scalper fully automated Expert Advisor for medium-volatile forex markets P roperties: The Library trades 10 currency pairs (USDCHF, EURCHF, EURGBP, AUDUSD, USDCAD, GBPUSD, EURUSD, NZDUSD, CADCHF, EURAUD, EURCAD, AUDJPY) The Library does not use martingale The Library sets a fixed stop loss and take profit for all orders The Library only trades a user input volume The Library can be installed on any currency pair and any timeframe Recommendations: Before using on a real account,
Binance Library
Hadil Mutaqin SE
5 (1)
The library is used to develop automatic trading on Binance Spot Market from MT5 platform. Support all order types: Limit, Market, Stop-Limit and Stop-Market. Support margin trading. Automatically display the chart on the screen. Usage: - Open MQL5 demo account - Move BinanceLib.ex5 from folder \MQL5\Scripts\Market to MQL5\Libraries - Download Header   file and EA sample https://www.mql5.com/en/code/download/34972_260999.zip Copy Binance.mqh header file to folder \MQL5\Include Copy  BinanceEA-
Gold plucking machine   Gold plucking machine is an Expert Advisor designed specifically for trading gold. The operation is based on opening orders using the Fast and Slow lines indicator, thus the EA works according to the "Trend Follow" strategy, which means following the trend. Use grid strategy to place orders without stop loss operation, so please make sure the account has sufficient funds. magic number      -  is a special number that the EA assigns to its orders. Lot Multiplier        -
Gold plucking machine S   Gold plucking machine  S Gold plucking machine S   is an Expert Advisor designed specifically for trading gold. The operation is based on opening orders using the Fast and Slow lines indicator, thus the EA works according to the "Trend Follow" strategy, which means following the trend. Use grid strategy to place orders without stop loss operation, so please make sure the account has sufficient funds. magic number        -  is a special number that the EA assigns to its
The library is used to develop automatic trading on Binance Futures Market from MT5 platform. Support all order types: Limit, Market, Stop-Limit, Stop-Market , StopLoss and TakeProfit. Automatically display the chart on the screen. Usage: - Open MQL5 demo account - Move BinanceFuturesLib.ex5 from folder \MQL5\Scripts\Market to MQL5\Libraries -  Download Header file and EA sample https://www.mql5.com/en/code/download/34976_252386.zip Copy BinanceFutures.mqh header file to folder \MQL5\Include C
If you're a trader looking to use Binance.com and Binance.us exchanges directly from your MetaTrader 5 terminal, you'll want to check out Binance Library MetaTrader 5. This powerful tool allows you to trade all asset classes on both exchanges, including Spot, USD-M   and COIN-M futures, and includes all the necessary functions for trading activity. With Binance Library MetaTrader 5, you can easily add instruments from Binance to the Symbols list of MetaTrader 5, as well as obtain information ab
AO Core
Andrey Dik
3 (2)
AO Core is the core of the optimization algorithm, it is a library built on the author's HMA (hybrid metaheuristic algorithm) algorithm. Pay attention to the MT5 Optimization Booster product , which makes it very easy to manage the regular MT5 optimizer . An example of using AO Core is described in the article: https://www.mql5.com/ru/articles/14183 https://www.mql5.com/en/blogs/post/756510 This hybrid algorithm is based on a genetic algorithm and contains the best qualities and properties of
EA Toolkit
Esteban Thevenon
EA Toolkit   is a library that allows any developer to quickly and easily program Advisor experts. It includes many functions and enumerations such as trailing stop, lot, stop loss management, market trading authorisations, price table updates, trading conditions and many more. Installation + Documentation : You will find all the information to install this library and the documentation of its functions on this GitHub : https://github.com/Venon282/Expert-Advisor-Toolkit WARNING : The installa
This is standard library built for flexible neural Networks with performance in mind. Calling this Library is so simple and takes few lines of code:    matrix Matrix = matrix_utils.ReadCsv( "Nasdaq analysis.csv" );       matrix x_train, x_test;    vector y_train, y_test;         matrix_utils.TrainTestSplitMatrices(Matrix,x_train,y_train,x_test,y_test, 0.7 , 42 );    reg_nets = new CRegressorNets(x_train,y_train,AF_RELU_,HL, NORM_MIN_MAX_SCALER); //INitializing network       reg_nets.RegressorN
Hello everyone! I am a professional MQL programmer , Making EAs, Indicators and Trading Tools for my clients all over the world. I build 3-7 programs every week but I seldomly sell any ready-made Robots. Because I am fastidious and good strategy is so few...  this EA is the only one so far I think its good enough to be published here.  As we all know, the Ichimoku indicator has become world popular for decades, but still, only few people knows the right way of using it, and if we check the cl
Applying these methods, I managed to arrive at a nuanced conclusion that is crucial to understanding the importance of unique strategies in contemporary trading. Although the neural network advisor showed impressive efficiency in the initial stages, it proved to be highly unstable in the long run. Various factors such as market fluctuations, trend changes, external events, etc. cause its operation to be chaotic and eventually lead to instability. With these experiences, I accepted the challenge
Introducing "TG Risk Service Manager" — your comprehensive toolkit for swift and precise risk management and lot size calculations in the dynamic world of trading. Designed to streamline development processes and enhance trading strategies, this indispensable library equips developers with essential tools for optimizing risk assessment and trade profitability. Metatrader4 Version |  All Products  |  Contact   Key Features: Efficient Lot Size Calculation : Harness the power of precise lot size
This is an EXPERT with a FOCUS on LEARNING and PROFESSIONAL DEVELOPMENT!!! The idea of this product is to commercialize the source code, allowing those who want to develop their own robots, or start a professional activity developing customized experts, to have a reference source code that helps them in the learning and development process. This source code will be increased, that is, new functionalities will be created, thus allowing the project to continue evolving. For every 10 sales a new v
La siguiente biblioteca se ofrece como un medio para utilizar las API de OpenAI directamente en MetaTrader de la manera más sencilla posible. Para obtener más detalles sobre las capacidades de la biblioteca, lea el siguiente artículo: https://www.mql5.com/en/blogs/post/756098 The files needed to use the library can be found here: Manual IMPORTANTE: Para usar el EA, es necesario añadir la siguiente URL para permitir el acceso a la API de OpenAI  como se muestra en las imágenes adjuntas Para utili
Nmt5
Liang Qi Quan
这段代码是一个简单的交易专家顾问(Expert Advisor)示例,主要功能如下: 使用两个移动平均线(MA)作为交易信号: 快速MA(FastMA)和慢速MA(SlowMA) 初始化函数(OnInit): 创建两个MA指标句柄 设置数组为时间序列模式 清理函数(OnDeinit): 释放指标句柄,防止内存泄漏 主要交易逻辑(OnTick): 获取最新的MA值 判断趋势和交易信号 在无持仓时执行交易 交易规则: 上升趋势+买入信号时开多单 下降趋势+卖出信号时开空单 使用固定的止损和止盈点数 风险管理: 使用输入参数设置交易手数、止损和止盈 每次只允许一个持仓(inTrade变量) 使用MQL5的Trade库进行交易操作,简化了下单过程 这个EA适合初学者学习,展示了基本的EA结构和简单的交易策略实现方法。但在实际使用前,还需要进行更多的测试和优化。
The library is dedicated to help manage your trades, calculate lot, trailing, partial close and other functions. Lot Calculation Mode 0: Fixed Lot. Mode 1: Martingale Lot (1,3,5,8,13) you can use it in different way calculate when loss=1 ,when profit=0. Mode 2: Multiplier Lot (1,2,4,8,16) you can use it in different way calculate when loss=1 ,when profit=0. Mode 3: Plus Lot (1,2,3,4,5) you can use it in different way calculate when loss=1 ,when profit=0. Mode 4: SL/Risk Lot calculate based on
WalkForwardOptimizer MT5
Stanislav Korotky
3.86 (7)
WalkForwardOptimizer library allows you to perform rolling and cluster walk-forward optimization of expert advisers (EA) in MetaTrader 5. To use the library include its header file WalkForwardOptimizer.mqh into your EA source code, add call provided functions as appropriate. Once the library is embedded into EA, you may start optimization according to the procedure described in the User guide . When it's finished, intermediate results are saved into a CSV file and some special global variables.
Native Websocket
Racheal Samson
5 (5)
An   easy to use, fast,  asynchronous   WebSocket library  for MQL5. It supports: ws://   and   wss://  (Secure "TLS" WebSocket) text   and   binary   data It handles: fragmented message  automatically (large data transfer) ping-pong   frames  automatically (keep-alive handshake) Benefits: No DLL required. No OpenSSL installation required. Up to 128 WebSocket Connections from a single program. Various Log Levels for error tracing Can be synchronized to MQL5 Virtual Hosting . Completely native to
Esta biblioteca le permitirá gestionar operaciones utilizando cualquiera de sus EA y es muy fácil de integrar en cualquier EA, lo que puede hacer usted mismo con el código de secuencia de comandos que se menciona en la descripción y también ejemplos de demostración en video que muestran el proceso completo. - Órdenes de límite de colocación, límite de SL y límite de obtención de ganancias - Realizar órdenes de Mercado, SL-Market, TP-Market - Modificar orden límite - Cancelar orden
GetFFEvents MT5 I tester capability
Hans Alexander Nolawon Djurberg
Want to get all events like Previous/Forecast/Actual values for each news to analyze/predict it? By this simple library you can do it easily,Just import/integrate the library into your system,then get all possible values for each news   Even In Strategy Tester   . Note: Please add the address " https://www.forexfactory.com/ " of news feed at your MT5 tab > Tools > Options > Expert Advisors > Check Allow web request for listed URL. Since the WebRequest() function can't be called from indicator ba
MetaCOT 2 CFTC ToolBox MT5
Vasiliy Sokolov
3.67 (3)
MetaCOT 2 CFTC ToolBox is a special library that provides access to CFTC (U.S. Commodity Futures Trading Commission) reports straight from the MetaTrader terminal. The library includes all indicators that are based on these reports. With this library you do not need to purchase each MetaCOT indicator separately. Instead, you can obtain a single set of all 34 indicators including additional indicators that are not available as separate versions. The library supports all types of reports, and prov
This is a simplified and effective version of the library for walk forward analysis of trading experts. It collects data about the expert's trade during the optimization process in the MetaTrader tester and stores them in intermediate files in the "MQL5\Files" directory. Then it uses these files to automatically build a cluster walk forward report and rolling walk forward reports that refine it (all of them in one HTML file). Using the WalkForwardBuilder MT5 auxiliary script allows building othe
Cryptocurrency analysis has never been easier with Crypto Charts for MetaTrader 5. Now, trading on BitMEX has never been easier with BitMEX Trading API for MetaTrader 5. BitMEX Trading API library was built to be as easy to use as possible. Just include the library into your Expert Advisor or Script, call the corresponding methods and start trading! Features Trade on BitMEX and BitMEX Testnet. Build and automate your strategies. Concern more with the trading strategy logic and less with the c
Teclado trader, é uma BIBLIOTECA que você pode chamar no OnChartEvent para abrir posição de compra/venda/zerar, os botões padrões são: V = venda C = compra Z = zerar posições a mercado S = zerar posições opostas e depois a mercado X = zerar posições opostas Além da função de teclado, é possível mostrar os estados do ExpertAdvisor usando o MagicId, com informação de: lucro mensal, semanal, diario, e posição aberta, para isto use o OnTick, ou qualquer outro evento (OnTimer / OnTrade / OnBookEv
Filtro:
thomasb892
19
thomasb892 2024.10.23 14:25 
 

This, Native WebSocket library by Racheal Samson is fast, handles secure wss:// connections effortlessly, and can manage large data transfers with ease.

I love that it's fully native to MQL5, with no extra installations required.

What really stood out was the author's quick response and genuine willingness to help, making the experience even smoother. Highly recommend both the library and the excellent support behind it!

Racheal Samson
1495
Respuesta del desarrollador Racheal Samson 2024.10.23 15:17
Thanks for the rating, highly appreciated.
Franck
21
Franck 2024.08.13 13:58 
 

Awesome support from Racheal, thanks for your help setting up the library, keep up the great work ;)

Racheal Samson
1495
Respuesta del desarrollador Racheal Samson 2024.08.13 13:59
I'm glad to be of help, it's what you paid for. I'm always here to help.
David Moffitt
30
David Moffitt 2024.05.28 21:33 
 

Needed some help to work out some kinks with the library and my code. Racheal was quick and attentive to support!

Racheal Samson
1495
Respuesta del desarrollador Racheal Samson 2024.05.29 00:58
Thanks for the rating, the words are premium and highly appreciated.
Erik Stabij
43
Erik Stabij 2024.01.24 22:08 
 

The library works well and Racheal was very helpfull!

Racheal Samson
1495
Respuesta del desarrollador Racheal Samson 2024.01.24 22:10
I'm always happy to help. Will be here for you anytime. Thanks for the rating :D
helk3rn
249
helk3rn 2024.01.16 15:23 
 

works good, thx

Racheal Samson
1495
Respuesta del desarrollador Racheal Samson 2024.01.16 16:59
Thanks for the rating, I'm always here to help.
Respuesta al comentario
Versión 1.417 2024.10.01
Renamed OnStringMessage => OnStringMessages
Renamed OnBinaryMessage => OnBinaryMessages
Versión 1.416 2024.10.01
Renamed OnReceiveString => OnStringMessage
Renamed OnReceiveBinary => OnBinaryMessage
Versión 1.415 2024.10.01
Fixed minor callback bug
Versión 1.414 2024.10.01
Fixed minor bug
Versión 1.413 2024.10.01
Improved Logging
Added ConnectSecured()
Added ConnectUnsecured()

Added SetOnMessageHandler()
Added SetOnPingHandler()
Added SetOnPongHandler()
Added SetOnCloseHandler()
Added OnMessage()

Automatically send Pong when PingHandler is not set with SetOnPingHandler

OnMessage:-
This method is responsible for reading and processing incoming WebSocket messages, and invoking the appropriate handlers based on the message type, e.g PingHandler for Ping messages.
Versión 1.395 2024.09.29
Fixed buggy Handshake for Insecure Websocket Connection.
Versión 1.39 2024.08.13
Logger Bug fixed
Versión 1.38 2024.08.13
Minor improvement
Versión 1.37 2024.08.13
Better Log Operation
Versión 1.36 2024.08.13
Minor bugfix
Versión 1.35 2024.08.12
Fixed MQL Callback bug
Switched to Class
Updated example
Versión 1.32 2024.08.10
Recompiled on a newer version.
Versión 1.3 2024.03.04
Fix issue confirming non-compliant "Sec-Websocket-Accept:"(instead of "Sec-WebSocket-Accept:") connection
Versión 1.2 2024.01.24
Minor improvement
Versión 1.1 2024.01.15
Fixed an error 493 error that occurs when there's a lag between the client and the host server