• Overview
  • Reviews (5)
  • Comments (23)
  • What's new

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.



Reviews 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!

Recommended products
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 );    //复杂开单
Utility for automatic order and risk management. Allows you to take the maximum from profits and limit your losses. Created by a practicing trader for traders. The utility is easy to use, works with any market orders opened manually by a trader or with the help of advisors. Can filter trades by magic number. The utility can work with any number of orders at the same time. Has the following functions: 1. Setting stop loss and take profit levels; 2. Closing trades by trailing stop level
The Matrix
Omega J Msigwa
Matrix is the foundation of complex trading algorithms as it helps you perform complex calculations effortlessly and without the need for too much computation power, It's no doubt that matrix has made possible many of the calculations in modern computers as we all know that bits of information are stored in array forms in our computer memory RAM, Using some of the functions in this library I was able to create machine learning robots that could take on a large number of inputs To use this libra
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
Premium level is a unique indicator with more than 80% accuracy of correct predictions! This indicator has been tested for more than two months by the best Trading Specialists! The author's indicator you will not find anywhere else! From the screenshots you can see for yourself the accuracy of this tool! 1 is great for trading binary options with an expiration time of 1 candle. 2 works on all currency pairs, stocks, commodities, cryptocurrencies Instructions: As soon as the red ar
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
OrderBook History Library
Stanislav Korotky
3 (2)
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
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
The utility is designed to clone trades on your trading account - the program opens an additional deal with your parameters. Has the ability to increase or decrease the lot, add a lot, change the parameters of stoploss and takeprofit, The program is designed to work on "Windows PC" and "Windows VPS".  Buy a cloner and get the second version for free Parameters: CLONE_POSITIONS - what orders to clone; MAGIC_NUMBER - magic number; DONT_REPEAT_TRADE - if true, the trades will not be repeated a
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
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
KP TRADE PANEL EA is an EA MT5 facilitates various menus. KP TRADE PANEL EA is an EA skin care in MT5 is an EA that puts the system automatically in download EA MT5 to test with demo account from my profile page while some Trailing Stop Stop Loss require more than 0 features EA determines lot or money management calculates lot from known and Stop loss TS = Trailing stop with separate stop loss order Buy more AVR TS = Trailing stop plus
Owl Smart Levels MT5
Sergey Ermolov
4.07 (28)
MT4 version  |   FAQ The Owl Smart Levels Indicator is a complete trading system within the one indicator that includes such popular market analysis tools as Bill Williams' advanced fractals , Valable ZigZag which builds the correct wave structure of the market, and Fibonacci levels which mark the exact levels of entry into the market and places to take profits. Detailed description of the strategy Instructions for working with the indicator Advisor-assistant in trading Owl Helper Private User
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
Exp COPYLOT CLIENT for MT5
Vladislav Andruschenko
4.12 (25)
Trade copier for MT5 is a trade copier for the МetaТrader 5 platform. It copies forex trades  between any accounts   MT5 - MT5, MT4 - MT5 for the COPYLOT MT5 version (or MT4 - MT4 MT5 - MT4 for the COPYLOT MT4 version)    Reliable copier!         MT4 version Full Description +DEMO +PDF   How To Buy    How To Install     How to get Log Files    How To Test and Optimize    All products from Expforex You can also copy trades in the МТ4 terminal (МТ4 - МТ4, МТ5 - МТ4):     COPYLOT CLIENT for
The indicator builds current quotes, which can be compared with historical ones and on this basis make a price movement forecast. The indicator has a text field for quick navigation to the desired date. Options: Symbol - selection of the symbol that the indicator will display; SymbolPeriod - selection of the period from which the indicator will take data; IndicatorColor - indicator color; Inverse - true reverses quotes, false - original view; Next are the settings of the te
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 Firm challenges, particular
Hamster Scalping mt5
Ramil Minniakhmetov
4.7 (199)
Hamster Scalping is a fully automated Expert Advisor. Night scalping strategy. The RSI indicator and an ATR-based filter are used for entries. The advisor needs a hedging account type IMPORTANT! Contact me immediately after the purchase to get instructions and a bonus! Real operation monitoring as well as my other products can be found here: https://www.mql5.com/en/users/mechanic/seller General Recommendations The minimum deposit is $100, use an ECN account with the minimum spread,  default sett
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
One of the number sequences is called "Forest Fire Sequence". It has been recognized as one of the most beautiful new sequences. Its main feature is that this sequence avoids linear trends, even the shortest ones. It is this property that formed the basis of this indicator. When analyzing a financial time series, this indicator tries to reject all possible trend options. And only if he fails, then he recognizes the presence of a trend and gives the appropriate signal. This approach allows one t
Buyers of this product also purchase
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.
This library will allow you to manage trades using any of your EA and its very easy to integrate on any EA which you can do yourself with the script code which is mentioned in description and also demo examples on video which shows the complete process. This product allows trading operations via API For chart : Renting Crypto Charting for OHLC data or Crypto Ticks with Order Book Depth is optional If your EA is HFT and operations on seconds chart, You may be interested in converting charts to se
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
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://drive.google.com/uc?export=download&id=17fWrZFeMZoSvH9-2iv4WDJhcyxG2eW17 Copy BinanceFutures.mqh header fil
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
BitMEX Trading API
Romeu Bertho
5 (1)
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://drive.google.com/uc?export=download&id=1kjUX7Hyy02EiwTLgVi8qdaCNvNzazjln Copy Binance.mqh header file to folder \M
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
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 installatio
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
OpenAI Library MT5
VitalDefender Inc.
The following library is proposed as a means of being able to use the OpenAI API directly on the metatrader, in the simplest way possible. For more on the library's capabilities, read the following article: https://www.mql5.com/en/blogs/post/756098 The files needed to use the library can be found here: Manual IMPORTANT: To use the EA you must add the following URL to allow you to access the OpenAI API as shown in the attached images In order to use the library, you must include the following Hea
Nmt5
Liang Qi Quan
这段代码是一个简单的交易专家顾问(Expert Advisor)示例,主要功能如下: 使用两个移动平均线(MA)作为交易信号: 快速MA(FastMA)和慢速MA(SlowMA) 初始化函数(OnInit): 创建两个MA指标句柄 设置数组为时间序列模式 清理函数(OnDeinit): 释放指标句柄,防止内存泄漏 主要交易逻辑(OnTick): 获取最新的MA值 判断趋势和交易信号 在无持仓时执行交易 交易规则: 上升趋势+买入信号时开多单 下降趋势+卖出信号时开空单 使用固定的止损和止盈点数 风险管理: 使用输入参数设置交易手数、止损和止盈 每次只允许一个持仓(inTrade变量) 使用MQL5的Trade库进行交易操作,简化了下单过程 这个EA适合初学者学习,展示了基本的EA结构和简单的交易策略实现方法。但在实际使用前,还需要进行更多的测试和优化。
Here   is   the   English translation   of   your   description   for   the EA   (Expert   Advisor): --- This   is a   time -based   automatic trading   EA . It allows   you   to   set the   exact   time   for trading , down   to   the   second , and   specify the   maximum number   of   orders . You   can choose   to   place   either   buy   or   sell   orders . It   is possible to   set take   profit and   stop   loss   points . Additionally , you can   specify   how   long after   placing  
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.
This library will allow you to manage trades using any of your EA and its very easy to integrate on any EA which you can do yourself with the script code which is mentioned in description and also demo examples on video which shows the complete process. This product allows trading operations via API For chart : Renting Crypto Charting for OHLC data or Crypto Ticks with Order Book Depth is optional If your EA is HFT and operations on seconds chart, You may be interested in converting charts to se
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
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://drive.google.com/uc?export=download&id=17fWrZFeMZoSvH9-2iv4WDJhcyxG2eW17 Copy BinanceFutures.mqh header fil
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
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
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
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
Filter:
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
1534
Reply from developer 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
1534
Reply from developer 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
1534
Reply from developer 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
1534
Reply from developer 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
1534
Reply from developer Racheal Samson 2024.01.16 16:59
Thanks for the rating, I'm always here to help.
Reply to review
Version 1.417 2024.10.01
Renamed OnStringMessage => OnStringMessages
Renamed OnBinaryMessage => OnBinaryMessages
Version 1.416 2024.10.01
Renamed OnReceiveString => OnStringMessage
Renamed OnReceiveBinary => OnBinaryMessage
Version 1.415 2024.10.01
Fixed minor callback bug
Version 1.414 2024.10.01
Fixed minor bug
Version 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.
Version 1.395 2024.09.29
Fixed buggy Handshake for Insecure Websocket Connection.
Version 1.39 2024.08.13
Logger Bug fixed
Version 1.38 2024.08.13
Minor improvement
Version 1.37 2024.08.13
Better Log Operation
Version 1.36 2024.08.13
Minor bugfix
Version 1.35 2024.08.12
Fixed MQL Callback bug
Switched to Class
Updated example
Version 1.32 2024.08.10
Recompiled on a newer version.
Version 1.3 2024.03.04
Fix issue confirming non-compliant "Sec-Websocket-Accept:"(instead of "Sec-WebSocket-Accept:") connection
Version 1.2 2024.01.24
Minor improvement
Version 1.1 2024.01.15
Fixed an error 493 error that occurs when there's a lag between the client and the host server