optz
This commit is contained in:
@@ -3,8 +3,6 @@
|
||||
该模块负责组合 SDK、配置、状态存储和做 T 策略组件,供 main.py 调用。
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from concurrent.futures import Future, ThreadPoolExecutor
|
||||
import logging as log
|
||||
import time
|
||||
@@ -143,7 +141,7 @@ def RunOnce(run: Runtime, state: TState, signals: list[SignalItem]) -> None:
|
||||
allow_open: list[SignalItem] = []
|
||||
allow_codes: list[str] = []
|
||||
for signal in signals:
|
||||
if signal.code not in position_codes:
|
||||
if signal.code not in portfolio.positions:
|
||||
allow_open.append(signal)
|
||||
allow_codes.append(signal.code)
|
||||
|
||||
@@ -196,4 +194,4 @@ def _wait_worker(name: str, future: Future) -> None:
|
||||
try:
|
||||
future.result()
|
||||
except Exception:
|
||||
log.exception("[运行] %s线程失败", name)
|
||||
log.exception("[运行] %s线程失败", name)
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
"""使用 dcm 信号建立做 T 底仓。"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime
|
||||
import logging as log
|
||||
import math
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
"""日内先卖后买的做 T 规则,不包含趋势补仓或整仓止盈。"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import logging as log
|
||||
import math
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
"""做 T 策略的持仓状态和逐笔实际成交记录。"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import math
|
||||
from dataclasses import dataclass
|
||||
from datetime import datetime
|
||||
@@ -115,7 +113,10 @@ class TState:
|
||||
self.items[code] = TStateItem(code, -delta)
|
||||
|
||||
for row in rows:
|
||||
item = self.items.setdefault(row['stock_code'], TStateItem(row['stock_code']))
|
||||
code = row['stock_code']
|
||||
item = self.items.get(code)
|
||||
if item is None:
|
||||
item = self.items[code] = TStateItem(code)
|
||||
self._reset(item, row['trade_date'])
|
||||
qty, amount = row['volume'], row['trade_amount']
|
||||
if row['order_local_id'].startswith('zt-base-'):
|
||||
|
||||
Reference in New Issue
Block a user