MT5 多账户多开方案
==================
方案概述
——–
通过为每个 MT5 实例配置独立的–data_path参数,实现同一电脑同时运行多个 MT5 账户且互不干扰。
核心原理
——–
–data_path: 指定数据文件夹(行情、持仓、配置等)
每个 MT5 实例使用不同的数据文件夹,避免配置文件冲突。
实施步骤
——–
1. 准备目录结构
D:\MT5_Trade01\ – 小波 terminal64.exe
D:\MT5_Trade01_Data\ – 小波 数据文件夹
D:\MT5_Trade02\ – 小闪 terminal64.exe
D:\MT5_Trade02_Data\ – 小闪 数据文件夹
D:\MT5_Trade03\ – 小区 terminal64.exe
D:\MT5_Trade03_Data\ – 小区 数据文件夹
D:\MT5_Trade04\ – 小网 terminal64.exe
D:\MT5_Trade04_Data\ – 小网 数据文件夹
D:\MT5_Trade05\ – 小B terminal64.exe
D:\MT5_Trade05_Data\ – 小B 数据文件夹
2. 创建快捷方式
快捷方式名称 目标路径 数据文件夹
小波_MT5.lnk D:\MT5_Trade01\terminal64.exe D:\MT5_Trade01_Data
小闪_MT5.lnk D:\MT5_Trade02\terminal64.exe D:\MT5_Trade02_Data
小区_MT5.lnk D:\MT5_Trade03\terminal64.exe D:\MT5_Trade03_Data
小网_MT5.lnk D:\MT5_Trade04\terminal64.exe D:\MT5_Trade04_Data
小B_MT5.lnk D:\MT5_Trade05\terminal64.exe D:\MT5_Trade05_Data
快捷方式属性-目标填写:
“D:\MT5_Trade01\terminal64.exe” –data_path=”D:\MT5_Trade01_Data”
3. 开启自动交易权限
菜单: 工具-选项-允许自动交易
Python 连接代码
————–
import MetaTrader5 as mt5
accounts = [
{“name”: “小波”, “login”: 165065015, “password”: “Fb@123488”,
“server”: “Exness-MT5Real23”, “path”: r”D:\MT5_Trade01\terminal64.exe”},
{“name”: “小闪”, “login”: 165074082, “password”: “Fb@123488”,
“server”: “Exness-MT5Real23”, “path”: r”D:\MT5_Trade02\terminal64.exe”},
{“name”: “小区”, “login”: 165066132, “password”: “Fb@123488”,
“server”: “Exness-MT5Real23”, “path”: r”D:\MT5_Trade03\terminal64.exe”},
{“name”: “小网”, “login”: 165100653, “password”: “Fb@123488”,
“server”: “Exness-MT5Real23”, “path”: r”D:\MT5_Trade04\terminal64.exe”},
{“name”: “小B”, “login”: 165064164, “password”: “Fb@123488”,
“server”: “Exness-MT5Real23”, “path”: r”D:\MT5_Trade05\terminal64.exe”},
]
def connect_account(acc):
mt5.initialize(acc[“path”])
mt5.login(acc[“login”], password=acc[“password”], server=acc[“server”])
return mt5.account_info()
for acc in accounts:
info = connect_account(acc)
print(f”{acc[‘name’]}: ${info.balance}”)
mt5.shutdown()
并行交易示例
———-
import threading
import MetaTrader5 as mt5
def trade(name, login, path, symbol=”XAUUSDc”, lot=0.01):
mt5.initialize(path)
mt5.login(login, “Fb@123488”, “Exness-MT5Real23”)
tick = mt5.symbol_info_tick(symbol)
result = mt5.order_send({
“action”: mt5.TRADE_ACTION_DEAL,
“symbol”: symbol, “volume”: lot,
“type”: mt5.ORDER_TYPE_BUY,
“price”: tick.ask, “deviation”: 10, “magic”: 123456,
})
if result.retcode == mt5.TRADE_RETCODE_DONE:
print(f”{name}: 买入成功 #{result.order}”)
mt5.shutdown()
threads = []
for acc in accounts:
t = threading.Thread(target=trade, args=(acc[“name”], acc[“login”], acc[“path”]))
t.start()
threads.append(t)
for t in threads:
t.join()
文件位置
——–
快捷方式: workspace/shortcuts/*.lnk
启动脚本: workspace/scripts/start_*.bat
测试脚本: workspace/test_trade_*.py
注意事项
——–
1. 每个账户必须有独立的 EXE 和数据文件夹(不能共用)
2. 首次启动需要登录并保存密码
3. 确保每个 MT5 客户端开启”允许自动交易”
4. 连接时 port 参数可选(MT5 会自动分配)
测试结果
——–
账户 账号 余额 订单号
小波 165065015 $372.00 #2422966587
小闪 165074082 $132.89 #2422966589
小区 165066132 $353.00 #2422966601
小网 165100653 $388.90 #2422966606
小B 165064164 $522.09 #2422966609
5个账户同时下单、平仓,完全独立,无串户。经测试无误后发布!
—
文档创建时间: 2026-03-06














暂无评论内容