本策略仅进行做多操作,使用ATR构建通道,过滤EMA均线的假突破信号,追求稳定的多头交易。该策略属于趋势跟踪类策略。
策略原理:
计算n周期EMA均线,代表中长期趋势。
计算n周期ATR,构建范围通道上下轨。
当价格由下向上突破通道上轨时,进行做多操作。
当价格由上向下突破通道下轨时,进行多单平仓。
ATR通道设置可有效过滤小幅或短期的假突破。
该策略的优势:
使用ATR通道判断,可提高做多信号的可靠性。
仅做多,可减少判断难度,降低风险。
参数优化简单,轻松应对不同市场类型。
该策略的风险:
仅做多无法获得空头行情的超额收益。
EMA和ATR均存在滞后问题,入场时点不佳。
长期震荡市场中难以获得持续做多信号。
总之,该策略作为一种简单的趋势跟踪策略,在多头行情中可以获得较优结果,但需警惕滞后及持续震荡的问题。
/*backtest start: 2020-09-11 00:00:00 end: 2021-04-17 00:00:00 period: 7d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("EMA Long Only Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) len = input(21, minval=1, title="Length") price = sma(close, 2) average = ema(close, len) diff = atr(len) bull_level = average + diff bear_level = average - diff bull_cross = crossover(price, bull_level) bear_cross = crossover(bear_level, price) strategy.entry("Buy", strategy.long, when=bull_cross) strategy.close("Buy", when=bear_cross) //strategy.entry("Sell", strategy.short, when=bear_cross) plot(price, title="price", color=green, transp=50, linewidth = 4) plot(average, title="average", color=red, transp=50, linewidth = 4) a1 = plot(bull_level, title="bull", color=red, transp=50, linewidth = 1) a2 = plot(bear_level, title="bear", color=red, transp=50, linewidth = 1) fill(a2, a1, color=red, transp=95)