添加dummy gateway
This commit is contained in:
+44
-20
@@ -5,7 +5,6 @@ from tkinter import ttk, filedialog, messagebox
|
||||
import configparser
|
||||
from core.main_ui import MainWindow
|
||||
import config as sdConstants
|
||||
from core.qmt import qmtv
|
||||
|
||||
class ConfigWindow:
|
||||
def __init__(self, root):
|
||||
@@ -119,33 +118,58 @@ def check_and_create_config():
|
||||
config_window = ConfigWindow(root)
|
||||
root.mainloop()
|
||||
|
||||
def ask_mode():
|
||||
"""询问用户选择模式"""
|
||||
root = tk.Tk()
|
||||
root.withdraw() # 隐藏主窗口
|
||||
result = messagebox.askyesno(
|
||||
"选择交易模式",
|
||||
"是否使用模拟交易模式?\n\n" +
|
||||
"是 → 模拟交易(无需 miniQMT,可在 macOS/Linux 运行)\n" +
|
||||
"否 → 真实交易(需要 Windows + miniQMT)"
|
||||
)
|
||||
root.destroy()
|
||||
return result
|
||||
|
||||
def initialize_system():
|
||||
"""初始化系统"""
|
||||
|
||||
|
||||
try:
|
||||
while True:
|
||||
# 初始化配置
|
||||
if sdConstants.exist_config() and sdConstants.initConfig():
|
||||
# 初始化qmtv
|
||||
qmtv.init_qmtv()
|
||||
connected = qmtv.connect()
|
||||
if connected:
|
||||
# 连接成功,启动主窗口
|
||||
window = MainWindow(sdConstants.log_level)
|
||||
window.run()
|
||||
break
|
||||
# 询问用户选择模式
|
||||
if ask_mode():
|
||||
# 模拟模式
|
||||
from core.qmt_dummy import qmtv as selected_qmtv
|
||||
print("[模拟模式] 使用模拟交易器")
|
||||
sdConstants.miniQMTPath = '/dummy/path'
|
||||
sdConstants.account_no = 'DUMMY_ACCOUNT'
|
||||
sdConstants.log_level = 'INFO'
|
||||
selected_qmtv.init_qmtv()
|
||||
selected_qmtv.connect()
|
||||
window = MainWindow(sdConstants.log_level)
|
||||
window.run()
|
||||
else:
|
||||
# 真实 QMT 模式
|
||||
from core.qmt_real import qmtv as selected_qmtv
|
||||
while True:
|
||||
if sdConstants.exist_config() and sdConstants.initConfig():
|
||||
selected_qmtv.init_qmtv()
|
||||
connected = selected_qmtv.connect()
|
||||
if connected:
|
||||
window = MainWindow(sdConstants.log_level)
|
||||
window.run()
|
||||
break
|
||||
else:
|
||||
option = messagebox.askokcancel("连接失败", "QMT连接失败,请检查")
|
||||
if option:
|
||||
check_and_create_config()
|
||||
else:
|
||||
break
|
||||
else:
|
||||
option = messagebox.askokcancel("连接失败", "QMT连接失败,请检查")
|
||||
option = messagebox.askokcancel("错误", "请检查配置")
|
||||
if option:
|
||||
check_and_create_config()
|
||||
else:
|
||||
break
|
||||
else:
|
||||
option = messagebox.askokcancel("错误", "请检查配置")
|
||||
if option:
|
||||
check_and_create_config()
|
||||
else:
|
||||
break
|
||||
except Exception as e:
|
||||
messagebox.showerror("错误", f"系统初始化失败: {str(e)}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user