首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用套接字的MetaTrader 5和Python集成

使用套接字的MetaTrader 5和Python集成
EN

Stack Overflow用户
提问于 2020-02-03 04:00:25
回答 1查看 2.7K关注 0票数 1

我正在尝试使用套接字在MetaTrader 5和Python之间建立连接。服务器部分用python编写,客户端部分用mql5编写。客户也是专家顾问,而不是指标。问题是当我同时运行服务器和客户端时,客户端给我“错误4014”。如果有人能帮我解决这个问题,我非常感激。

代码语言:javascript
运行
复制
 //this is python server code
 import socket

 serv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 serv.bind(('127.0.0.1', 9090))
 serv.listen(1)

 while True:
     conn, addr = serv.accept()
     print('client connected to :', addr)
     conn.close()


//This is mql5 client code
//+------------------------------------------------------------------+
//|                                               test_client_EA.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"

int socket;
int OnInit()
  {
   socket=SocketCreate();
   return(INIT_SUCCEEDED);
  }

void OnDeinit(const int reason)
  {
   SocketClose(socket);  
  }

void OnTick()
{
  socket=SocketCreate();
  if(socket!=INVALID_HANDLE) 
  {
     if(SocketConnect(socket,"127.0.0.1",9090,1000)) 
       {
        Print("Connected to "," 127.0.0.1",":",9090);
       }  
     else
       {
        Print("Connection ","127.0.0.1",":",9090," error ",GetLastError());
       }
  SocketClose(socket); 
  }
 else Print("Socket creation error ",GetLastError());
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-24 11:29:27

您是否尝试过在选项中配置WebRequest设置?

配置的路径是Tools -> Options -> Expert advisors -> WbRequest (复选框)。您希望添加localhost,或127.0.0.1以允许连接。

我希望这仍有待解决,而且会有所帮助。

最好的

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60032937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档