反转追踪策略是一种趋势追踪策略,它结合移动平均线作为市场过滤器,在股价出现反转信号时建立仓位,实现低买高卖,追踪股价反转后的趋势,获得超额收益。
该策略的核心逻辑是:当收盘价低于N天前的低点时建立做多仓位;当收盘价高于N天前的高点时平掉做多仓位。同时,它结合了200天简单移动平均线作为市场滤波器——只有当价格高于200天移动平均线时才会建立做多仓位。
该策略基于价格反转理论,认为股价的趋势会反复出现高点和低点。当价格跌破N天前形成的低点时,是建立做多仓位的时机点;当价格涨破N天前的高点时,说明反转利好已经消退,是平仓止盈的时机点。
具体来说,该策略有以下核心模块:
使用200天简单移动平均线作为市场趋势的判断指标。只有当股价高于200天线时,才允许建仓。这可以避免在牛市中建立做空仓位,或者在熊市中建立做多仓位。
判断逻辑:收盘价 < N天前的最低价
收盘价低于N天前(默认5天)的最低价,表明股价出现下跌突破,启动买入信号。
判断逻辑:收盘价 > N天前的最高价
收盘价高于N天前(默认5天)的最高价,表明股价反转行情已经结束,启动止盈信号。
从入市价位开始,设置5%的止损线,避免损失过大。
该策略具有以下主要优势:
该策略也存在一些风险:
该策略可以从以下几个方面进行优化:
反转追踪策略结合移动平均线指标,在确定市场环境后,通过反转理论选择买入时机;止盈止损机制控制风险,实现低买高卖,获取超额收益。该策略可以通过参数优化、添加辅助过滤器等手段进行改进,在趋势行情中获得较好收益。
/*backtest start: 2024-01-06 00:00:00 end: 2024-02-05 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // @version=4 // © HermanBrummer // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // BUYS WHEN THE CLOSE IS SMALLER THAN THE LOW OF 5 DAYS AGO // SELLS WHEN THE CLOSE IS HIGHER THEN THE HIGH OF 5 DAYS AGO // USES A 200 MOVING AVERGE AS A FILTER, AND DOESN'T TAKE TRADES IF THE MARKET IS BELOW IT'S 200 MA // USES A 5% STOP LOSS FROM ENTRIES strategy("REVERSALS", overlay=true) StopLoss = input(.95, step=0.01) HowManyBars = input( 5 ) /// EXITS if close > sma(high,HowManyBars)[1] strategy.close_all() /// ENTRIES MarketFilter = sma(close, 200) F1 = close < sma(low,HowManyBars)[1] F2 = close > MarketFilter plot(MarketFilter, "MarketFilter", color.yellow) strategy.entry("Long", true, 1, when=F1 and F2) /// STOP LOSS StopLossLine = strategy.position_avg_price * StopLoss plot(StopLossLine, "StopLossLine", #FF0000) strategy.exit("Exit", stop=StopLossLine)