This commit is contained in:
2025-11-12 18:14:56 +08:00
parent 81d0131a7b
commit c03a4adb53
+19 -19
View File
@@ -124,12 +124,21 @@ class TradeTargetUI(ttk.Frame):
command=self.delete_selected_trade, width=12).pack(side=tk.LEFT, padx=2)
ttk.Button(toolbar_frame, text="🛠 交易设置",
command=self.trade_settings, width=12).pack(side=tk.LEFT, padx=2)
ttk.Button(toolbar_frame, text="🛠 网格修正",
command=self.grid_correct, width=12).pack(side=tk.LEFT, padx=2)
ttk.Button(toolbar_frame, text="▣ 实时监控",
command=self.toggle_market_monitor, width=12).pack(side=tk.RIGHT, padx=2)
# 表格区域
self.create_tables_area(main_frame)
def grid_correct(self):
target = self.get_selected_target()
if not target:
return
self.create_grid_correction_window(target)
def create_tables_area(self, parent):
"""创建表格区域"""
@@ -572,22 +581,13 @@ class TradeTargetUI(ttk.Frame):
if not target:
return
# 获取顶层窗口
root = self.winfo_toplevel()
# 创建顶层窗口
view_window = tk.Toplevel(root)
view_window.title(f"网格配置查看 - {target.stock_code} ({target.stock_name})")
view_window.geometry("500x450")
view_window.resizable(False, False)
# 检查标的的状态,status为1时仅可查看
# if target.status == 1:
# # 创建只读的网格配置查看窗口
# self.create_grid_view_window(target)
# else:
# # 创建可编辑的网格配置窗口
# self.create_grid_config_window(target)
if target.status == 1:
# 创建只读的网格配置查看窗口
self.create_grid_view_window(target)
else:
# 创建可编辑的网格配置窗口
self.create_grid_config_window(target)
def create_grid_view_window(self, target: SFGridTradeTarget):
"""创建网格配置查看窗口(只读)"""
@@ -940,7 +940,7 @@ class TradeTargetUI(ttk.Frame):
required_position_frame.pack(fill=tk.X, pady=5)
grid_index_value = getattr(target, 'grid_index')
required_position = grid_index_value * config.grid_volume
required_position = grid_index_value * target.grid_volume
ttk.Label(required_position_frame, text="需求持仓量:", width=12).pack(side=tk.LEFT)
required_position_label = ttk.Label(required_position_frame, text=str(required_position), width=10, anchor=tk.CENTER)
required_position_label.pack(side=tk.LEFT, padx=5)
@@ -965,7 +965,7 @@ class TradeTargetUI(ttk.Frame):
# 增加按钮
ttk.Button(grid_index_frame, text="+", width=3,
command=lambda: self.increase_grid_index(grid_index_var, len(config.grid_price)-1, target, required_position_label, position_status_label)).pack(side=tk.LEFT, padx=(5, 0))
command=lambda: self.increase_grid_index(grid_index_var, len(target.getPriceGrid())-1, target, required_position_label, position_status_label)).pack(side=tk.LEFT, padx=(5, 0))
# 当前价格(实时更新)
price_frame = ttk.Frame(options_frame)
@@ -1022,7 +1022,7 @@ class TradeTargetUI(ttk.Frame):
setattr(target, 'grid_index', new_grid_index)
# 重新计算需求持仓量
required_position = new_grid_index * config.grid_volume
required_position = new_grid_index * target.grid_volume
# 检查持仓量是否满足要求
current_position = getattr(target, 'current_position')
@@ -1063,7 +1063,7 @@ class TradeTargetUI(ttk.Frame):
def update_required_position_and_status(self, grid_index: int, target: SFGridTradeTarget, required_position_label: ttk.Label, position_status_label: ttk.Label):
"""更新需求持仓量和持仓状态"""
# 计算需求持仓量
required_position = grid_index * config.grid_volume
required_position:int = grid_index * target.grid_volume # type: ignore
required_position_label.config(text=str(required_position))
# 更新持仓量状态