全方位的数据处理需要大量工具,并且经常超出单一应用程序的功能沙箱。 专用编程语言正在用于处理和分析数据,统计和机器学习。 Python 是数据处理的主要编程语言之一。 一个非常有效的解决方案是利用语言的力量并包含函数库来开发交易系统。
在两个或更多个程序之间实现交互存在众多不同的解决方案。 套接字是最快速、最灵活的解决方案之一。
网络套接字是计算机网络上进程间通信的端点。 MQL5 标准库包含一组 Socket 函数,这些函数为在互联网上操作提供了一个低层接口。 这是不同编程语言的通用接口,因为它在操作系统级别进行系统调用。
价格之间的数据交换是通过 TCP/IP(传输控制协议/互联网协议)实现的。 因此,进程可以在单个计算机内,以及通过局域网或互联网进行交互。
若要建立连接,必须创建并初始化 TCP 服务器,以便客户端进程连接。 一旦交互进程完成,则连接必须强制关闭。 TCP 交换中的数据是字节流。
创建服务器时,我们需要将套接字与一个或多个主机(IP 地址)的未使用端口相关联。 如果未设置主机列表,或将其指定为 “0.0.0.0”,则套接字将监听所有主机。 如果指定 “127.0.0.1” 或 “localhost”,则只能在 “内部循环” 内连接,即仅在一台计算机内监听。
由于在 MQL5 中只提供客户端,我们利用 Python 创建一个服务器。
本文的目的并非教授 Python 编程的基础知识。 因此,假定读者熟悉这种语言。