update for first release
This commit is contained in:
@@ -88,10 +88,11 @@ class SFGridStrategy:
|
||||
index: int = self.tradeTarget.grid_index # pyright: ignore[reportAssignmentType]
|
||||
orderRemark= ""
|
||||
status = "新建" if self.tradeTarget.status == 0 else "已建初始仓"
|
||||
PrintLog(LogLevel.INFO, f'|- 市价更新[{self.tradeTarget.stock_code}-{self.tradeTarget.stock_name}] - 当前持仓: {self.tradeTarget.current_position} 当前价{lastPrice} 基准价格 {self.tradeTarget.getPriceGrid()[1]} 状态: {status} 启用交易线程: {'自动交易中' if self.tradeTarget.enabled else '交易已停止'}')
|
||||
PrintLog(LogLevel.INFO, f'|- 市价更新[{self.tradeTarget.stock_code}-{self.tradeTarget.stock_name}] - 计划卖出价{self.tradeTarget.plan_sell_price}')
|
||||
PrintLog(LogLevel.INFO, f'|- 市价更新[{self.tradeTarget.stock_code}-{self.tradeTarget.stock_name}] - 网格索引{index}, 网格价格{self.tradeTarget.getPriceGrid()[index]}')
|
||||
PrintLog(LogLevel.INFO, f'|- 市价更新[{self.tradeTarget.stock_code}-{self.tradeTarget.stock_name}] - 计划买入价{self.tradeTarget.plan_buy_price}')
|
||||
PrintLog(LogLevel.INFO, f'|- 市价更新[{self.tradeTarget.stock_code}-{self.tradeTarget.stock_name}] - 当前持仓: {self.tradeTarget.current_position} 当前价{lastPrice} 状态: {status} 启用交易线程: {'自动交易中' if self.tradeTarget.enabled else '交易已停止'}')
|
||||
PrintLog(LogLevel.INFO, f'|- 市价更新[{self.tradeTarget.stock_code}-{self.tradeTarget.stock_name}] - 当前价 : \t{lastPrice}')
|
||||
PrintLog(LogLevel.INFO, f'|- 市价更新[{self.tradeTarget.stock_code}-{self.tradeTarget.stock_name}] - 计划卖出价: \t{self.tradeTarget.plan_sell_price:.3f}')
|
||||
PrintLog(LogLevel.INFO, f'|- 市价更新[{self.tradeTarget.stock_code}-{self.tradeTarget.stock_name}] - 网格价格({index}): \t{self.tradeTarget.getPriceGrid()[index]}')
|
||||
PrintLog(LogLevel.INFO, f'|- 市价更新[{self.tradeTarget.stock_code}-{self.tradeTarget.stock_name}] - 计划买入价: \t{self.tradeTarget.plan_buy_price:.3f}')
|
||||
if self.tradeTarget.enabled and self.tradeTarget.status == 0 and lastPrice <= inTradeTarget.getPriceGrid()[1]: # 已启用,未建仓,准备建仓单信息
|
||||
PrintLog(LogLevel.INFO, f'|- 市价更新[{self.tradeTarget.stock_code}-{self.tradeTarget.stock_name}] - 准备建仓单信息')
|
||||
orderPrice = inTradeTarget.getPriceGrid()[1]
|
||||
|
||||
@@ -22,6 +22,8 @@ class TradeTargetUI(ttk.Frame):
|
||||
self.stockCodeIdMap:dict[str, int] = {}
|
||||
self.strategy_ctrl:dict[int, SFGridStrategy] = {} # stock_code->trade_target
|
||||
self.listening_stock = []
|
||||
# 监控价格,默认值为10
|
||||
self.monitor_price = 10.0
|
||||
|
||||
self.init_trade_target_pool()
|
||||
|
||||
@@ -61,7 +63,8 @@ class TradeTargetUI(ttk.Frame):
|
||||
else:
|
||||
# 非目标交易,发布市场数据更新事件用于市场监控
|
||||
lastPrice = tickData['lastPrice']
|
||||
if lastPrice == 10 or stock_code in self.listening_stock:
|
||||
# 使用用户设置的监控价格替代硬编码的10
|
||||
if lastPrice == self.monitor_price or stock_code in self.listening_stock:
|
||||
# PrintLog(LogLevel.INFO, f'股票代码: {stock_code} 监听中, 市场数据更新 {tickData["lastPrice"]}')
|
||||
# 发布市场数据更新事件用于市场监控
|
||||
market_target = SFGridTradeTarget()
|
||||
@@ -125,11 +128,17 @@ class TradeTargetUI(ttk.Frame):
|
||||
command=self.btnHandlerStopSelectedTrade, width=12).pack(side=tk.LEFT, padx=2)
|
||||
ttk.Button(toolbar_frame, text="🛠 交易设置",
|
||||
command=self.btnHandlerTradeSettings, width=12).pack(side=tk.LEFT, padx=2)
|
||||
# ttk.Button(toolbar_frame, text="🛠 网格修正(停用)",
|
||||
# command=self.btnHandlerGridCorrect,
|
||||
# width=12).pack(side=tk.LEFT, padx=2)
|
||||
|
||||
ttk.Button(toolbar_frame, text="▣ 边栏",
|
||||
command=self.btnHandlerToggleMarketMonitor, width=12).pack(side=tk.RIGHT, padx=2)
|
||||
command=self.btnHandlerToggleMarketMonitor, width=8).pack(side=tk.RIGHT, padx=2)
|
||||
# 添加价格监控输入字段和确认按钮
|
||||
ttk.Button(toolbar_frame, text="确认",
|
||||
command=self.btnHandlerSetMonitorPrice, width=8).pack(side=tk.RIGHT, padx=2)
|
||||
self.monitor_price_entry = ttk.Entry(toolbar_frame, width=8)
|
||||
self.monitor_price_entry.insert(0, str(self.monitor_price))
|
||||
self.monitor_price_entry.pack(side=tk.RIGHT, padx=2)
|
||||
ttk.Label(toolbar_frame, text="价格").pack(side=tk.RIGHT, padx=(20, 2))
|
||||
ttk.Label(toolbar_frame, text="监控配置").pack(side=tk.RIGHT, padx=(20, 2))
|
||||
|
||||
# 表格区域
|
||||
self.create_tables_area(main_frame)
|
||||
@@ -1116,3 +1125,25 @@ class TradeTargetUI(ttk.Frame):
|
||||
stock_code_entry.bind('<Return>', lambda event: confirm_add())
|
||||
|
||||
PrintLog(LogLevel.INFO, "点击添加交易标的按钮")
|
||||
|
||||
def btnHandlerSetMonitorPrice(self):
|
||||
"""设置监控价格"""
|
||||
try:
|
||||
# 获取输入的价格
|
||||
price_str = self.monitor_price_entry.get()
|
||||
new_price = float(price_str)
|
||||
|
||||
# 更新监控价格
|
||||
self.monitor_price = new_price
|
||||
|
||||
# 清空当前监控的数据
|
||||
self.marketData.clear()
|
||||
self.listening_stock.clear()
|
||||
|
||||
# 清空市场监控表格
|
||||
for item in self.market_table.get_children():
|
||||
self.market_table.delete(item)
|
||||
|
||||
PrintLog(LogLevel.INFO, f"监控价格已更新为: {new_price}")
|
||||
except ValueError:
|
||||
messagebox.showerror("错误", "请输入有效的数字")
|
||||
|
||||
Reference in New Issue
Block a user