1、新增dp策略
This commit is contained in:
47
real_trading/ReversalVolatilityStrategy/FG.py
Normal file
47
real_trading/ReversalVolatilityStrategy/FG.py
Normal file
@@ -0,0 +1,47 @@
|
||||
from datetime import timedelta
|
||||
from src.analysis.result_analyzer import ResultAnalyzer
|
||||
|
||||
# 导入 TqsdkEngine,而不是原来的 BacktestEngine
|
||||
from src.indicators.indicators import RSI, HistoricalRange, BollingerBandwidth, NormalizedATR, ADX
|
||||
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.FG"
|
||||
strategy_parameters = {
|
||||
'main_symbol': 'FG', # <-- 替换为你的交易品种代码,例如 'GC=F' (黄金期货), 'ZC=F' (玉米期货)
|
||||
'trade_volume': 1,
|
||||
# 'partial_profit_atr_multiplier': 1.8,
|
||||
# 'partial_profit_atr_multiplier': 1.3,
|
||||
'partial_profit_atr_multiplier': [0.8, 0.7],
|
||||
'trailing_stop_atr_multiplier': 1,
|
||||
# 'open_atr_multiplier': 0.8,
|
||||
# 'open_atr_multiplier': 0.4,
|
||||
'open_atr_multiplier': [0.8, 1.6],
|
||||
'order_direction': ['SELL', 'BUY'],
|
||||
'enable_log': True, # 建议在调试和测试时开启日志
|
||||
'indicators': [RSI(20, 35, 60), RSI(14, 25, 45)]
|
||||
}
|
||||
# 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 循环
|
||||
47
real_trading/ReversalVolatilityStrategy/MA.py
Normal file
47
real_trading/ReversalVolatilityStrategy/MA.py
Normal file
@@ -0,0 +1,47 @@
|
||||
from datetime import timedelta
|
||||
from src.analysis.result_analyzer import ResultAnalyzer
|
||||
|
||||
# 导入 TqsdkEngine,而不是原来的 BacktestEngine
|
||||
from src.indicators.indicators import RSI, HistoricalRange, BollingerBandwidth, NormalizedATR, ADX
|
||||
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.MA"
|
||||
strategy_parameters = {
|
||||
'main_symbol': 'MA', # <-- 替换为你的交易品种代码,例如 'GC=F' (黄金期货), 'ZC=F' (玉米期货)
|
||||
'trade_volume': 2,
|
||||
# 'partial_profit_atr_multiplier': 1.8,
|
||||
# 'partial_profit_atr_multiplier': 1.3,
|
||||
'partial_profit_atr_multiplier': [1.8, 1.3],
|
||||
'trailing_stop_atr_multiplier': 1,
|
||||
# 'open_atr_multiplier': 0.8,
|
||||
# 'open_atr_multiplier': 0.4,
|
||||
'open_atr_multiplier': [0.8, 0.4],
|
||||
'order_direction': ['BUY', 'SELL'],
|
||||
'enable_log': True, # 建议在调试和测试时开启日志
|
||||
'indicators':[BollingerBandwidth(window=10, nbdev=1.5, down_bound=0.25, up_bound=2), ADX(14, 10, 30)]
|
||||
}
|
||||
# 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 循环
|
||||
47
real_trading/ReversalVolatilityStrategy/RM.py
Normal file
47
real_trading/ReversalVolatilityStrategy/RM.py
Normal file
@@ -0,0 +1,47 @@
|
||||
from datetime import timedelta
|
||||
from src.analysis.result_analyzer import ResultAnalyzer
|
||||
|
||||
# 导入 TqsdkEngine,而不是原来的 BacktestEngine
|
||||
from src.indicators.indicators import RSI, HistoricalRange, BollingerBandwidth, NormalizedATR, ADX
|
||||
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.RM"
|
||||
strategy_parameters = {
|
||||
'main_symbol': 'RM', # <-- 替换为你的交易品种代码,例如 'GC=F' (黄金期货), 'ZC=F' (玉米期货)
|
||||
'trade_volume': 1,
|
||||
# 'partial_profit_atr_multiplier': 1.8,
|
||||
# 'partial_profit_atr_multiplier': 1.3,
|
||||
'partial_profit_atr_multiplier': [1.8, 0.9],
|
||||
'trailing_stop_atr_multiplier': 1,
|
||||
# 'open_atr_multiplier': 0.8,
|
||||
# 'open_atr_multiplier': 0.4,
|
||||
'open_atr_multiplier': [0.6, 0.8],
|
||||
'order_direction': ['BUY', 'SELL'],
|
||||
'enable_log': True, # 建议在调试和测试时开启日志
|
||||
'indicators': [ADX(30, 10, 20), ADX(7, 30, 75)]
|
||||
}
|
||||
# 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 循环
|
||||
49
real_trading/ReversalVolatilityStrategy/SA.py
Normal file
49
real_trading/ReversalVolatilityStrategy/SA.py
Normal file
@@ -0,0 +1,49 @@
|
||||
from datetime import timedelta
|
||||
from src.analysis.result_analyzer import ResultAnalyzer
|
||||
|
||||
# 导入 TqsdkEngine,而不是原来的 BacktestEngine
|
||||
from src.indicators.indicators import RSI, HistoricalRange, BollingerBandwidth, NormalizedATR, \
|
||||
PriceRangeToVolatilityRatio
|
||||
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.SA"
|
||||
strategy_parameters = {
|
||||
'main_symbol': 'SA', # <-- 替换为你的交易品种代码,例如 'GC=F' (黄金期货), 'ZC=F' (玉米期货)
|
||||
'trade_volume': 1,
|
||||
# 'partial_profit_atr_multiplier': 1.8,
|
||||
# 'partial_profit_atr_multiplier': 1.3,
|
||||
'partial_profit_atr_multiplier': [1.5, 1.5],
|
||||
'trailing_stop_atr_multiplier': 1,
|
||||
# 'open_atr_multiplier': 0.8,
|
||||
# 'open_atr_multiplier': 0.4,
|
||||
'open_atr_multiplier': [0.2, 0.0],
|
||||
'order_direction': ['BUY', 'SELL'],
|
||||
'enable_log': True, # 建议在调试和测试时开启日志
|
||||
'indicators': [RSI(25, 30, 65), PriceRangeToVolatilityRatio(3, 21, 1, 2.2)]
|
||||
}
|
||||
|
||||
# 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 循环
|
||||
43
real_trading/ReversalVolatilityStrategy/SF.py
Normal file
43
real_trading/ReversalVolatilityStrategy/SF.py
Normal file
@@ -0,0 +1,43 @@
|
||||
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 循环
|
||||
43
real_trading/ReversalVolatilityStrategy/c.py
Normal file
43
real_trading/ReversalVolatilityStrategy/c.py
Normal file
@@ -0,0 +1,43 @@
|
||||
from datetime import timedelta
|
||||
from src.analysis.result_analyzer import ResultAnalyzer
|
||||
|
||||
# 导入 TqsdkEngine,而不是原来的 BacktestEngine
|
||||
from src.indicators.indicators import RSI, HistoricalRange, BollingerBandwidth, NormalizedATR, ADX
|
||||
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@DCE.c"
|
||||
strategy_parameters = {
|
||||
'main_symbol': 'c', # <-- 替换为你的交易品种代码,例如 'GC=F' (黄金期货), 'ZC=F' (玉米期货)
|
||||
'trade_volume': 2,
|
||||
'partial_profit_atr_multiplier': [2.0, 1.7],
|
||||
'trailing_stop_atr_multiplier': 1,
|
||||
'open_atr_multiplier': [0.8, 0.8],
|
||||
'order_direction': ['SELL', 'BUY'],
|
||||
'enable_log': True, # 建议在调试和测试时开启日志
|
||||
'indicators': [None, RSI(30, 30, 50)]
|
||||
}
|
||||
# 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 循环
|
||||
46
real_trading/ReversalVolatilityStrategy/rb.py
Normal file
46
real_trading/ReversalVolatilityStrategy/rb.py
Normal file
@@ -0,0 +1,46 @@
|
||||
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@SHFE.rb"
|
||||
strategy_parameters = {
|
||||
'main_symbol': 'rb', # <-- 替换为你的交易品种代码,例如 'GC=F' (黄金期货), 'ZC=F' (玉米期货)
|
||||
'trade_volume': 2,
|
||||
'partial_profit_atr_multiplier': 0.6,
|
||||
'trailing_stop_atr_multiplier': 1,
|
||||
# 'open_atr_multiplier': 1.2,
|
||||
# 'open_atr_multiplier': 1.4,
|
||||
'open_atr_multiplier': [1.2, 1.4],
|
||||
'order_direction': ['BUY', 'SELL'],
|
||||
'enable_log': True, # 建议在调试和测试时开启日志
|
||||
'indicators': [None, RSI(35, 35, 50)],
|
||||
}
|
||||
|
||||
# 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 循环
|
||||
Reference in New Issue
Block a user