fix: entry_price改用最新成交价(last_trade_price)而非VWAP
VWAP是30分钟加权均价,快速行情下与实际价偏差可达1-2% 历史587笔entry_price+596笔pnl_r已用agg_trades真实价修正 平均偏差31.9bps, 最大189.4bps(1.9%) V5.1: 42.18R→15.32R | V5.2: 29.83R→0.76R
This commit is contained in:
parent
66b094c711
commit
262594f16e
@ -291,6 +291,7 @@ class SymbolState:
|
||||
self.win_vwap = TradeWindow(WINDOW_VWAP)
|
||||
self.atr_calc = ATRCalculator()
|
||||
self.last_processed_id = 0
|
||||
self.last_trade_price = 0.0
|
||||
self.warmup = True
|
||||
self.prev_cvd_fast = 0.0
|
||||
self.prev_cvd_fast_slope = 0.0
|
||||
@ -312,6 +313,7 @@ class SymbolState:
|
||||
self.win_day.trim(now_ms)
|
||||
self.win_vwap.trim(now_ms)
|
||||
self.last_processed_id = agg_id
|
||||
self.last_trade_price = price # 最新成交价,用于entry_price
|
||||
|
||||
def compute_p95_p99(self) -> tuple:
|
||||
if len(self.win_day.trades) < 100:
|
||||
@ -346,7 +348,7 @@ class SymbolState:
|
||||
atr_pct = self.atr_calc.atr_percentile
|
||||
p95, p99 = self.compute_p95_p99()
|
||||
self.update_large_trades(now_ms, p99)
|
||||
price = vwap if vwap > 0 else 0
|
||||
price = self.last_trade_price if self.last_trade_price > 0 else vwap # 用最新成交价,非VWAP
|
||||
cvd_fast_slope = cvd_fast - self.prev_cvd_fast
|
||||
cvd_fast_accel = cvd_fast_slope - self.prev_cvd_fast_slope
|
||||
self.prev_cvd_fast = cvd_fast
|
||||
|
||||
Loading…
Reference in New Issue
Block a user