Files
NewQuant/real_trading/ReversalVolatilityStrategy/SF.py
2025-09-16 09:59:38 +08:00

44 lines
1.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
from datetime import timedelta
from src.analysis.result_analyzer import ResultAnalyzer
# 导入 TqsdkEngine而不是原来的 BacktestEngine
from src.indicators.indicators import RSI, HistoricalRange, BollingerBandwidth, NormalizedATR
from src.tqsdk_real_engine import TqsdkEngine
# 导入你的策略类
from src.strategies.ReversalVolatilityStrategy.ReversalVolatilityStrategy import ReversalVolatilityStrategy
from tqsdk import TqApi, TqBacktest, TqAuth, TqKq, TqAccount
# --- 配置参数 ---
# Tqsdk 的本地数据文件路径,注意 Tqsdk 要求文件名为 KQ_m@交易所_品种名_周期.csv
# 主力合约的 symbol
symbol = "KQ.m@CZCE.SF"
strategy_parameters = {
'main_symbol': 'SF', # <-- 替换为你的交易品种代码,例如 'GC=F' (黄金期货), 'ZC=F' (玉米期货)
'trade_volume': 2,
'partial_profit_atr_multiplier': [1.4, 1.7],
'trailing_stop_atr_multiplier': 1,
'open_atr_multiplier': [0.4, 0.0],
'order_direction': ['SELL', 'BUY'],
'enable_log': True, # 建议在调试和测试时开启日志
'indicators': [RSI(5, 50, 95), None]
}
# api = TqApi(TqKq(), auth=TqAuth("emanresu", "dfgvfgdfgg"))
api = TqApi(TqAccount('H宏源期货', '903308830', 'lzr520102'), auth=TqAuth("emanresu", "dfgvfgdfgg"))
# --- 1. 初始化回测引擎并运行 ---
print("\n初始化 Tqsdk 回测引擎...")
engine = TqsdkEngine(
strategy_class=ReversalVolatilityStrategy,
strategy_params=strategy_parameters,
api=api,
symbol=symbol,
duration_seconds=60 * 15,
roll_over_mode=True, # 启用换月模式检测
history_length=100,
close_bar_delta=timedelta(minutes=58)
)
engine.run() # 这是一个同步方法,内部会运行 asyncio 循环