我正在尝试构建一个算法交易机器人。第一步是在 Python 和 MQL4 EA 之间建立连接。我已经正确设置了目录。如下所示,我的脚本如下。我的 Python 脚本正在监听响应,尽管我永远无法在 MQL4 中编译该脚本 - 它给出了以下错误。附有屏幕截图。任何建议将不胜感激。
注意事项-使用Fusion Markets版本的MT4
Python
import zmq
print("Current libzmq version is ", zmq.zmq_version())
print("Current pyzmq version is ", zmq.pyzmq_version())
context = zmq.Context()
# Create a REP socket instead of PAIR
socket = context.socket(zmq.REP)
socket.bind("tcp://*:5555")
# Wait for a request
message = socket.recv_string()
print("Received request: %s" % message)
# Send a reply
socket.send_string("Hello from Python!")`
MQL4
// Include the ZMQ library
#include <Zmq/Zmq.mqh>
// Create a ZMQ context
ZmqContext context;
// Create a ZMQ socket
ZmqSocket socket(context, ZMQ_REQ); // ZMQ_REQ means it's a Request socket
// The entry point of the script
int start() {
// Connect to a ZMQ server
socket.connect("tcp://localhost:5555"); // replace "localhost:5555" with your ZMQ server address
// Send a message
socket.send("Hello from MQL4!");
// Receive a message
char buffer[256];
socket.recv(buffer);
// Print the received message
Print("Received: ", buffer);
return 0;
}
我尝试更改代码,确保 python 脚本正在运行。重新下载 zmq 文件并移动到目录等
看起来可能存在某种预处理器错误?
我相信我在编译预处理器无法处理的源代码时看到过类似的消息。这可能是由于源代码中的语法错误或预处理器无法解析的其他原因造成的。