
MACD趋势追踪策略通过计算MACD指标及其信号线的金叉死叉来判断趋势,实现追踪趋势获利。
该策略基于MACD指标判断趋势方向。MACD指标是一种趋势跟踪指数平滑异同移动平均线,由快线(MACD)、慢线(Signal)和histogram组成。快线和慢线的金叉表明行情可能启动牛市,而死叉表明行情可能启动熊市。Histogram代表快线和慢线的差值,通过颜色变化判断两个平均线的远近及变化速度。
当Histogram从负数升至正数时产生金叉信号,表示行情可能才刚开始,可以建立多头仓位;当Histogram从正数转为负数时产生死叉信号,表示行情可能见顶,可以平掉多头仓位或建立空头仓位。
MACD趋势追踪策略整体来说是一种较为可靠的趋势判断方法。通过优化参数,配合其它指标确认,可以大幅度降低假信号率,从而获取更高的策略收益。该策略思路简单易懂,是自动化量化交易入门的首选。
/*backtest
start: 2022-11-17 00:00:00
end: 2023-11-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("MACD")
// Getting inputs
fastLength = input(title="Fast Length", defval=12)
slowlength = input(title="Slow Length", defval=26)
src = input(title="Source", defval=close)
signalLength = input(title="Signal Smoothing", minval = 1, maxval = 50, defval = 9)
// Calculating
macd = ema(close, fastLength) - ema(close, slowlength)
signal = ema(macd, signalLength)
delta = macd - signal
// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00
// Plot histogram
plot(delta, title="Histogram", style=columns, color=(delta>=0 ? (delta[1] < delta ? col_grow_above : col_fall_above) : (delta[1] < delta ? col_grow_below : col_fall_below) ), transp=0 )
plot(macd, title="MACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)
// Plot orders
if (crossover(delta, 0))
strategy.entry("buy", strategy.long)
if (crossunder(delta, 0))
strategy.entry("sell", strategy.short)