EMA & MA RSI MACD 指标说明和应用
诚全而归之 • 1 个月前 • 26 次点击 •
指标概述
EMA & MA RSI MACD 是一个综合技术分析指标,结合了多种技术指标的优势,包括移动平均线交叉、RSI超买超卖和MACD趋势确认。该指标通过多重过滤条件,旨在提供更加可靠的买卖信号,减少假信号,提高交易成功率。
指标组成
移动平均线系统:
短期MA(10)和EMA(10):用于生成初步交叉信号
长期SMA(100)和SMA(200):用于判断长期趋势
RSI过滤:
买入信号要求RSI在50-70之间(上升趋势但未超买)
卖出信号要求RSI在30-50之间(下降趋势但未超卖)
MACD确认:
买入信号要求MACD柱状线为绿色(正值)
卖出信号要求MACD柱状线为红色(负值)
价格位置过滤:
买入信号要求K线最低价在MA和EMA上方
卖出信号要求K线最高价在MA和EMA下方
应用场景
- 中长期趋势交易
该指标特别适合中长期趋势交易,通过多重过滤条件,能够捕捉到较为可靠的趋势转折点:
趋势初期进场:当短期均线交叉、RSI处于合理区间且MACD确认时,是趋势初期的良好进场点
趋势末期离场:当反向信号出现时,及时离场,避免趋势反转带来的损失
- 波段操作
在大趋势框架下进行波段操作:
上升趋势中的回调买入:价格回调至均线附近,但RSI未跌破50,MACD柱状线保持绿色
下降趋势中的反弹卖出:价格反弹至均线附近,但RSI未突破50,MACD柱状线保持红色
- 多周期分析
结合不同时间周期使用该指标:
日线确认大趋势方向
4小时或1小时寻找具体入场点
30分钟或15分钟精确执行
实战应用建议
市场环境筛选:
该指标在趋势明显的市场中效果最佳
震荡市中可能产生较多信号,建议结合长期SMA线判断大趋势
参数优化:
根据不同品种和时间周期调整参数
波动较大的品种可适当放宽RSI范围
短周期图表可缩短MA和EMA周期
风险控制:
设置固定止损位置,如信号出现点的反向一定百分比
分批建仓和减仓,降低单点风险
控制单笔交易风险不超过总资金的2%
与其他指标配合:
结合成交量分析,确认信号有效性
参考支撑阻力位置,选择更优入场点
考虑市场整体情绪和基本面因素
总结
EMA & MA RSI MACD指标通过整合多种技术分析工具,提供了一个全面的交易系统。它不仅关注价格趋势(均线交叉),还考虑了动量(RSI)和趋势确认(MACD),以及价格位置过滤,形成了一个多层次的信号确认机制。
这种多重过滤机制虽然可能会错过一些交易机会,但能够显著提高信号质量,减少假信号,适合追求稳健交易的投资者使用。
指标源代码
//@version=4
study(title="EMA & MA RSI MACD", shorttitle="EMA & MA RSI MACD", overlay = true)
LengthMA = input(10, minval=1)
LengthEMA = input(10,minval=1)
RSILength = input(14, title="RSI周期", minval=1)
// 增加两条SMA线的参数设置
LengthSMA1 = input(100, title="SMA1周期", minval=1)
LengthSMA2 = input(200, title="SMA2周期", minval=1)
ShowSMA = input(true, title="显示SMA线")
// 增加MACD参数设置
fastLength = input(12, title="MACD快线周期")
slowLength = input(26, title="MACD慢线周期")
signalLength = input(9, title="MACD信号线周期")// 计算MA和EMA
xMA = sma(close, LengthMA)
xEMA = ema(xMA, LengthEMA)
// 计算两条SMA线
xSMA1 = sma(close, LengthSMA1)
xSMA2 = sma(close, LengthSMA2)// 计算MACD
[macdLine, signalLine, histLine] = macd(close, fastLength, slowLength, signalLength)
macdGreen = histLine > 0 // MACD柱状线为绿色(正值)
macdRed = histLine < 0 // MACD柱状线为红色(负值)var pos = 0
pos := iff(xEMA < xMA , 1,
iff(xEMA > xMA, -1, nz(pos[1], 0)))
barcolor(pos == -1 ? color.red: pos == 1 ? color.green : color.blue)// 计算RSI
rsi = rsi(close, RSILength)// 添加买入卖出信号
buySignal = crossover(xMA, xEMA)
sellSignal = crossunder(xMA, xEMA)// 增加过滤条件
// 买入信号:绿色K线的最低价在MA和EMA线上方,且RSI在50-70之间,且MACD柱状线为绿色
validBuySignal = buySignal and low > xMA and low > xEMA and pos == 1 and rsi >= 50 and rsi <= 70 and macdGreen// 卖出信号:红色K线的最高价在MA和EMA线下方,且RSI在30-50之间,且MACD柱状线为红色
validSellSignal = sellSignal and high < xMA and high < xEMA and pos == -1 and rsi >= 30 and rsi <= 50 and macdRed// 绘制买入卖出信号
plotshape(validBuySignal, title="买入信号", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(validSellSignal, title="卖出信号", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)// 在买入卖出点添加标签
plotshape(validBuySignal, title="买入", text="买入", location=location.belowbar, color=color.green, textcolor=color.white, style=shape.labelup, size=size.small)
plotshape(validSellSignal, title="卖出", text="卖出", location=location.abovebar, color=color.red, textcolor=color.white, style=shape.labeldown, size=size.small)// 添加报警信号
alertcondition(validBuySignal, title="买入信号报警", message="EMA & MA交叉指标:出现买入信号!")
alertcondition(validSellSignal, title="卖出信号报警", message="EMA & MA交叉指标:出现卖出信号!")
alertcondition(validBuySignal or validSellSignal, title="交易信号报警", message="EMA & MA交叉指标:出现交易信号!")plot(xMA, color=color.red, title="MA")
plot(xEMA, color=color.blue, title="EMA")
// 绘制两条SMA线
plot(ShowSMA ? xSMA1 : na, color=color.orange, title="SMA1(100)", linewidth=1)
plot(ShowSMA ? xSMA2 : na, color=color.purple, title="SMA2(200)", linewidth=1)
Plain Text
增加两条EMA均线,可以采用EMA20窟窿移动止盈
//@version=4study(title="EMA & MA RSI MACD", shorttitle="EMA & MA RSI MACD", overlay = true)LengthMA = input(10, minval=1)LengthEMA = input(10,minval=1)RSILength = input(14, title="RSI周期", minval=1)// 增加两条SMA线的参数设置LengthSMA1 = input(100, title="SMA1周期", minval=1)LengthSMA2 = input(200, title="SMA2周期", minval=1)ShowSMA = input(true, title="显示SMA线")// 增加MACD参数设置fastLength = input(12, title="MACD快线周期")slowLength = input(26, title="MACD慢线周期")signalLength = input(9, title="MACD信号线周期")// 增加两条EMA线的参数设置LengthEMA1 = input(50, title="EMA1周期", minval=1)LengthEMA2 = input(120, title="EMA2周期", minval=1)ShowEMA = input(true, title="显示EMA线")
// 计算MA和EMAxMA = sma(close, LengthMA)xEMA = ema(xMA, LengthEMA)// 计算两条SMA线xSMA1 = sma(close, LengthSMA1)xSMA2 = sma(close, LengthSMA2)// 计算两条EMA线xEMA1 = ema(close, LengthEMA1)xEMA2 = ema(close, LengthEMA2)
// 计算MACD[macdLine, signalLine, histLine] = macd(close, fastLength, slowLength, signalLength)macdGreen = histLine > 0 // MACD柱状线为绿色(正值)macdRed = histLine < 0 // MACD柱状线为红色(负值)
var pos = 0pos := iff(xEMA < xMA , 1, iff(xEMA > xMA, -1, nz(pos[1], 0))) barcolor(pos == -1 ? color.red: pos == 1 ? color.green : color.blue)
// 计算RSIrsi = rsi(close, RSILength)
// 添加买入卖出信号buySignal = crossover(xMA, xEMA)sellSignal = crossunder(xMA, xEMA)
// 增加过滤条件// 买入信号:绿色K线的最低价在MA和EMA线上方,且RSI在50-70之间,且MACD柱状线为绿色validBuySignal = buySignal and low > xMA and low > xEMA and pos == 1 and rsi >= 50 and rsi <= 70 and macdGreen
// 卖出信号:红色K线的最高价在MA和EMA线下方,且RSI在30-50之间,且MACD柱状线为红色validSellSignal = sellSignal and high < xMA and high < xEMA and pos == -1 and rsi >= 30 and rsi <= 50 and macdRed
// 绘制买入卖出信号plotshape(validBuySignal, title="买入信号", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)plotshape(validSellSignal, title="卖出信号", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
// 在买入卖出点添加标签plotshape(validBuySignal, title="买入", text="买入", location=location.belowbar, color=color.green, textcolor=color.white, style=shape.labelup, size=size.small)plotshape(validSellSignal, title="卖出", text="卖出", location=location.abovebar, color=color.red, textcolor=color.white, style=shape.labeldown, size=size.small)
// 添加报警信号alertcondition(validBuySignal, title="买入信号报警", message="EMA & MA交叉指标:出现买入信号!")alertcondition(validSellSignal, title="卖出信号报警", message="EMA & MA交叉指标:出现卖出信号!")alertcondition(validBuySignal or validSellSignal, title="交易信号报警", message="EMA & MA交叉指标:出现交易信号!")
plot(xMA, color=color.red, title="MA")plot(xEMA, color=color.blue, title="EMA")// 绘制两条SMA线plot(ShowSMA ? xSMA1 : na, color=color.orange, title="SMA1(100)", linewidth=1)plot(ShowSMA ? xSMA2 : na, color=color.purple, title="SMA2(200)", linewidth=1)// 绘制两条EMA线plot(ShowEMA ? xEMA1 : na, color=color.yellow, title="EMA1(50)", linewidth=1)plot(ShowEMA ? xEMA2 : na, color=color.lime, title="EMA2(120)", linewidth=1)
通达信选股关键词:MA10日线金叉,RSI位于50-70之间,MACD正值,最低价大于MA10线