update
This commit is contained in:
+19
-19
@@ -124,12 +124,21 @@ class TradeTargetUI(ttk.Frame):
|
|||||||
command=self.delete_selected_trade, width=12).pack(side=tk.LEFT, padx=2)
|
command=self.delete_selected_trade, width=12).pack(side=tk.LEFT, padx=2)
|
||||||
ttk.Button(toolbar_frame, text="🛠 交易设置",
|
ttk.Button(toolbar_frame, text="🛠 交易设置",
|
||||||
command=self.trade_settings, width=12).pack(side=tk.LEFT, padx=2)
|
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="▣ 实时监控",
|
ttk.Button(toolbar_frame, text="▣ 实时监控",
|
||||||
command=self.toggle_market_monitor, width=12).pack(side=tk.RIGHT, padx=2)
|
command=self.toggle_market_monitor, width=12).pack(side=tk.RIGHT, padx=2)
|
||||||
|
|
||||||
# 表格区域
|
# 表格区域
|
||||||
self.create_tables_area(main_frame)
|
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):
|
def create_tables_area(self, parent):
|
||||||
"""创建表格区域"""
|
"""创建表格区域"""
|
||||||
@@ -572,22 +581,13 @@ class TradeTargetUI(ttk.Frame):
|
|||||||
if not target:
|
if not target:
|
||||||
return
|
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时仅可查看
|
# 检查标的的状态,status为1时仅可查看
|
||||||
# if target.status == 1:
|
if target.status == 1:
|
||||||
# # 创建只读的网格配置查看窗口
|
# 创建只读的网格配置查看窗口
|
||||||
# self.create_grid_view_window(target)
|
self.create_grid_view_window(target)
|
||||||
# else:
|
else:
|
||||||
# # 创建可编辑的网格配置窗口
|
# 创建可编辑的网格配置窗口
|
||||||
# self.create_grid_config_window(target)
|
self.create_grid_config_window(target)
|
||||||
|
|
||||||
def create_grid_view_window(self, target: SFGridTradeTarget):
|
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)
|
required_position_frame.pack(fill=tk.X, pady=5)
|
||||||
|
|
||||||
grid_index_value = getattr(target, 'grid_index')
|
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)
|
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 = ttk.Label(required_position_frame, text=str(required_position), width=10, anchor=tk.CENTER)
|
||||||
required_position_label.pack(side=tk.LEFT, padx=5)
|
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,
|
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)
|
price_frame = ttk.Frame(options_frame)
|
||||||
@@ -1022,7 +1022,7 @@ class TradeTargetUI(ttk.Frame):
|
|||||||
setattr(target, 'grid_index', new_grid_index)
|
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')
|
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):
|
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))
|
required_position_label.config(text=str(required_position))
|
||||||
|
|
||||||
# 更新持仓量状态
|
# 更新持仓量状态
|
||||||
|
|||||||
Reference in New Issue
Block a user