"""
写这个模型花了小半天, 还没来得及测试, 先开源出来;
等期货回测器的cta分支没问题后,再测试该模型;
PS: 为了方便模型的回测, 价格设置上确实有不合理的地方, 勿用于实盘, 请见谅;
"""
from tqz_strategy.template import CtaTemplate
from public_module.object import StopOrder, TickData, BarData, TradeData, OrderData
from public_module.utility import BarGenerator
class TQZTurtleTradingStrategy(CtaTemplate):
author = "tqz"
# --- param part ---
donchian_channel_window = 20
fast_window = 10
slow_window = 60
clear_position_days_window = 10
n_window = 20
parameters = [
"fast_window",
"slow_window",
"donchian_channel_window",
"clear_position_days_window",
"n_window"
]
# --- var part ---
fast_ma0 = 0.0
fast_ma1 = 0.0
slow_ma0 = 0.0
slow_ma1 = 0.0
donchian_channel_up = 0.0
donchian_channel_down = 0.0
clear_position_level_price = 0 # profit
stop_loss_level_price = 0 # loss
variables = [
"fast_ma0",
"fast_ma1",
"slow_ma0",
"slow_ma1",
"donchian_channel_up",
"donchian_channel_down",
"stop_loss_level_price",
"clear_position_level_price",
]
def __init__(self, cta_engine, strategy_name, vt_symbol, setting):
""""""
super().__init__(cta_engine, strategy_name, vt_symbol, setting)
self.bg = BarGenerator(self.on_bar)
self.history_bars = []
def on_init(self):
"""
Callback when strategy is inited.
"""
# self.write_log(msg=f'strategy_name: {self.strategy_name} on_init.')
pass
def on_start(self):
"""
Callback when strategy is started.
"""
量化交易之回测篇 - 海龟交易策略(初版)
于 2022-03-10 20:56:14 首次发布
本文分享了一段Python实现的TQZ Turtle Trading交易策略代码,该策略基于道氏理论和平均价通道进行买卖决策。策略使用了快慢移动平均线判断市场趋势,设定突破通道和止损价位来开平仓,并计算盈利保护点位。代码中包含了参数调整和历史数据处理,但作者提醒因价格设置未考虑实盘因素,仅适用于回测,不建议直接用于实战。

&spm=1001.2101.3001.5002&articleId=123411201&d=1&t=3&u=cb75eca1893e4d53b34ba3c43f3f5194)
1656

被折叠的 条评论
为什么被折叠?



