涨停板战法:寻找连板牛股的选股策略
代码介绍
以下代码由今日美股网(www.TodayUSStock.com)代码学院提供,涨停板战法是一种短线选股策略,旨在通过识别连板(连续涨停板)的股票来捕捉市场热点和短期强势股的走势。本选股公式通过检测连续多个交易日的涨停板来筛选潜在的牛股。
代码及加载方法
同花顺
// 定义涨停价格 LIMIT_UP:=CLOSE*(1+UPPER_LIMIT/100); // 涨停价计算,其中UPPER_LIMIT为涨停板百分比 // 判断连续涨停板 CONSECUTIVE_LIMIT_UP:=CLOSE==LIMIT_UP AND COUNT(CLOSE==LIMIT_UP,5)>=3; // 最近5天至少有3天涨停 // 选股条件 STOCK:=CONSECUTIVE_LIMIT_UP; // 返回结果 RETURN STOCK;
加载方法: 将代码复制粘贴到同花顺的"选股公式编辑器"中,命名为"涨停板战法选股",然后保存并运行。
东方财富
// 定义涨停价格 LIMIT_UP:=CLOSE*(1+UPPER_LIMIT/100); // 涨停价计算,其中UPPER_LIMIT为涨停板百分比 // 判断连续涨停板 CONSECUTIVE_UP:=CLOSE==LIMIT_UP AND COUNT(CLOSE==LIMIT_UP,5)>=3; // 最近5天至少有3天涨停 // 选股条件 SELECT:=CONSECUTIVE_UP; // 返回结果 RETURN SELECT;
加载方法: 复制代码到东方财富通"自定义指标"编辑器中,保存并应用到选股条件中。
通达信
// 定义涨停价格 LIMIT_UP:=CLOSE*(1+UPPER_LIMIT/100); // 涨停价计算,其中UPPER_LIMIT为涨停板百分比 // 判断连续涨停板 CONSECUTIVE_UP:=CLOSE==LIMIT_UP AND COUNT(CLOSE==LIMIT_UP,5)>=3; // 最近5天至少有3天涨停 // 选股条件 SELECT_STOCK:=CONSECUTIVE_UP; // 返回结果 RETURN SELECT_STOCK;
加载方法: 在通达信软件中,进入"公式管理器",选择"新建公式",粘贴代码后保存并使用。
大智慧
// 定义涨停价格 LIMIT_UP:=CLOSE*(1+UPPER_LIMIT/100); // 涨停价计算,其中UPPER_LIMIT为涨停板百分比 // 判断连续涨停板 CONSECUTIVE_UP:=CLOSE==LIMIT_UP AND COUNT(CLOSE==LIMIT_UP,5)>=3; // 最近5天至少有3天涨停 // 选股条件 STOCK_SELECT:=CONSECUTIVE_UP; // 返回结果 RETURN STOCK_SELECT;
加载方法: 进入大智慧的"指标管理",创建新指标,粘贴代码后保存使用。
MetaStock
// 定义涨停价格 LIMIT_UP:=CLOSE*(1+UPPER_LIMIT/100); // 涨停价计算,其中UPPER_LIMIT为涨停板百分比 // 判断连续涨停板 CONSECUTIVE_UP:=CLOSE==LIMIT_UP AND COUNTIF(CLOSE==LIMIT_UP,5)>=3; // 最近5天至少有3天涨停 // 选股条件 STOCK:=CONSECUTIVE_UP; // 返回结果 RETURN STOCK;
加载方法: 在MetaStock中,进入"Indicator Builder",新建指标,输入代码并保存。
NinjaTrader
using System;
using NinjaTrader.NinjaScript;
public class LimitUpStrategy : Indicator
{
protected override void OnStateChange()
{
if (State == State.SetDefaults)
{
Description = "Limit Up Strategy for Stock Selection";
Name = "LimitUpStrategy";
Calculate = Calculate.OnBarClose;
IsOverlay = false;
IsSuspendedWhileInactive = true;
}
}
protected override void OnBarUpdate()
{
double upperLimit = 10; // 假设涨停板为10%,根据市场调整
double limitUpPrice = CLOSE[0] * (1 + upperLimit / 100.0);
int countLimitUp = 0;
for (int i = 0; i < Math.Min(5, CurrentBar); i++)
{
if (CLOSE[i] == limitUpPrice)
countLimitUp++;
}
bool consecutiveUp = CLOSE[0] == limitUpPrice && countLimitUp >= 3;
PlotNewValue("StockSelect", consecutiveUp ? 1 : 0);
}
}
加载方法: 打开NinjaTrader,进入"NinjaScript Editor",新建Indicator,粘贴代码并编译。
eSignal
// 定义涨停价格 LIMIT_UP:=CLOSE*(1+UPPER_LIMIT/100); // 涨停价计算,其中UPPER_LIMIT为涨停板百分比 // 判断连续涨停板 CONSECUTIVE_UP:=CLOSE==LIMIT_UP AND COUNT(CLOSE==LIMIT_UP,5)>=3; // 最近5天至少有3天涨停 // 选股条件 STOCK:=CONSECUTIVE_UP; // 返回结果 RETURN STOCK;
加载方法: 在eSignal中,进入"Formula Editor",新建公式,粘贴代码并保存。
TradingView
//@version=4
study("Limit Up Strategy", shorttitle="LimitUp", overlay=false)
// 定义涨停价格
upperLimit = 10 // 假设涨停板为10%,根据市场调整
limitUpPrice = close * (1 + upperLimit / 100.0)
// 判断连续涨停板
consecutiveUp = close == limitUpPrice and sum(close == limitUpPrice, 5) >= 3 // 最近5天至少有3天涨停
// 返回结果
plotshape(consecutiveUp, title="Stock Selection", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
加载方法: 在TradingView中,点击图表右上角的"Pine Editor",新建脚本,粘贴代码后保存并应用到图表。
MetaTrader 4/5
//+------------------------------------------------------------------+
//| Limit Up Strategy Indicator |
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Lime
double ExtMapBuffer[];
double upperLimit = 10.0; // 假设涨停板为10%,根据市场调整
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 = 0; j++)
{
if(close[i - j] == limitUpPrice)
countLimitUp++;
}
if(close[i] == limitUpPrice && countLimitUp >= 3)
{
ExtMapBuffer[i] = Low[i] - 20 * Point;
}
else
{
ExtMapBuffer[i] = EMPTY_VALUE;
}
}
return(rates_total);
}
加载方法: 在MetaTrader中,进入"MetaEditor",新建Expert Advisor或Indicator,粘贴代码,编译并加载到图表。
参数说明
| 参数 | 意义 |
|---|---|
| UPPER_LIMIT | 涨停板的百分比,根据不同市场和时间调整 |
| LIMIT_UP | 计算当天涨停价 |
| COUNT(CLOSE==LIMIT_UP,5)>=3 | 检查最近5天是否有至少3天达到涨停板 |
针对不同产品推荐参数
| 产品类型 | 推荐参数 | 理由 |
|---|---|---|
| 股票 | UPPER_LIMIT(10), COUNT(5,3) | 主板市场涨停板通常为10%,连续3天涨停板表明强势 |
| 期货 | UPPER_LIMIT(市场具体值), COUNT(3,2) | 期货市场涨停板百分比变化,短周期更适合 |
| 外汇 | 不适用 | 外汇市场一般没有涨停板限制 |
| 加密货币 | 不适用 | 加密货币市场也通常没有涨停板限制 |
优点和缺点
| 优点 | 缺点 |
|---|---|
| 能够捕捉市场短期热点和强势股 | 风险高,因为连板股票可能面临快速回调 |
| 适用于短线交易,快速获利 | 需要严格的风险管理,容易被市场情绪驱动 |
| 简单易用,操作明确 | 在市场顶部或政策变动时可能失效 |
使用建议
此选股策略适用于短线操作,特别是在市场情绪高涨或有明确热点时。建议结合成交量、市场新闻等信息,以提高选股的准确性。同时,严格设置止损点,避免在反转时的大幅亏损。定期回测和调整参数以适应市场变化。
来源:今日美股网