四均线多时间框架趋势策略是一种基于4个不同周期的双指数移动平均线(DEMA)构建多时间框架判断趋势方向的策略。该策略同时利用10日线、15日线、21日线和30日线四条均线判断价格趋势,通过多时间框架过滤误报机会,寻找高概率的趋势方向。
该策略通过计算10日、15日、21日和30日四条双指数移动平均线,并比较其大小关系来判断行情趋势方向。具体规则如下:
计算10日线DEMA、15日线DEMA、21日线DEMA和30日线DEMA。
当10日线上穿15日线,15日线上穿21日线,21日线上穿30日线时,判断为多头趋势形成,做多。
当30日线下穿21日线,21日线下穿15日线,15日线下穿10日线时,判断为空头趋势形成,做空。
盈利平仓或止损退出。
该策略通过多时间框架判断,能过滤掉部分噪音,锁定较高概率的趋势方向。同时,越长周期的均线过滤效果越好,所以策略采用了10、15、21、30日四条均线构建判断逻辑。
多时间框架设计,通过longer timeframe的DEMA过滤noise,抓住高概率趋势。
利用DEMA指标的趋势跟踪性能更好的特点。
规则清晰简单,容易理解实现,适合量化交易。
多头止损或空头止损风险。采用移动止损来控制单笔止损。
回撤较长。调整持仓规模,降低单笔风险。
参数优化空间有限。加入 Aux信号辅助判断。
加入停损策略,进一步控制风险。
优化 DEMA 周期参数。加入更多 Aux信号判断。
结合趋势指标,降低趋势反转概率。
四均线多时间框架趋势策略通过比较10日线、15日线、21日线和30日线DEMA的大小关系,判断价格趋势方向,属于典型的趋势追踪策略。相比单一均线,该策略采用了多时间框架判断,能有效过滤部分噪音,提高判断准确性。同时,策略规则简单清晰,容易理解和实现,适合量化交易。总体来说,该策略利用DEMA指标的优势,设计了多时间框架的判断逻辑,抓住了高概率精准趋势,值得推荐。
/*backtest start: 2023-02-19 00:00:00 end: 2024-02-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //Author: HighProfit //Lead-In strategy("dema10-15-21-30", shorttitle="4dema", overlay=true) short = input(10, minval=1) srcShort = input(close, title="Source Dema 1") long = input(15, minval=1) srcLong = input(close, title="Source Dema 2") long2 = input(21, minval=1) srcLong2 = input(close, title="Source Dema 3") long3 = input(30, minval=1) srcLong3 = input(close, title="Source Dema 4") e1 = ema(srcShort, short) e2 = ema(e1, short) dema1 = 2 * e1 - e2 plot(dema1, color=green, linewidth = 2) e3 = ema(srcLong, long) e4 = ema(e3, long) dema2 = 2 * e3 - e4 plot(dema2, color=blue, linewidth = 2) e5 = ema(srcLong2, long2) e6 = ema(e5, long2) dema3 = 2 * e5 - e6 plot(dema3, color=black, linewidth = 2) e7 = ema(srcLong3, long3) e8 = ema(e7, long3) dema4 = 2 * e7 - e8 plot(dema4, color=red, linewidth = 2) //Conditions longCondition = (dema1>dema2) and (dema1>dema3) and (dema1>dema4) and (dema2>dema3) and (dema2>dema4) and (dema3>dema4) if (longCondition) strategy.entry("Long", strategy.long) strategy.close("Long", cross(dema1,dema2)) shortCondition = (dema4>dema3) and (dema4>dema2) and (dema4>dema1) and (dema3>dema2) and (dema3>dema1) and (dema2>dema1) if (shortCondition) strategy.entry("Short", strategy.short) strategy.close("Short", cross(dema1,dema2)) bgcolor(longCondition?green:white , transp=70, offset=1) bgcolor(shortCondition?red:white , transp=70, offset=1)