该策略基于追踪移动均线,结合MACD指标过滤进行交易决策。当快速移动均线上穿慢速移动均线时做多,当快速移动均线下穿慢速移动均线时做空,同时MACD指标可以用来过滤假突破。
该策略主要基于以下原理:
使用Heikin Ashi蜡烛图能够过滤市场噪音,识别趋势。
快速移动均线上穿慢速移动均线代表价格进入上升趋势,做多;下穿代表进入下降趋势,做空。
MACD指标可以用来识别价格趋势和过滤假突破。当MACD直方图大于0时为多头市场,小于0时为空头市场。
具体来说,该策略首先计算Heikin Ashi蜡烛图的开盘价和收盘价。然后计算快速EMA均线和慢速EMA均线。当快速EMA上穿慢速EMA时做多,下穿时做空。同时结合MACD指标过滤假突破信号。
使用Heikin Ashi蜡烛图可以过滤噪音,辅助判断趋势方向。
快慢EMA的金叉死叉系统是一套成熟的交易策略,可以顺势而为。
结合MACD指标可以过滤假突破带来更准确的交易信号。
该策略参数优化空间大,可以通过调整EMA周期、MACD参数等进行优化。
策略思路简单直观,容易理解实现,适合用于数字货币高波动行情。
策略仅基于技术指标,没有结合基本面分析,可能错过重大消息导致亏损。
EMA周期设置不当可能导致产生大量假信号,从而亏损。
MACD过滤效果取决于参数设定,设定不当时可能无法有效过滤假突破。
突发事件造成暴涨暴跌可能导致止损被击穿产生较大亏损。
高波动行情中止损难以设置,存在亏损扩大的风险。
优化EMA周期参数,寻找最佳参数组合。
优化MACD参数,提高识别趋势能力。
添加其他技术指标过滤信号,如RSI,KD等。
结合趋势线、支撑压力位等确定交易范围。
根据不同加密货币特点调整参数。
添加止损策略控制单笔亏损。
该策略总体思路清晰易懂,通过快慢EMA结合MACD指标过滤可以获得较好的交易信号。但存在一定的系统性风险,需要进行参数优化以及风险控制。该策略适用于数字货币高波动行情,但需要定期优化更新以维持稳定收益。通过不断改进,该策略有望成为一个稳定盈利的趋势追踪策略。
/*backtest start: 2023-09-23 00:00:00 end: 2023-10-23 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //Heikin Ashi Strategy V3 by breizh29 // strategy("Heikin Ashi Strategy V3",shorttitle="HAS V3",overlay=true,default_qty_value=100,initial_capital=100,currency=currency.EUR) res = input(title="Heikin Ashi Candle Time Frame", defval="30") hshift = input(1,title="Heikin Ashi Candle Time Frame Shift") res1 = input(title="Heikin Ashi EMA Time Frame", defval="180") mhshift = input(0,title="Heikin Ashi EMA Time Frame Shift") fama = input(1,"Heikin Ashi EMA Period") test = input(1,"Heikin Ashi EMA Shift") sloma = input(10,"Slow EMA Period") slomas = input(1,"Slow EMA Shift") macdf = input(false,title="With MACD filter") res2 = input(title="MACD Time Frame", defval="12") macds = input(1,title="MACD Shift") //Heikin Ashi Open/Close Price ha_t = heikinashi(syminfo.tickerid) ha_open = security(ha_t, res, open[hshift]) ha_close = security(ha_t, res, close[hshift]) mha_close = security(ha_t, res1, close[mhshift]) //macd [macdLine, signalLine, histLine] = macd(close, 12, 26, 9) macdl = security(ha_t,res2,macdLine[macds]) macdsl= security(ha_t,res2,signalLine[macds]) //Moving Average fma = ema(mha_close[test],fama) sma = ema(ha_close[slomas],sloma) plot(fma,title="MA",color=lime,linewidth=2,style=line) plot(sma,title="SMA",color=red,linewidth=2,style=line) //Strategy golong = crossover(fma,sma) and (macdl > macdsl or macdf == false ) goshort = crossunder(fma,sma) and (macdl < macdsl or macdf == false ) strategy.entry("Buy",strategy.long,when = golong) strategy.entry("Sell",strategy.short,when = goshort)