auto-sync: 2026-04-29 20:14:41
This commit is contained in:
Executable
+17
@@ -0,0 +1,17 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
自动化回测服务启动脚本
|
||||
启动 FastAPI 服务,监听 8088 端口,接受回测任务提交
|
||||
"""
|
||||
import sys
|
||||
import os
|
||||
|
||||
# 添加 backtest-service 到 sys.path
|
||||
backtest_dir = os.path.join(os.path.dirname(__file__), "backtest-service")
|
||||
sys.path.insert(0, backtest_dir)
|
||||
|
||||
# 现在导入 main
|
||||
from main import main
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Executable
+71
@@ -0,0 +1,71 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
VNPY RPC 交易核心服务启动脚本
|
||||
启动 vnpy 交易核心,开启 RPC 服务端,供 VNPY Web Trader 连接
|
||||
|
||||
按照 vnpy 官方标准双进程架构:
|
||||
- 这个进程:交易核心 + RPC 服务端 (端口 2018/4102)
|
||||
- 另一个进程:VNPY Web Trader (端口 8000)
|
||||
"""
|
||||
|
||||
from vnpy.trader.event_engine import EventEngine
|
||||
from vnpy.trader.main_engine import MainEngine
|
||||
from vnpy.rpc import RpcServer
|
||||
|
||||
# 导入你的 gateway
|
||||
from vnpy_ctp import CtpGateway
|
||||
# from vnpy_tap import TapGateway
|
||||
# from vnpy_ib import IbGateway
|
||||
# 其他 gateway 根据需要添加
|
||||
|
||||
# 导入你的策略应用
|
||||
from vnpy_ctastrategy import CtaStrategyApp
|
||||
# from vnpy_portfoliostrategy import PortfolioStrategyApp
|
||||
# from vnpy_spreadtrading import SpreadTradingApp
|
||||
|
||||
|
||||
def main():
|
||||
# 创建事件引擎和主引擎
|
||||
event_engine = EventEngine()
|
||||
main_engine = MainEngine(event_engine)
|
||||
|
||||
# 添加 gateway
|
||||
main_engine.add_gateway(CtpGateway)
|
||||
# 如果你有其他gateway,在这里添加
|
||||
# main_engine.add_gateway(TapGateway)
|
||||
|
||||
# 添加策略应用
|
||||
main_engine.add_app(CtaStrategyApp)
|
||||
# 如果需要其他应用,在这里添加
|
||||
# main_engine.add_app(PortfolioStrategyApp)
|
||||
|
||||
# 启动 RPC 服务端
|
||||
# 请求端口: 2018,订阅端口: 4102
|
||||
rpc_server = RpcServer(
|
||||
main_engine,
|
||||
("0.0.0.0", 2018),
|
||||
("0.0.0.0", 4102)
|
||||
)
|
||||
|
||||
print("=" * 50)
|
||||
print("VNPY RPC 交易核心服务启动")
|
||||
print(f"RPC 请求地址: tcp://0.0.0.0:2018")
|
||||
print(f"RPC 订阅地址: tcp://0.0.0.0:4102")
|
||||
print("请确保已经在 vnpy 配置中配置好你的 gateway")
|
||||
print("=" * 50)
|
||||
|
||||
# 启动 RPC 服务
|
||||
rpc_server.start()
|
||||
|
||||
# 保持进程运行
|
||||
print("RPC 服务已启动,按 Ctrl+C 退出")
|
||||
try:
|
||||
input()
|
||||
except (KeyboardInterrupt, EOFError):
|
||||
pass
|
||||
|
||||
print("RPC 服务退出")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Executable
+38
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
VNPY Web Trader 服务启动脚本
|
||||
按照 vnpy 官方标准双进程架构:
|
||||
- 需要先启动 start_rpc_server.py 交易核心
|
||||
- 然后启动这个 Web Trader 服务
|
||||
- Web Trader 通过 RPC 连接交易核心
|
||||
"""
|
||||
|
||||
from vnpy_webtrader import run_web_trader
|
||||
|
||||
|
||||
def main():
|
||||
# RPC 连接地址,默认和交易核心同机
|
||||
rpc_request_address = "tcp://127.0.0.1:2018"
|
||||
rpc_subscribe_address = "tcp://127.0.0.1:4102"
|
||||
|
||||
print("=" * 50)
|
||||
print("VNPY Web Trader 服务启动")
|
||||
print(f"RPC 请求地址: {rpc_request_address}")
|
||||
print(f"RPC 订阅地址: {rpc_subscribe_address}")
|
||||
print(f"Web 服务监听: 0.0.0.0:8000")
|
||||
print("=" * 50)
|
||||
print("请确保先启动 start_rpc_server.py")
|
||||
print("=" * 50)
|
||||
|
||||
# 启动 Web Trader
|
||||
run_web_trader(
|
||||
rpc_request_address,
|
||||
rpc_subscribe_address,
|
||||
host="0.0.0.0",
|
||||
port=8000,
|
||||
cors_allow_all=True # 开发环境允许跨域
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user