资源加载中... loading...

追踪移动均线交易策略

Author: ChaoZhang, Date: 2023-10-24 14:39:08
Tags:

追踪移动均线交易策略

概述

该策略基于追踪移动均线,结合MACD指标过滤进行交易决策。当快速移动均线上穿慢速移动均线时做多,当快速移动均线下穿慢速移动均线时做空,同时MACD指标可以用来过滤假突破。

策略原理

该策略主要基于以下原理:

  1. 使用Heikin Ashi蜡烛图能够过滤市场噪音,识别趋势。

  2. 快速移动均线上穿慢速移动均线代表价格进入上升趋势,做多;下穿代表进入下降趋势,做空。

  3. MACD指标可以用来识别价格趋势和过滤假突破。当MACD直方图大于0时为多头市场,小于0时为空头市场。

  4. 具体来说,该策略首先计算Heikin Ashi蜡烛图的开盘价和收盘价。然后计算快速EMA均线和慢速EMA均线。当快速EMA上穿慢速EMA时做多,下穿时做空。同时结合MACD指标过滤假突破信号。

策略优势

  1. 使用Heikin Ashi蜡烛图可以过滤噪音,辅助判断趋势方向。

  2. 快慢EMA的金叉死叉系统是一套成熟的交易策略,可以顺势而为。

  3. 结合MACD指标可以过滤假突破带来更准确的交易信号。

  4. 该策略参数优化空间大,可以通过调整EMA周期、MACD参数等进行优化。

  5. 策略思路简单直观,容易理解实现,适合用于数字货币高波动行情。

策略风险

  1. 策略仅基于技术指标,没有结合基本面分析,可能错过重大消息导致亏损。

  2. EMA周期设置不当可能导致产生大量假信号,从而亏损。

  3. MACD过滤效果取决于参数设定,设定不当时可能无法有效过滤假突破。

  4. 突发事件造成暴涨暴跌可能导致止损被击穿产生较大亏损。

  5. 高波动行情中止损难以设置,存在亏损扩大的风险。

策略优化

  1. 优化EMA周期参数,寻找最佳参数组合。

  2. 优化MACD参数,提高识别趋势能力。

  3. 添加其他技术指标过滤信号,如RSI,KD等。

  4. 结合趋势线、支撑压力位等确定交易范围。

  5. 根据不同加密货币特点调整参数。

  6. 添加止损策略控制单笔亏损。

总结

该策略总体思路清晰易懂,通过快慢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)

更多内容