2026-04-28 11:04:57 -05:00 | | | //+------------------------------------------------------------------+
|
2026-04-27 22:49:28 -05:00 | | | //| Mt5Mcp.mq5 |
|
| | | //| Copyright 2026, Niquel Mendoza. |
|
| | | //| https://www.mql5.com/es/users/nique_372 |
|
| | | //+------------------------------------------------------------------+
|
| | | #property copyright "Copyright 2026, Niquel Mendoza."
|
| | | #property link "https://www.mql5.com/es/users/nique_372"
|
| | | #property version "1.00"
|
2026-04-28 11:04:57 -05:00 | | | #property strict
|
| | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| Include |
|
| | | //+------------------------------------------------------------------+
|
| | | #include "All.mqh"
|
| | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| Inputs |
|
| | | //+------------------------------------------------------------------+
|
| | | input string InpSoketAdres = "127.0.0.1";
|
| | | input uint InpSoketPort = 9999;
|
| | | input int InpMsPool = 10000;
|
| | | input int InpMsTimeoutReadNoTls = 10000;
|
| | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| Global variables |
|
| | | //+------------------------------------------------------------------+
|
| | | CMcpServer g_mcp_server;
|
| | | CTrade g_trade;
|
| | |
|
2026-04-27 22:49:28 -05:00 | | | //+------------------------------------------------------------------+
|
| | | //| Expert initialization function |
|
| | | //+------------------------------------------------------------------+
|
| | | int OnInit()
|
2026-04-28 11:04:57 -05:00 | | | {
|
2026-04-27 22:49:28 -05:00 | | | //---
|
2026-04-28 11:04:57 -05:00 | | | ::EventSetMillisecondTimer(InpMsPool);
|
| | | g_mcp_server.AddLogFlags(LOG_ALL);
|
| | |
|
| | | //--- Graphics / Objects
|
| | | g_mcp_server.AddItemFast(new CMcpFuncObjectCreate());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncObjectDelete());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncObjectInteger());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncObjectDouble());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncObjectString());
|
| | |
|
| | | //--- Charts
|
| | | g_mcp_server.AddItemFast(new CMcpFuncChartList());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncChartOpen());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncChartClose());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncChartGetInteger());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncChartGetDouble());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncChartRedraw());
|
| | |
|
| | | //--- Data / Symbol
|
| | | g_mcp_server.AddItemFast(new CMcpFuncSymbolsTotal());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncSymbolSelect());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncSymbolInfoDouble());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncSymbolInfoInteger());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncSymbolInfoString());
|
| | |
|
| | | //--- Data / Market Data
|
| | | g_mcp_server.AddItemFast(new CMcpFuncCopyOpen());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncCopyHigh());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncCopyLow());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncCopyClose());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncCopyTickVolume());
|
| | |
|
| | | //--- Trade / Positions
|
| | | g_mcp_server.AddItemFast(new CMcpFuncPositionList());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncPositionGetDouble());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncPositionGetInteger());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncPositionGetString());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncPositionClose(&g_trade));
|
| | | g_mcp_server.AddItemFast(new CMcpFuncPositionModify(&g_trade));
|
| | |
|
| | | //--- Trade / Orders
|
| | | g_mcp_server.AddItemFast(new CMcpFuncOrderList());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncOrderClose(&g_trade));
|
| | | g_mcp_server.AddItemFast(new CMcpFuncOrderModify(&g_trade));
|
| | | g_mcp_server.AddItemFast(new CMcpFuncOrderGetDouble());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncOrderGetInteger());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncOrderGetString());
|
| | |
|
| | | //--- Trade / Deals
|
| | | g_mcp_server.AddItemFast(new CMcpFuncHistoryDealList());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncHistoryDealGetDouble());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncHistoryDealGetInteger());
|
| | | g_mcp_server.AddItemFast(new CMcpFuncHistoryDealGetString());
|
| | |
|
| | | //--- Trade / Trade
|
| | | g_mcp_server.AddItemFast(new CMcpFuncTradeTrade(&g_trade));
|
| | | g_mcp_server.AddItemFast(new CMcpFuncTradeOpenLimit(&g_trade));
|
| | | g_mcp_server.AddItemFast(new CMcpFuncTradeOpenStop(&g_trade));
|
| | |
|
| | | //--- Complex / Advanced
|
| | | g_mcp_server.AddItemFast(new CMcpFunctionRunBacktest());
|
| | | g_mcp_server.AddItemFast(new CMcpFunctionRunEA());
|
| | | g_mcp_server.AddItemFast(new CMcpFunctionCompile());
|
| | |
|
| | | //--- Complex / Logs
|
| | | g_mcp_server.AddItemFast(new CMcpFunctionExpertLogs());
|
| | |
|
2026-04-27 22:49:28 -05:00 | | | //---
|
2026-04-28 11:04:57 -05:00 | | | g_mcp_server.Set(InpMsPool, InpMsTimeoutReadNoTls);
|
| | | if(!g_mcp_server.Conectar(InpSoketAdres, InpSoketPort, (10 * 1000))) // 10 segundos de espera para conectarse
|
| | | return INIT_FAILED;
|
| | |
|
| | | //---
|
| | | return(INIT_SUCCEEDED);
|
| | | }
|
2026-04-27 22:49:28 -05:00 | | | //+------------------------------------------------------------------+
|
| | | //| Expert deinitialization function |
|
| | | //+------------------------------------------------------------------+
|
| | | void OnDeinit(const int reason)
|
2026-04-28 11:04:57 -05:00 | | | {
|
2026-04-27 22:49:28 -05:00 | | | //---
|
2026-04-28 11:04:57 -05:00 | | | }
|
2026-04-27 22:49:28 -05:00 | | | //+------------------------------------------------------------------+
|
| | | //| Expert tick function |
|
| | | //+------------------------------------------------------------------+
|
| | | void OnTick()
|
2026-04-28 11:04:57 -05:00 | | | {
|
2026-04-27 22:49:28 -05:00 | | | //---
|
2026-04-28 11:04:57 -05:00 | | | }
|
| | | //+------------------------------------------------------------------+
|
| | | //| Timer function |
|
2026-04-27 22:49:28 -05:00 | | | //+------------------------------------------------------------------+
|
2026-04-28 11:04:57 -05:00 | | | void OnTimer(void)
|
| | | {
|
| | | g_mcp_server.TimerEvent();
|
| | | }
|