超级趋势指标(Super Trend)介绍
以下代码由今日美股网(www.TodayUSStock.com)代码学院提供,超级趋势指标(Super Trend)是一种趋势追踪指标,通过考虑价格和波动性来生成趋势方向的指示。当价格在超级趋势线之上时,表明市场处于上升趋势;当价格在超级趋势线之下时,表明市场处于下降趋势。该指标结合了价格的平均真实波幅(ATR)来确定趋势线的位置,因此在波动性较大的市场中表现尤其出色。
参数与数值的意义
参数 | 数值 | 意义 |
---|---|---|
Period | 10 | 用于计算ATR的周期,影响趋势线的敏感度。 |
Multiplier | 3 | 乘数,用于调整超级趋势线与价格之间的距离,较大的值使趋势线更宽松。 |
针对不同产品的推荐参数
产品类型 | 推荐参数(Period, Multiplier) | 推荐理由 |
---|---|---|
股票日线图 | 10, 3 | 标准设置,适用于大多数股票市场的日线图,提供较好的趋势信号。 |
外汇或加密货币(短期图表) | 7, 2 | 市场波动性高,使用较短周期和较低乘数捕捉快速的趋势变化。 |
期货市场 | 10, 3 | 标准参数通常适用于期货市场的趋势识别。 |
国内股票软件代码
通达信(中国)
// 通达信超级趋势指标选股公式 ATR:=MA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),10); UPPER:=MAX(CLOSE,REF(CLOSE,1))+ATR*3; LOWER:=MIN(CLOSE,REF(CLOSE,1))-ATR*3; TREND:=IF(CLOSE>REF(UPPER,1),1,IF(CLOSE
加载方法:进入“公式系统”菜单,选择“自定义指标”,输入或粘贴代码,保存为新指标,然后在图表中加载或在选股条件中使用。
同花顺(中国)
// 同花顺超级趋势指标选股公式 ATR:=MA(MAX(MAX(H-L,ABS(H-REF(C,1))),ABS(L-REF(C,1))),10); UPPER:=MAX(C,REF(C,1))+ATR*3; LOWER:=MIN(C,REF(C,1))-ATR*3; TREND:=IF(C>REF(UPPER,1),1,IF(C
加载方法:进入“选股器”或“条件选股”,选择“自定义选股公式”,输入或粘贴代码并保存,运行选股。
大智慧(中国)
// 大智慧超级趋势指标选股公式 ATR:=MA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),10); UPPER:=MAX(CLOSE,REF(CLOSE,1))+ATR*3; LOWER:=MIN(CLOSE,REF(CLOSE,1))-ATR*3; TREND:=IF(CLOSE>REF(UPPER,1),1,IF(CLOSE
加载方法:进入“自定义指标”或“选股”功能,选择“公式编辑器”,输入代码并保存,应用到图表或选股器中。
国外股票软件代码
MetaTrader 4/5 (MT4/MT5)
// MetaTrader 4/5 超级趋势指标选股公式 double atr = iATR(NULL, 0, 10, 0); double upper = MathMax(Close[0], Close[1]) + atr * 3; double lower = MathMin(Close[0], Close[1]) - atr * 3; double trend = trend == EMPTY_VALUE ? (Close[0] > upper ? 1 : Close[0] < lower ? -1 : 0) : trend; trend = Close[0] > upper ? 1 : Close[0] < lower ? -1 : trend; if (trend == 1) return true; // Buy Signal if (trend == -1) return false; // Sell Signal
加载方法:在“导航器”中右键点击“指标”选项,选择“自定义指标”,点击“新建”,粘贴代码,保存并编译指标,然后应用到图表上。
TradingView (Pine Script)
// TradingView 超级趋势指标选股公式 study("Super Trend", shorttitle="Super Trend", overlay=true) atrPeriod = 10 factor = 3 atr = atr(atrPeriod) upperBand = max(close, close[1]) + factor * atr lowerBand = min(close, close[1]) - factor * atr var float trend = na trend := close > upperBand[1] ? 1 : close < lowerBand[1] ? -1 : trend[1] superTrend = trend == 1 ? lowerBand : upperBand plot(superTrend, color=trend == 1 ? color.green : color.red, title="Super Trend") buySignal = crossover(close, superTrend) sellSignal = crossunder(close, superTrend) plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
加载方法:在图表上点击“Pine Editor”,新建脚本,粘贴代码,保存并应用到图表。
Thinkorswim (美国)
// Thinkorswim 超级趋势指标选股公式 declare lower; input atrPeriod = 10; input factor = 3; def atr = Average(TrueRange(high, close, low), atrPeriod); def upperBand = Max(close, close[1]) + factor * atr; def lowerBand = Min(close, close[1]) - factor * atr; def trend = if trend[1] == 0 then if close > upperBand then 1 else if close < lowerBand then -1 else 0 else if trend[1] == 1 and close = upperBand then 1 else trend[1]; plot SuperTrend = if trend == 1 then lowerBand else upperBand; SuperTrend.SetDefaultColor(if trend == 1 then Color.GREEN else Color.RED); SuperTrend.SetLineWeight(2); plot BuySignal = if trend crosses above 0 then 1 else 0; plot SellSignal = if trend crosses below 0 then 1 else 0;
加载方法:在图表上点击“研究”标签,选择“编辑研究”,然后“新建研究”,粘贴代码并保存。
NinjaTrader (美国)
// NinjaTrader 超级趋势指标选股公式 protected override void OnBarUpdate() { int atrPeriod = 10; double factor = 3; double atr = ATR(atrPeriod)[0]; double upperBand = Math.Max(Close[0], Close[1]) + atr * factor; double lowerBand = Math.Min(Close[0], Close[1]) - atr * factor; if (trend == null) trend = Close[0] > upperBand ? 1 : Close[0] < lowerBand ? -1 : 0; else trend = Close[0] > upperBand ? 1 : Close[0] < lowerBand ? -1 : trend; double superTrend = trend == 1 ? lowerBand : upperBand; if (Close[0] > superTrend && trend != 1) Alert("Buy Signal - Super Trend"); if (Close[0] < superTrend && trend != -1) Alert("Sell Signal - Super Trend"); }
加载方法:从“新建”菜单中选择“指标”,编写或粘贴代码,编译并应用到图表。
eSignal (全球)
// eSignal 超级趋势指标选股公式(需要转换到易语言) ATR:=Mov(MAX(MAX(H-L,ABS(H-REF(C,1))),ABS(L-REF(C,1))),10,S); UPPER:=MAX(C,REF(C,1))+ATR*3; LOWER:=MIN(C,REF(C,1))-ATR*3; TREND:=IF(C>REF(UPPER,1),1,IF(C
加载方法:使用“易语言”编写指标,代码需要转换,在“指标”菜单中加载新指标。
优点和缺点
优点 | 缺点 |
---|---|
提供清晰的趋势方向信号 | 在震荡市场中可能产生过多的假信号 |
自动调整止损点,适应波动性 | 在趋势反转初期可能失效 |
适合长期和短期的趋势分析 | 参数设置对信号的准确性影响大 |
如何正确使用
结合其他技术分析工具(如MACD或RSI)来确认趋势的强度和可持续性。
注意市场的整体背景,重大经济事件可能影响超级趋势的表现。
动态调整参数以适应不同市场的波动性。
在多时间框架上验证信号,以减少短期噪音的影响。
进行回测,评估策略在不同市场条件下的表现。
使用注意事项
超级趋势指标在趋势明确的市场中表现良好,但在无趋势或横盘市场中可能提供误导性信号。需要注意的是,虽然该指标可以自动调整止损,但应结合风险管理策略使用。此外,市场的流动性和波动性变化可能会影响指标的准确性。
来源:今日美股网