• 概述
  • 评论 (5)
  • 评论 (23)
  • 新特性

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.



评论 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!

推荐产品
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 );    //复杂开单
用於自動訂單和風險管理的實用程序。讓您從利潤中獲得最大收益並限制您的損失。由執業交易員為交易員創建。該實用程序易於使用,適用於交易者手動打開的任何市場訂單或在顧問的幫助下。可以按幻數過濾交易。該實用程序可以同時處理任意數量的訂單。 具有以下功能: 1. 設置止損和止盈水平; 2. 通過追踪止損位平倉; 3. 設定盈虧平衡水平。 該實用程序可以: 1. 分別處理每個訂單(為每個訂單單獨設置級別) 2. 處理一籃子單向訂單(所有訂單的水平設置相同,買入和賣出分開) 3. 處理一籃子多向訂單(所有訂單的級別都設置為通用的,BUY 和 SELL 一起) 選項: STOPLOSS - 如果不使用 =-1,則以點為單位止損; TAKEPROFIT - 以點為單位獲利,不與 -1 一起使用; TRAILING_STOP - 價格變動的點數,如果不使用 =-1; TRAILING_STEP - 每一步利潤將增加的點數; BREAKEVEN_STOP - 將訂單轉移到盈虧平衡點的點數,如果不使用 =-1; BREAKEVEN_ST
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. 这是什么 MT5系统自带的优化结果非常少,有时候我们需要研究更多的结果,这个库可以让你在回测优化时可以输出更多的结果。也支持在单次回测时打印更多的策略结果。 2. 产品特色 优化的输出的结果非常多。 可以自定义CustomMax。 输出结果在Common文件夹。 根据EA名称自动命名,且同一个EA多次回测会自动更新名称,不会覆盖上一次的结果。 函数非常简单,你一眼就可以看懂。 #import "More BackTest Results.ex5" // Libraries Folder, Download from the market. //---Set CustomMax void iSetCustomMax( string mode); //---Display multiple strategy results when backtesting alone (not opt). void iOnDeinit(); //--- void iOnTesterInit(); double iOnTester(); void iOnTesterPass( string lang
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
Ekaterina Saltykova
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
该工具旨在克隆你交易账户上的交易--程序用你的参数开立一个额外的交易。它能够增加或减少手数,增加一个手数,改变止损和止盈参数,该程序被设计为在 "Windows PC "和 "Windows VPS "上工作。  Buy a cloner and get the second version for free 参数。 CLONE_POSITIONS - 要克隆哪些订单。 MAGIC_NUMBER - 神奇的数字。 DONT_REPEAT_TRADE - 如果为真,交易在手动平仓后不会被重复。 REVERSE_COPY - 反向复制,例如打开SELL而不是BUY。 LOT_MULTIPLIER - 来自PROVIDER账户的数量复制率;如果=0,则以FIXED_LOT中指定的批次进行复制。 PLUS_LOT, MINUS_LOT - 加号和减号地段。 MAXIMUM_LOT - 最大的手数。 FIXED_LOT - 固定地段。 SYNCHRONIZE_STOPS - 如果为真,关闭的订单、TP和SL水平将与PROVIDER账户同步。 STOPLOSS, TAKEPROFIT -
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版本  |   FAQ Owl Smart Levels Indicator 是一個完整的交易系統,包含 Bill Williams 的高級分形、構建正確的市場波浪結構的 Valable ZigZag 以及標記準確入場水平的斐波那契水平等流行的市場分析工具 進入市場和地方獲利。 策略的详细说明 指示灯使用说明 顾问-贸易猫头鹰助手助理 私人用户聊天 ->购买后写信给我,我会将您添加到私人聊天中,您可以在那里下载所有奖金 力量在於簡單! Owl Smart Levels 交易系統非常易於使用,因此適合專業人士和剛開始研究市場並為自己選擇交易策略的人。 策略和指標中沒有隱藏的秘密公式和計算方法,所有策略指標都是公開的。 Owl Smart Levels 允許您快速查看進入交易的信號,突出顯示下訂單的水平並向您發送有關已出現信號的通知。 優點很明顯: 清楚地顯示主要和更高時間框架的趨勢方向。 指示儀器信號的出現。 標記開單、止損設置和固定利潤的水平。 沒有多餘的,只有必要的結構! ZigZag 表示全球趨勢的方向,因此也表示貿易方向。 市場反轉點的短線清楚地表明在什麼水平上構建斐波
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)
MT5 交易复印机是 МetaТrader 5 平台的交易复印机 。 它复制外汇交易 之间   任何账户 MT5   -   MT5, MT4   -   MT5 对于 COPYLOT MT5 版本(或 MT4   - MT4 MT5   -   MT4 对于 COPYLOT MT4 版本) 值得信赖的复印机! MT4版本 详细描述   +DEMO +PDF 如何购买 如何安装     如何获取日志文件     如何测试和优化     Expforex 的所有产品 您还可以在 МТ4 终端 (   МТ4   -   МТ4, МТ5   -   МТ4   ) 中 复制交易: COPYLOT CLIENT for MT4 此版本包括在终端 МТ5   -   МТ5, МТ4   -   МТ5 之间 。 交易复制器用于在 2/3/10 终端之间复制交易/头寸。 支持从模拟账户和投资账户复制。 该程序可以在多个终端绑定上运行。 使用它作为您在一个账户上交易的各种投资者账户的交易的同步器, - COPYLOT 会将您的交易复制到其他终端。 从 多个 终端复制到一个; 从一
该指标建立当前报价,可以与历史报价进行比较,并在此基础上进行价格走势预测。指示器有一个文本字段,用于快速导航到所需日期。 选项: 符号 - 选择指标将显示的符号; SymbolPeriod - 选择指标从中获取数据的时段; IndicatorColor - 指示器颜色; HorisontalShift - 由指标绘制的报价移动指定的柱数; Inverse - true 反转引号,false - 原始视图; ChartVerticalShiftStep - 图表垂直移动(键盘上的向上/向下箭头); 接下来是文本字段的设置,您可以在其中输入日期,您可以通过按“回车”立即跳转到该日期。 接下来是文本字段的设置,您可以在其中输入日期,您可以通过按“回车”立即跳转到该日期。
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 是一个完全自动化的交易顾问,不使用鞅。夜间剥头皮策略。 RSI 指标和 ATR 过滤器用作输入。顾问需要对冲账户类型。 可以在此处找到对实际工作以及我的其他发展的监控: https://www.mql5.com/en/users/mechanic/seller 一般建议 最低入金 100 美元,使用点差最小的 ECN 账户,默认设置为 eurusd M5 gmt + 3。 输入参数 EA 适用于四位数和五位数报价。在输入参数中,我们以点为单位表示5个字符的值,它会自动按4个字符重新计算所有内容。 NewCycle - 模式开启时,顾问工作不停止,模式关闭时,完成一系列交易后,顾问不会开新订单; 周期指标1 - 第一个指标的周期; Up level - 第一个指标的上限,顾问将在其上方打开卖出; Down Level - 第一个指标的较低水平,低于该水平 EA 将开始买入; Period indicator2 - 第二个指标的周期; From - 第二个指标值范围的下限,EA 允许在该范围内建仓; To - 第二个指标值范围的上
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
其中一个数字序列称为“森林火灾序列”。它被公认为最美丽的新序列之一。它的主要特点是该序列避免了线性趋势,即使是最短的趋势。正是这一属性构成了该指标的基础。 在分析金融时间序列时,该指标试图拒绝所有可能的趋势选项。只有当他失败时,他才会认识到趋势的存在并给出适当的信号。这种方法可以让人们正确地确定新趋势开始的时刻。然而,误报也是可能的。为了减少它们的数量,该指标添加了一个额外的过滤器。当新柱打开时会生成信号。在任何情况下都不会发生重绘。 指标参数: Applied Price   - 应用价格常数; Period Main   - 指标的主要周期,其有效值在 5 - 60 之间; Period Additional   - 附加周期,此参数的有效值为 5 - 40; Signal Filter   - 附加信号滤波器,有效值 0 - 99; Alerts   - 启用后,指示器会在出现新信号时提醒您; Send Mail   - 允许指标向电子邮件发送消息; Push   - 允许您发送 Push 消息。
该产品的买家也购买
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.
该库将允许您使用任何 EA 来管理交易,并且非常容易集成到任何 EA 上,您可以使用描述中提到的脚本代码以及显示完整过程的视频演示示例自行完成。 - 下限价、止损限价和止盈限价订单 - 下达市场订单、SL 市场订单、TP 市场订单 - 修改限价订单 - 取消订单 - 查询订单 - 更改杠杆、保证金 - 获取位置信息 和更多... 租赁加密货币图表是可选的,除非您的 MT5 上没有币安图表。 对于脚本演示:单击此处 如果您想与交易面板进行交易,您可能对此产品感兴趣 该产品是加密图表的插件 该库将允许您使用任何 EA 来管理交易,并且非常容易集成到任何 EA 上,您可以使用描述中提到的脚本代码以及显示完整过程的视频演示示例自行完成。 - 下限价、止损限价和止盈限价订单 - 下达市场订单、SL 市场订单、TP 市场订单 - 修改限价订单 - 取消订单 - 查询订单 - 更改杠杆、保证金 - 获取位置信息 和更多... 租赁加密货币图表是可选的,除非您的 MT5 上
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 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
OpenAI Library MT5
VitalDefender Inc.
该库旨在提供一种尽可能简单的方法,直接在MetaTrader上使用OpenAI的API。 要深入了解库的潜力,请阅读以下文章: https://www.mql5.com/en/blogs/post/756098 The files needed to use the library can be found here: Manual 重要提示:要使用EA,需要添加以下URL以允许访问OpenAI API  如附图所示 要使用该库,需要包含以下Header,您可以在以下链接找到:  https://www.mql5.com/en/blogs/post/756108 #import "StormWaveOpenAI.ex5" COpenAI *iOpenAI(string); CMessages *iMessages(void); CTools *iTools(void); #import 这就是您需要的所有信息,以便轻松使用该库。 以下是如何轻松使用该库并与OpenAI的API交互的示例 #include <StormWaveOpenAI.mqh>       //--- 包含用于A
Nmt5
Liang Qi Quan
这段代码是一个简单的交易专家顾问(Expert Advisor)示例,主要功能如下: 使用两个移动平均线(MA)作为交易信号: 快速MA(FastMA)和慢速MA(SlowMA) 初始化函数(OnInit): 创建两个MA指标句柄 设置数组为时间序列模式 清理函数(OnDeinit): 释放指标句柄,防止内存泄漏 主要交易逻辑(OnTick): 获取最新的MA值 判断趋势和交易信号 在无持仓时执行交易 交易规则: 上升趋势+买入信号时开多单 下降趋势+卖出信号时开空单 使用固定的止损和止盈点数 风险管理: 使用输入参数设置交易手数、止损和止盈 每次只允许一个持仓(inTrade变量) 使用MQL5的Trade库进行交易操作,简化了下单过程 这个EA适合初学者学习,展示了基本的EA结构和简单的交易策略实现方法。但在实际使用前,还需要进行更多的测试和优化。
这是一个可以定时自动交易的EA。根据你设定的时间,精确到秒,可以设置最多下几单。下单buy或者Sell.可以设置值止盈止损点。并且可以设定在下单后多久平仓。一般都是用来做事件。祝你好运。 请看图片自己根据设定来使用。每一次使用请重新加载EA。不用的时候记得关闭EA按钮。 我来举个例子。比如英国央行利率决议。你在最后两秒下单。因为可能瞬间点差扩大,你可能不敢直接下最大手数,所以你可以选择小手分批从最后5秒开始进场。我相信做过的人知道我说的意思。因为我专业做这个已经十年。最近才做出了这个自动化EA。并且这里面有个检测就是你点击开始之后如果超过了你设定的时间十秒他就不会执行了。保证你的安全。你自己用DEMO账户测试几次你就知道我这个有多好用了!
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.
该库将允许您使用任何 EA 来管理交易,并且非常容易集成到任何 EA 上,您可以使用描述中提到的脚本代码以及显示完整过程的视频演示示例自行完成。 - 下限价、止损限价和止盈限价订单 - 下达市场订单、SL 市场订单、TP 市场订单 - 修改限价订单 - 取消订单 - 查询订单 - 更改杠杆、保证金 - 获取位置信息 和更多... 租赁加密货币图表是可选的,除非您的 MT5 上没有币安图表。 对于脚本演示:单击此处 如果您想与交易面板进行交易,您可能对此产品感兴趣 该产品是加密图表的插件 该库将允许您使用任何 EA 来管理交易,并且非常容易集成到任何 EA 上,您可以使用描述中提到的脚本代码以及显示完整过程的视频演示示例自行完成。 - 下限价、止损限价和止盈限价订单 - 下达市场订单、SL 市场订单、TP 市场订单 - 修改限价订单 - 取消订单 - 查询订单 - 更改杠杆、保证金 - 获取位置信息 和更多... 租赁加密货币图表是可选的,除非您的 MT5 上
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
筛选:
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
来自开发人员的回复 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
来自开发人员的回复 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
来自开发人员的回复 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
来自开发人员的回复 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
来自开发人员的回复 Racheal Samson 2024.01.16 16:59
Thanks for the rating, I'm always here to help.
回复评论
版本 1.417 2024.10.01
Renamed OnStringMessage => OnStringMessages
Renamed OnBinaryMessage => OnBinaryMessages
版本 1.416 2024.10.01
Renamed OnReceiveString => OnStringMessage
Renamed OnReceiveBinary => OnBinaryMessage
版本 1.415 2024.10.01
Fixed minor callback bug
版本 1.414 2024.10.01
Fixed minor bug
版本 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.
版本 1.395 2024.09.29
Fixed buggy Handshake for Insecure Websocket Connection.
版本 1.39 2024.08.13
Logger Bug fixed
版本 1.38 2024.08.13
Minor improvement
版本 1.37 2024.08.13
Better Log Operation
版本 1.36 2024.08.13
Minor bugfix
版本 1.35 2024.08.12
Fixed MQL Callback bug
Switched to Class
Updated example
版本 1.32 2024.08.10
Recompiled on a newer version.
版本 1.3 2024.03.04
Fix issue confirming non-compliant "Sec-Websocket-Accept:"(instead of "Sec-WebSocket-Accept:") connection
版本 1.2 2024.01.24
Minor improvement
版本 1.1 2024.01.15
Fixed an error 493 error that occurs when there's a lag between the client and the host server