🚀 用 TradingAgents + 外汇VPS 打造全天候AI交易机器人(附完整部署教程)
📌 引言
你是否想过,让 AI 自动分析市场、生成交易信号,并在你睡觉时替你下单?TradingAgents.jl 是 Julia 语言下强大的强化学习交易框架,能帮你构建智能交易策略,而外汇 VPS 则提供一个稳定、7x24小时运行的平台。
本教程将手把手教你如何:
-
在 VPS 上部署 TradingAgents.jl
-
将策略输出的信号传递给 MT5
-
自动完成实盘下单
只需一次部署,即可实现 “永不下线的自动交易机器人”!
🧠 一、你需要准备什么?
-
一台外汇 VPS(推荐支持 Linux + 可选 Windows 的 VPS,如 LightNode、Vultr)
-
安装好的 Julia 环境(≥ 1.6)
-
安装好 Python 环境(推荐 ≥ 3.8)
-
安装 MetaTrader 5(MT5)客户端 + 可用的真实或模拟账户
-
基本的 Linux 操作能力
🔧 二、整体架构说明
我们将分两个部分运行:
TradingAgents(Julia)—— 策略生成交易信号
↓
写入中间文件 signal.txt
↓
Python 脚本读取信号 → 调用 MT5 API 自动下单
这样就实现了 AI 策略和实盘交易之间的桥接。
🟩 三、在 VPS 上部署 TradingAgents.jl
- 安装 Julia 和必要依赖 在 Ubuntu VPS 中运行以下命令:
# 安装 Julia
sudo apt update
sudo apt install julia -y
# 安装 TradingAgents 及依赖
julia
] add TradingAgents ReinforcementLearning Dates
退出 Julia 后,创建项目目录:
mkdir ~/trading_bot && cd ~/trading_bot
创建策略脚本 agent.jl:
julia
# agent.jl
using Dates
function run_strategy()
signal = rand(["BUY", "SELL", "HOLD"]) # 模拟交易信号
price = round(rand(1.080:0.0001:1.090), digits=5)
open("signal.txt", "w") do f
write(f, "$(Dates.now()),$signal,$price")
end
end
while true
run_strategy()
sleep(300) # 每5分钟执行一次
end
🟨 四、部署 MT5 自动下单脚本(Python)
1. 安装 MT5 模块
bash
pip install MetaTrader5
⚠️ 注意:MetaTrader 5 需要在 Windows 上运行。如果你的 VPS 是 Linux,可以使用 Wine + GUI,或者用双系统 VPS(例如 LightNode)。
2. 创建 Python 脚本(mt5_bridge.py)
python
import MetaTrader5 as mt5
import time
import os
MT5_SYMBOL = "EURUSD"
LOT = 0.1
# 初始化 MT5
mt5.initialize()
mt5.login(账号, password="密码", server="服务器")
def send_order(signal, price):
if signal == "BUY":
order_type = mt5.ORDER_TYPE_BUY
elif signal == "SELL":
order_type = mt5.ORDER_TYPE_SELL
else:
return
request = {
"action": mt5.TRADE_ACTION_DEAL,
"symbol": MT5_SYMBOL,
"volume": LOT,
"type": order_type,
"price": price,
"deviation": 10,
"magic": 100234,
"comment": "TradingAgentsBot",
"type_time": mt5.ORDER_TIME_GTC,
"type_filling": mt5.ORDER_FILLING_IOC,
}
result = mt5.order_send(request)
print("Order result:", result)
# 监听 signal.txt 并下单
last_signal = ""
while True:
if os.path.exists("signal.txt"):
with open("signal.txt", "r") as f:
content = f.read().strip()
if content and content != last_signal:
timestamp, signal, price = content.split(",")
send_order(signal, float(price))
last_signal = content
time.sleep(10)
🛠️ 五、自动化运行(建议使用 tmux)
bash
# 启动策略
tmux new -s agent
julia agent.jl
# 新窗口运行监听脚本
tmux new -s mt5
python3 mt5_bridge.py
也可用 supervisor 或 systemd 设置开机自启。
🌍 六、推荐 VPS 服务商(支持部署此方案)
-
支持按小时计费
-
全球 40+ 节点(圣保罗/东京延迟低)
-
Linux+Windows 可选
-
快速部署,适合挂 EA
📦 七、进阶建议
-
将 signal.txt 改为 SQLite / Redis 更安全稳定
-
添加日志记录所有交易信号与订单执行状态
-
使用 Docker 打包整个交易系统,便于迁移部署
-
在前端加个控制台 UI,实时查看策略状态(可选)
✅ 结语:自动交易不是梦,AI 已上场!
通过本教程,你可以把 TradingAgents 打造的强化学习策略运行在 VPS 上,再通过 MT5 实现实盘下单。全天候、低延迟、不断网、智能化,这就是你和传统交易者之间的差距!