• Visão global
  • Comentários (5)
  • Discussão (23)
  • O que há de novo

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.



Comentários 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!

Produtos 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 );    //复杂开单
Utilitário para pedidos automáticos e gerenciamento de riscos. Permite tirar o máximo dos lucros e limitar suas perdas. Criado por um trader praticante para traders. O utilitário é fácil de usar, funciona com qualquer ordem de mercado aberta manualmente por um trader ou com a ajuda de consultores. Pode filtrar negociações por número mágico. O utilitário pode trabalhar com qualquer número de pedidos ao mesmo tempo. Tem as seguintes funções: 1. Definir níveis de stop loss e take profit;
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
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
O nível Premium é um indicador único com mais de 80% de precisão nas previsões corretas! Este indicador foi testado pelos melhores Especialistas em Negociação por mais de dois meses! O indicador do autor você não encontrará em nenhum outro lugar! A partir das imagens você pode ver por si mesmo a precisão desta ferramenta! 1 é ótimo para negociar opções binárias com um tempo de expiração de 1 vela. 2 funciona em todos os pares de moedas, ações, commodities, criptomoedas Instruções:
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)
Uma solução simples para operações de negociação rápidas e controle de posição em vários instrumentos de negociação. A interface do painel é simples e intuitiva. Para um trabalho confortável de um trader, o painel tem: gerenciador de teclas de atalho, com as quais você pode gerenciar todas as operações comerciais e períodos de gráfico; uma ferramenta para marcar níveis de negociação ao colocar ordens pendentes ou de mercado para avaliar riscos e lucros potenciais ao definir níveis de Stop Loss/T
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
O utilitário foi concebido para clonar transacções na sua conta de negociação - o programa abre uma transacção adicional com os seus parâmetros. Tem a capacidade de aumentar ou diminuir o lote, adicionar muito, alterar os parâmetros de stoploss e takeprofit, O programa é concebido para funcionar em "Windows PC" e "Windows VPS".  Buy a cloner and get the second version for free Parâmetros: CLONE_POSITIONS - que ordena a clonagem; MAGIC_NUMBER - número mágico; DONT_REPEAT_TRADE - se for verda
This is a service used to 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, XAUUSD_D
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
Owl Smart Levels MT5
Sergey Ermolov
4.07 (28)
Versão MT4  |  FAQ O Indicador Owl Smart Levels é um sistema de negociação completo dentro de um indicador que inclui ferramentas populares de análise de mercado, como fractais avançados de Bill Williams , Valable ZigZag que constrói a estrutura de onda correta do mercado e níveis de Fibonacci que marcam os níveis exatos de entrada no mercado e lugares para obter lucros. Descrição detalhada da estratégia Instruções para trabalhar com o indicador Consultor de negociação Owl Helper Chat privado d
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
O indicador cria cotações atuais, que podem ser comparadas com as históricas e, com base nisso, fazer uma previsão do movimento dos preços. O indicador possui um campo de texto para navegação rápida até a data desejada. Opções: Símbolo - seleção do símbolo que o indicador exibirá; SymbolPeriod - seleção do período do qual o indicador coletará dados; IndicatorColor - cor do indicador; HorisontalShift - deslocamento das cotações desenhadas pelo indicador pelo número especificado de
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
HFTHackerMT5
Thomas Bradley Butler
5 (3)
ESTE VOLTOU À VERSÃO SIMPLES SEM RECUPERAÇÃO DEVIDO À COMPLEXIDADE E CONFUSÃO DOS UTILIZADORES NA OTIMIZAÇÃO. SE COMPROU A VERSÃO ANTERIOR ABAIXO DE 15 COM RECUPERAÇÃO ENTÃO NÃO UTILIZE 15. TENHO DE DECIDIR ENTRE A VENDA E O FEEDBACK DOS UTILIZADORES. SE FOR MUITO COMPLEXO OS UTILIZADORES NÃO O UTILIZARÃO. OTIMIZE EA ANTES DE TESTAR E UTILIZAR. SÓ COMPRE SE TIVER OTIMIZADO. Isto é para traders que sabem como otimizar e desejam ser rentáveis ​​por mérito próprio. VOCÊ DEFINE OS SEUS PARÂMETROS
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
Uma das sequências numéricas é chamada de "Forest Fire Sequence". Foi reconhecida como uma das mais belas novas sequências. Sua principal característica é que essa sequência evita tendências lineares, mesmo as mais curtas. É esta propriedade que formou a base deste indicador. Ao analisar uma série temporal financeira, este indicador tenta rejeitar todas as opções de tendência possíveis. E somente se ele falhar, ele reconhece a presença de uma tendência e dá o sinal apropriado. Esta abordagem pe
Os compradores deste produto também adquirem
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 permitirá que você gerencie negociações usando qualquer um de seus EA e é muito fácil de integrar em qualquer EA que você mesmo pode fazer com o código de script mencionado na descrição e também exemplos de demonstração em vídeo que mostram o processo completo. - Pedidos Place Limit, SL Limit e Take Profit Limit - Ordens Place Market, SL-Market, TP-Market - Modificar ordem de limite - Cancelar pedido - Consulta de pedidos - Mudança de alavancagem, margem - Ob
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
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
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
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
Este é um EXPERT com FOCO em APRENDIZAGEM  e DESENVOLVIMENTO PROFISSIONAL !!! A ideia deste produto é comercialiar o código-fonte, permitindo que aqueles que querem desenvolver seus próprios robôs, ou iniciar uma atividade profissional de desenvolvimento de experts customizados tenham um código-fonte de referência que os ajude no processo de aprendizagem e desenvolvimento. Este código-fonte será incrementado, ou seja, novas funcionalidades serão criadas, permitindo assim que o projeto continue
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结构和简单的交易策略实现方法。但在实际使用前,还需要进行更多的测试和优化。
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 permitirá que você gerencie negociações usando qualquer um de seus EA e é muito fácil de integrar em qualquer EA que você mesmo pode fazer com o código de script mencionado na descrição e também exemplos de demonstração em vídeo que mostram o processo completo. - Pedidos Place Limit, SL Limit e Take Profit Limit - Ordens Place Market, SL-Market, TP-Market - Modificar ordem de limite - Cancelar pedido - Consulta de pedidos - Mudança de alavancagem, margem - Ob
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
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
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
1493
Resposta do desenvolvedor 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
1493
Resposta do desenvolvedor 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
1493
Resposta do desenvolvedor 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
1493
Resposta do desenvolvedor 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
1493
Resposta do desenvolvedor Racheal Samson 2024.01.16 16:59
Thanks for the rating, I'm always here to help.
Responder ao comentário
Versão 1.417 2024.10.01
Renamed OnStringMessage => OnStringMessages
Renamed OnBinaryMessage => OnBinaryMessages
Versão 1.416 2024.10.01
Renamed OnReceiveString => OnStringMessage
Renamed OnReceiveBinary => OnBinaryMessage
Versão 1.415 2024.10.01
Fixed minor callback bug
Versão 1.414 2024.10.01
Fixed minor bug
Versão 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.
Versão 1.395 2024.09.29
Fixed buggy Handshake for Insecure Websocket Connection.
Versão 1.39 2024.08.13
Logger Bug fixed
Versão 1.38 2024.08.13
Minor improvement
Versão 1.37 2024.08.13
Better Log Operation
Versão 1.36 2024.08.13
Minor bugfix
Versão 1.35 2024.08.12
Fixed MQL Callback bug
Switched to Class
Updated example
Versão 1.32 2024.08.10
Recompiled on a newer version.
Versão 1.3 2024.03.04
Fix issue confirming non-compliant "Sec-Websocket-Accept:"(instead of "Sec-WebSocket-Accept:") connection
Versão 1.2 2024.01.24
Minor improvement
Versão 1.1 2024.01.15
Fixed an error 493 error that occurs when there's a lag between the client and the host server