移动平均线穿越策略通过计算不同周期的移动平均线,利用它们之间的交叉作为买入和卖出信号,属于技术分析类策略。该策略结合了快速移动平均线、中速移动平均线和慢速移动平均线的交叉进行交易信号判断,可以有效过滤市场噪音,识别趋势。
该策略通过计算3种不同周期的移动平均线:34周期EMA、89周期EMA和200周期EMA。策略首先计算出这3条移动平均线的值,然后进行绘图,不同周期的移动平均线以不同颜色和线粗进行绘制,以便清晰识别。
策略的交易信号判断基于不同移动平均线之间的交叉:当快速移动平均线向上穿越中速移动平均线时,产生买入信号;当快速移动平均线向下穿越中速移动平均线时,产生卖出信号。这属于较为积极的交易策略。
为过滤掉过多噪音,策略还引入了慢速移动平均线。只有当快速移动平均线同时穿越慢速移动平均线,才会触发真正的买入和卖出信号。例如,只有当快速移动平均线同时上穿中速线和慢速线时,才会触发买入信号。这可以确保只在较大趋势发生转折时才进行交易。
移动平均线穿越策略是一种典型的技术分析策略。它观察不同时间周期移动平均线的关系,据此判断市场趋势转折买卖点。该策略同时采用快中慢三条移动平均线并观察其交叉情况,既可以敏感捕捉趋势,也可有效过滤假信号。通过参数优化,可灵活适应市场环境。但在具体运用时,仍需考虑移动平均线滞后等问题。总体来说,该策略直观简单,思路清晰,值得实盘验证优化。
/*backtest
start: 2022-10-30 00:00:00
end: 2023-11-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="EMA 34, 89, 200 e cruzamento das EMA", overlay=true)
// Input options
fastMALen = input(title="Fast MA", defval=34)
midMALen = input(title="Medium MA", defval=89)
slowMALen = input(title="Slow MA", defval=200)
// Calculate values
fastMA = ema(close, fastMALen)
midMA = ema(close, midMALen)
slowMA = ema(close, slowMALen)
// Plot values
plot(series=fastMA, color=yellow,
title="Fast MA", linewidth=3, trackprice=false)
plot(series=midMA, color=red,
title="Mid MA", linewidth=4, trackprice=false)
plot(series=slowMA, color=white,
title="Slow MA", linewidth=5)
// Highlight crossovers
longCondition = crossover(ema(close, 34), ema(close, 200))
if (longCondition)
strategy.entry("COMPRA FINAL", strategy.long)
longCondition1 = crossover(ema(close, 34), ema(close, 89))
if (longCondition1)
strategy.entry("COMPRA INICIAL", strategy.long)
shortCondition = crossunder(ema(close, 34), ema(close, 200))
if (shortCondition)
strategy.entry("VENDE FINAL", strategy.short)
shortCondition1 = crossunder(ema(close, 34), ema(close, 89))
if (shortCondition1)
strategy.entry("VENDE INICIAL", strategy.short)