趋势通道选股介绍
以下代码由今日美股网(www.TodayUSStock.com)代码学院提供,趋势通道选股策略是通过在价格图上绘制一个通道来分析股票的趋势。通道由两条平行线组成,上轨和下轨分别代表趋势的高点和低点。当价格触及通道上轨时,通常视为买入机会,而当价格回落至通道下轨时,可能是止损或退出市场的时机。通过这种方式,可以在明确的趋势中操作,减少在趋势反转时的亏损。
参数与数值的意义
参数 | 数值 | 意义 |
---|---|---|
Period | 可变 | 用于计算通道的高低点的时间周期,通常根据市场和投资者偏好选择。 |
Channel Width | 可变 | 通道宽度,可以设置为固定值或基于某种标准差或百分比来动态调整。 |
针对不同产品的推荐参数
产品类型 | 推荐参数(Period, Channel Width) | 推荐理由 |
---|---|---|
股票日线图 | 20天, 2% AT | 中期趋势分析,2%的平均真实范围(ATR)作为通道宽度较为常用。 |
外汇或加密货币(短期图表) | 10天, 1% AT | 市场波动大,使用较短周期和较窄通道以快速反应。 |
期货市场 | 20天, 2% AT | 趋势性强,标准参数通常有效。 |
国内股票软件代码
通达信(中国)
// 通达信趋势通道选股公式 // 假设使用20日均线作为基线,2%的ATR作为通道宽度 MA20:=MA(CLOSE,20); ATR:=MA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),20); UPPER_BAND:=MA20+ATR*0.02; LOWER_BAND:=MA20-ATR*0.02; BUY_SIGNAL:=CLOSE>UPPER_BAND; SELL_SIGNAL:=CLOSE
加载方法:进入“公式系统”菜单,选择“自定义指标”,输入或粘贴代码,保存为新指标,然后在图表中加载或在选股条件中使用。
同花顺(中国)
// 同花顺趋势通道选股公式 MA20:=MA(C,20); ATR:=MA(MAX(MAX(H-L,ABS(H-REF(C,1))),ABS(L-REF(C,1))),20); UPPER_BAND:=MA20+ATR*0.02; LOWER_BAND:=MA20-ATR*0.02; BUY_SIGNAL:=C>UPPER_BAND; SELL_SIGNAL:=C
加载方法:进入“选股器”或“条件选股”,选择“自定义选股公式”,输入或粘贴代码并保存,运行选股。
大智慧(中国)
// 大智慧趋势通道选股公式 MA20:=MA(CLOSE,20); ATR:=MA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),20); UPPER_BAND:=MA20+ATR*0.02; LOWER_BAND:=MA20-ATR*0.02; BUY_SIGNAL:=CLOSE>UPPER_BAND; SELL_SIGNAL:=CLOSE
加载方法:进入“自定义指标”或“选股”功能,选择“公式编辑器”,输入代码并保存,应用到图表或选股器中。
国外股票软件代码
MetaTrader 4/5 (MT4/MT5)
// MetaTrader 4/5 趋势通道选股公式 double ma20 = iMA(NULL, 0, 20, 0, MODE_SMA, PRICE_CLOSE, 0); double atr = iATR(NULL, 0, 20, 0); double upperBand = ma20 + atr * 0.02; double lowerBand = ma20 - atr * 0.02; if (Close[0] > upperBand) return true; // Buy Signal if (Close[0] < lowerBand) return false; // Sell Signal
加载方法:在“导航器”中右键点击“指标”选项,选择“自定义指标”,点击“新建”,粘贴代码,保存并编译指标,然后应用到图表上。
TradingView (Pine Script)
// TradingView 趋势通道选股公式 study("Trend Channel Trading", shorttitle="Trend Channel", overlay=true) ma20 = sma(close, 20) atr = sma(tr(true), 20) upperBand = ma20 + atr * 0.02 lowerBand = ma20 - atr * 0.02 buySignal = close > upperBand sellSignal = close < lowerBand plot(upperBand, color=color.green, linewidth=2) plot(lowerBand, color=color.red, linewidth=2) 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 period = 20; input channelWidth = 0.02; def ma20 = Average(close, period); def atr = Average(TrueRange(high, close, low), period); def upperBand = ma20 + atr * channelWidth; def lowerBand = ma20 - atr * channelWidth; plot BuySignal = if close > upperBand then 1 else 0; plot SellSignal = if close < lowerBand then 1 else 0;
加载方法:在图表上点击“研究”标签,选择“编辑研究”,然后“新建研究”,粘贴代码并保存。
NinjaTrader (美国)
// NinjaTrader 趋势通道选股公式 protected override void OnBarUpdate() { int period = 20; double channelWidth = 0.02; double ma20 = SMA(Close, period)[0]; double atr = SMA(ATR(1), period)[0]; double upperBand = ma20 + atr * channelWidth; double lowerBand = ma20 - atr * channelWidth; if (Close[0] > upperBand) Alert("Buy Signal - Price above Upper Band"); if (Close[0] < lowerBand) Alert("Sell Signal - Price below Lower Band"); }
加载方法:从“新建”菜单中选择“指标”,编写或粘贴代码,编译并应用到图表。
eSignal (全球)
// eSignal 趋势通道选股公式(需要转换到易语言) MA20:=Mov(C,20,S); ATR:=Mov(MAX(MAX(H-L,ABS(H-REF(C,1))),ABS(L-REF(C,1))),20,S); UPPER_BAND:=MA20+ATR*0.02; LOWER_BAND:=MA20-ATR*0.02; BUY_SIGNAL:=C>UPPER_BAND; SELL_SIGNAL:=C
加载方法:使用“易语言”编写指标,代码需要转换,在“指标”菜单中加载新指标。
优点和缺点
优点 | 缺点 |
---|---|
明确的进出场点,减少决策难度 | 在横盘市场中可能失效 |
有助于控制风险,通过下轨止损 | 在趋势反转初期可能提供误导信号 |
适用于多种时间框架的趋势交易 | 需要调整通道宽度以适应市场波动 |
如何正确使用
在趋势明显的市场中效果最佳,确认市场是否处于明确的趋势中。
结合其他技术分析工具(如动量指标或成交量)来验证通道信号。
动态调整通道宽度以适应市场波动性。
注意市场的整体环境,避免在大事件公布时使用此策略。
回测策略,以评估在不同市场条件下的表现。
使用注意事项
趋势通道策略在趋势市场中表现良好,但在无趋势或震荡市场中可能提供误导性信号。需要结合市场背景分析,市场波动性和流动性也应考虑在内。另外,通道可能会在价格快速突破时失效,因此需要结合其他方法来确认突破的有效性。
来源:今日美股网