该策略基于2/20指数移动平均线,当价格突破平均线时进行买入或卖出操作。它结合了移动平均线的趋势跟随功能和突破交易的趋势反转功能,旨在捕捉短期和中期趋势。
该策略使用长度为20的指数移动平均线作为基准线。当最新K线的最高价高于基准线或最低价低于基准线时,表明价格可能发生反转,此时若上一根K线的反转点低于当前收盘价,则做多;若上一根K线的反转点高于当前收盘价,则做空。
具体来说,策略通过计算当前K线的最高价、最低价,与上一K线收盘价比较判断反转信号,并画出反转点。当反转点高于上一收盘价时做多,反之做空。如此形成的多空信号所以20日EMA作为参考基准,发挥其标识趋势方向的优势,同时利用反转点与收盘价比较判断反转时机。
对策:
该策略可从以下几个方面进行优化:
通过参数优化、指标组合、风险控制等方法,可以提高策略稳定性和可靠性,降低交易风险。
该策略总体来说较简单直接,由于只使用单个指标,对参数和市场行情敏感度较高,优化空间有限,建议作为辅助策略使用。但其捕捉反转的思路值得学习,可用于开发更复杂的突破系统。通过结合多种技术指标进行过滤,严格遵循资金管理原则,该策略可以成为木桶效应的一部分,并为组合增强稳定性。
/*backtest
start: 2022-09-12 00:00:00
end: 2023-09-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 21/11/2016
// This indicator plots 2/20 exponential moving average. For the Mov
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
////////////////////////////////////////////////////////////
strategy(title="Strategy 2/20 Exponential Moving Average", overlay = true)
Length = input(20, minval=1)
xPrice = close
xXA = ema(xPrice, Length)
nHH = max(high, high[1])
nLL = min(low, low[1])
nXS = iff((nLL > xXA)or(nHH < xXA), nLL, nHH)
pos = iff(nXS > close[1] , -1, iff(nXS < close[1] , 1, nz(pos[1], 0)))
if (pos == 1)
strategy.entry("Long", strategy.long)
if (pos == -1)
strategy.entry("Short", strategy.short)
barcolor(pos == -1 ? red: pos == 1 ? green : blue )
//plot(nXS, color=blue, title="XAverage")