超级趋势指标(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)来确认趋势的强度和可持续性。 注意市场的整体背景,重大经济事件可能影响超级趋势的表现。 动态调整参数以适应不同市场的波动性。 在多时间框架上验证信号,以减少短期噪音的影响。 进行回测,评估策略在不同市场条件下的表现。 使用注意事项 超级趋势指标在趋势明确的市场中表现良好,但在无趋势或横盘市场中可能提供误导性信号。需要注意的是,虽然该指标可以自动调整止损,但应结合风险管理策略使用。此外,市场的流动性和波动性变化可能会影响指标的准确性。 来源:今日美股网lg...