主力合约回测

This commit is contained in:
2025-06-23 22:21:59 +08:00
parent a81a32ce73
commit afed83f96f
12 changed files with 739 additions and 100713 deletions

View File

@@ -57,7 +57,7 @@ class SimpleLimitBuyStrategy(Strategy):
"""
每接收到一根Bar时执行策略逻辑。
"""
current_portfolio_value = self.context.get_current_portfolio_value(bar)
current_portfolio_value = self.context.get_account_cash()
# print(f"[{bar.datetime}] Strategy processing Bar. Current close price: {bar.close:.2f}. Current Portfolio Value: {current_portfolio_value:.2f}")
# 1. 撤销上一根K线未成交的订单
@@ -108,16 +108,19 @@ class SimpleLimitBuyStrategy(Strategy):
)
# 通过上下文发送订单
trade = self.send_order(order)
if trade:
print(
f"[{bar.datetime}] 策略: 发送并立即成交限价买单 {trade.volume} 股 @ {trade.price:.2f}(open:{bar.open}, close:{bar.close}) (订单ID: {order.id})")
# 如果立即成交_last_order_id 仍然保持 None
else:
# 如果未立即成交将订单ID记录下来以便下一根Bar撤销
self._last_order_id = order.id
print(
f"[{bar.datetime}] 策略: 发送限价买单 {trade_volume} 股 @ {limit_price:.2f} (未成交订单ID: {order.id} 已挂单)")
# trade = self.send_order(order)
# if trade:
# print(
# f"[{bar.datetime}] 策略: 发送并立即成交限价买单 {trade.volume} 股 (open:{bar.open}, close:{bar.close}) (订单ID: {order.id})")
# # 如果立即成交_last_order_id 仍然保持 None
# else:
# # 如果未立即成交将订单ID记录下来以便下一根Bar撤销
# self._last_order_id = order.id
# print(
# f"[{bar.datetime}] 策略: 发送限价买单 {trade_volume} 股 @ {limit_price:.2f} (未成交订单ID: {order.id} 已挂单)")
order = self.send_order(order)
if order:
print(f"[{bar.datetime}]发送订单 {order.id}, direction {order.direction}")
else:
# print(f"[{bar.datetime}] 策略: 当前已有持仓或有未成交订单,不重复下单。")
pass