37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
|
|
from datetime import timedelta
|
|||
|
|
|
|||
|
|
from tqsdk import TqApi, TqAuth, TqAccount, TqKq
|
|||
|
|
|
|||
|
|
from src.strategies.SimpleLimitBuyStrategy import SimpleLimitBuyStrategyLong
|
|||
|
|
# 导入 TqsdkEngine,而不是原来的 BacktestEngine
|
|||
|
|
from src.indicators.indicators import PriceRangeToVolatilityRatio, ZScoreATR, Hurst
|
|||
|
|
from src.tqsdk_real_engine import TqsdkEngine
|
|||
|
|
|
|||
|
|
# 导入你的策略类
|
|||
|
|
|
|||
|
|
# --- 配置参数 ---
|
|||
|
|
# Tqsdk 的本地数据文件路径,注意 Tqsdk 要求文件名为 KQ_m@交易所_品种名_周期.csv
|
|||
|
|
|
|||
|
|
# 主力合约的 symbol
|
|||
|
|
symbol = "KQ.m@SHFE.ag"
|
|||
|
|
strategy_parameters = {
|
|||
|
|
'symbol': symbol,
|
|||
|
|
'trade_volume': 1,
|
|||
|
|
'enable_log': True,
|
|||
|
|
}
|
|||
|
|
api = TqApi(TqKq(), auth=TqAuth("emanresu", "dfgvfgdfgg"))
|
|||
|
|
|
|||
|
|
# --- 1. 初始化回测引擎并运行 ---
|
|||
|
|
print("\n初始化 Tqsdk 回测引擎...")
|
|||
|
|
engine = TqsdkEngine(
|
|||
|
|
strategy_class=SimpleLimitBuyStrategyLong,
|
|||
|
|
strategy_params=strategy_parameters,
|
|||
|
|
api=api,
|
|||
|
|
symbol=symbol,
|
|||
|
|
duration_seconds=60 * 15,
|
|||
|
|
roll_over_mode=True, # 启用换月模式检测
|
|||
|
|
history_length=1000,
|
|||
|
|
close_bar_delta=timedelta(minutes=58)
|
|||
|
|
)
|
|||
|
|
engine.run() # 这是一个同步方法,内部会运行 asyncio 循环
|