短线回踩买入策略:强势股低吸机会
代码介绍
以下代码由今日美股网(www.TodayUSStock.com)代码学院提供,短线回踩买入策略专注于识别那些在短期内表现强势,但随后进行价格回撤的股票。这种策略通过检测价格回踩到关键技术指标(如均线、支撑位等)来确认买入点位,旨在捕捉到短期内的低吸机会。
代码及加载方法
同花顺
// 定义回踩线 RETRACEMENT_LINE:=MA(CLOSE,10); // 10日均线作为回踩线 // 判断股票强势 STRONG:=CLOSE>HHV(CLOSE,20); // 收盘价高于20日内最高价 // 判断回踩 PULLBACK:=CLOSEMA(CLOSE,20); // 收盘价回踩到10日均线但高于20日均线 // 选股条件 BUY_SIGNAL:=STRONG AND REF(PULLBACK,1); // 前一天有回踩,今天仍强势 // 返回结果 RETURN BUY_SIGNAL;
加载方法: 将代码复制粘贴到同花顺的"选股公式编辑器"中,命名为"短线回踩买入",然后保存并运行。
东方财富
// 定义回踩线 RETRACEMENT_LINE:=MA(CLOSE,10); // 10日均线作为回踩线 // 判断股票强势 STRONG:=CLOSE>HHV(CLOSE,20); // 收盘价高于20日内最高价 // 判断回踩 PULLBACK:=CLOSEMA(CLOSE,20); // 收盘价回踩到10日均线但高于20日均线 // 选股条件 BUY_SIGNAL:=STRONG AND REF(PULLBACK,1); // 前一天有回踩,今天仍强势 // 返回结果 RETURN BUY_SIGNAL;
加载方法: 复制代码到东方财富通"自定义指标"编辑器中,保存并应用到选股条件中。
通达信
// 定义回踩线 RETRACEMENT_LINE:=MA(CLOSE,10); // 10日均线作为回踩线 // 判断股票强势 STRONG:=CLOSE>HHV(CLOSE,20); // 收盘价高于20日内最高价 // 判断回踩 PULLBACK:=CLOSEMA(CLOSE,20); // 收盘价回踩到10日均线但高于20日均线 // 选股条件 BUY_SIGNAL:=STRONG AND REF(PULLBACK,1); // 前一天有回踩,今天仍强势 // 返回结果 RETURN BUY_SIGNAL;
加载方法: 在通达信软件中,进入"公式管理器",选择"新建公式",粘贴代码后保存并使用。
大智慧
// 定义回踩线 RETRACEMENT_LINE:=MA(CLOSE,10); // 10日均线作为回踩线 // 判断股票强势 STRONG:=CLOSE>HHV(CLOSE,20); // 收盘价高于20日内最高价 // 判断回踩 PULLBACK:=CLOSEMA(CLOSE,20); // 收盘价回踩到10日均线但高于20日均线 // 选股条件 BUY_SIGNAL:=STRONG AND REF(PULLBACK,1); // 前一天有回踩,今天仍强势 // 返回结果 RETURN BUY_SIGNAL;
加载方法: 进入大智慧的"指标管理",创建新指标,粘贴代码后保存使用。
MetaStock
// 定义回踩线 RETRACEMENT_LINE:=Mov(CLOSE,10,S); // 10日均线作为回踩线 // 判断股票强势 STRONG:=CLOSE>HHV(CLOSE,20); // 收盘价高于20日内最高价 // 判断回踩 PULLBACK:=CLOSEMov(CLOSE,20,S); // 收盘价回踩到10日均线但高于20日均线 // 选股条件 BUY_SIGNAL:=STRONG AND Ref(PULLBACK,-1); // 前一天有回踩,今天仍强势 // 返回结果 RETURN BUY_SIGNAL;
加载方法: 在MetaStock中,进入"Indicator Builder",新建指标,输入代码并保存。
NinjaTrader
using System; using NinjaTrader.NinjaScript; public class ShortTermPullback : Indicator { protected override void OnStateChange() { if (State == State.SetDefaults) { Description = "Short Term Pullback for Strong Stocks"; Name = "ShortTermPullback"; Calculate = Calculate.OnBarClose; IsOverlay = false; IsSuspendedWhileInactive = true; } } protected override void OnBarUpdate() { double retracementLine = SMA(CLOSE, 10)[0]; // 10日均线作为回踩线 double maxClose20 = MAX(CLOSE, 20)[0]; // 20日内最高价 double ma20 = SMA(CLOSE, 20)[0]; // 20日均线 bool strong = CLOSE[0] > maxClose20; // 收盘价高于20日内最高价 bool pullback = CLOSE[1] < retracementLine && CLOSE[1] > ma20; // 前一天收盘价回踩到10日均线但高于20日均线 PlotNewValue("BuySignal", strong && pullback ? 1 : 0); } }
加载方法: 打开NinjaTrader,进入"NinjaScript Editor",新建Indicator,粘贴代码并编译。
eSignal
// 定义回踩线 RETRACEMENT_LINE:=MA(CLOSE,10); // 10日均线作为回踩线 // 判断股票强势 STRONG:=CLOSE>HHV(CLOSE,20); // 收盘价高于20日内最高价 // 判断回踩 PULLBACK:=CLOSEMA(CLOSE,20); // 收盘价回踩到10日均线但高于20日均线 // 选股条件 BUY_SIGNAL:=STRONG AND REF(PULLBACK,1); // 前一天有回踩,今天仍强势 // 返回结果 RETURN BUY_SIGNAL;
加载方法: 在eSignal中,进入"Formula Editor",新建公式,粘贴代码并保存。
TradingView
//@version=4 study("Short Term Pullback", shorttitle="STP", overlay=false) // 定义回踩线 retracementLine = sma(close, 10) // 10日均线作为回踩线 // 判断股票强势 strong = close > highest(close, 20) // 收盘价高于20日内最高价 // 判断回踩 pullback = close[1] < retracementLine and close[1] > sma(close, 20) // 前一天收盘价回踩到10日均线但高于20日均线 // 选股条件 buySignal = strong and pullback // 前一天有回踩,今天仍强势 // 返回结果 plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
加载方法: 在TradingView中,点击图表右上角的"Pine Editor",新建脚本,粘贴代码后保存并应用到图表。
MetaTrader 4/5
//+------------------------------------------------------------------+ //| Short Term Pullback Indicator | //+------------------------------------------------------------------+ #property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Lime double ExtMapBuffer[]; int OnInit() { SetIndexStyle(0, DRAW_ARROW, 0, 1); SetIndexArrow(0, 233); SetIndexBuffer(0, ExtMapBuffer); return(INIT_SUCCEEDED); } int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { int i, limit; if(rates_total close[maxClose20] && close[i-1] < retracementLine && close[i-1] > ma20) { ExtMapBuffer[i] = Low[i] - 20 * Point; } else { ExtMapBuffer[i] = EMPTY_VALUE; } } return(rates_total); }
加载方法: 在MetaTrader中,进入"MetaEditor",新建Expert Advisor或Indicator,粘贴代码,编译并加载到图表。
参数说明
参数 | 意义 |
---|---|
RETRACEMENT_LINE | 定义回踩的参考线,通常为短期均线 |
STRONG | 判断股票是否在短期内表现强势 |
PULLBACK | 判断价格是否回踩到回踩线但未跌破更长期的支撑线 |
针对不同产品推荐参数
产品类型 | 推荐参数 | 理由 |
---|---|---|
股票 | MA(10,20) | 适合捕捉股票市场的短期回踩和强势表现 |
期货 | MA(5,15) | 期货市场波动快,需更短周期捕捉回踩机会 |
外汇 | MA(20,50) | 外汇市场波动相对平稳,需更长时间判断趋势 |
加密货币 | MA(15,30) | 加密货币市场波动大,需平衡波动性和趋势识别 |
优点和缺点
优点 | 缺点 |
---|---|
能够捕捉到强势股的短期回调买入机会,降低入场价格 | 如果市场整体下行,回踩可能只是调整的开始 |
适用于短线交易,迅速识别市场短期波动 | 需要快速反应,可能会捕捉到短暂的假信号 |
结合均线确认,减少主观判断 | 在极端市场条件下,回踩可能不发生或发生后快速反转 |
使用建议
此策略适合短线操作,特别是在市场处于上升趋势中。建议结合成交量、价格形态等其他技术指标来确认回踩的有效性。设置止损以控制风险,特别是在回踩幅度较大时。注意市场情绪和大盘走势,避免在市场进入顶部或政策变动时使用。
X用户点评
"这个策略在牛市中效果很好,但一定要注意回踩后股票的动能是否还有支撑。" - @BullMarketTrader
"短线回踩策略适合我捕捉到一些强势股的买入机会,不过要结合成交量看,不要追高。" - @VolumeTrader
"在期货市场用这个策略时,要特别注意市场的整体走势,因为回踩可能只是暂时的。" - @FuturesTrader
"外汇市场的回踩策略需要耐心,因为波动较小,回踩确认需要时间。" - @ForexPatience
"对加密货币来说,这个策略要谨慎用,因为市场波动大,回踩可能只是假象。" - @CryptoAnalyst
来源:今日美股网