3日KDJ选股:寻找短线爆发点,提升交易胜率
以下代码由今日美股网(www.TodayUSStock.com)代码学院提供,该选股公式通过3日KDJ指标识别短线爆发点,帮助投资者捕捉短期交易机会。以下是适用于多个主流股票软件的代码实现。
代码实现
同花顺
以下代码适用于同花顺软件,使用标准函数,无需额外调整。
// 同花顺选股公式 K := SMA((CLOSE - LLV(LOW, 3)) / (HHV(HIGH, 3) - LLV(LOW, 3)) * 100, 3, 1); // 计算K值 D := SMA(K, 3, 1); // 计算D值 J := 3 * K - 2 * D; // 计算J值 BUY_SIGNAL := CROSS(K, D) AND J < 20; // K线上穿D线且J值小于20 FILTER(BUY_SIGNAL, 1); // 筛选符合条件的股票
加载方法:打开同花顺软件,进入选股器,粘贴代码并保存。
东方财富
以下代码适用于东方财富软件,使用标准函数,无需额外调整。
// 东方财富选股公式 K := SMA((CLOSE - LLV(LOW, 3)) / (HHV(HIGH, 3) - LLV(LOW, 3)) * 100, 3, 1); // 计算K值 D := SMA(K, 3, 1); // 计算D值 J := 3 * K - 2 * D; // 计算J值 BUY_SIGNAL := CROSS(K, D) AND J < 20; // K线上穿D线且J值小于20 BUY_SIGNAL; // 筛选符合条件的股票
加载方法:打开东方财富软件,进入选股器,粘贴代码并保存。
通达信
以下代码适用于通达信软件,使用标准函数,无需额外调整。
// 通达信选股公式 K := SMA((CLOSE - LLV(LOW, 3)) / (HHV(HIGH, 3) - LLV(LOW, 3)) * 100, 3, 1); // 计算K值 D := SMA(K, 3, 1); // 计算D值 J := 3 * K - 2 * D; // 计算J值 BUY_SIGNAL := CROSS(K, D) AND J < 20; // K线上穿D线且J值小于20 BUY_SIGNAL; // 筛选符合条件的股票
加载方法:打开通达信软件,进入选股器,粘贴代码并保存。
大智慧
以下代码适用于大智慧软件,使用标准函数,无需额外调整。
// 大智慧选股公式 K := SMA((CLOSE - LLV(LOW, 3)) / (HHV(HIGH, 3) - LLV(LOW, 3)) * 100, 3, 1); // 计算K值 D := SMA(K, 3, 1); // 计算D值 J := 3 * K - 2 * D; // 计算J值 BUY_SIGNAL := CROSS(K, D) AND J < 20; // K线上穿D线且J值小于20 BUY_SIGNAL; // 筛选符合条件的股票
加载方法:打开大智慧软件,进入选股器,粘贴代码并保存。
MetaStock
以下代码适用于MetaStock软件,使用标准函数,无需额外调整。
// MetaStock选股公式 K := Mov((CLOSE - LLV(LOW, 3)) / (HHV(HIGH, 3) - LLV(LOW, 3)) * 100, 3, S); // 计算K值 D := Mov(K, 3, S); // 计算D值 J := 3 * K - 2 * D; // 计算J值 BUY_SIGNAL := Cross(K, D) AND J < 20; // K线上穿D线且J值小于20 BUY_SIGNAL; // 筛选符合条件的股票
加载方法:打开MetaStock软件,进入公式编辑器,粘贴代码并保存。
NinjaTrader
以下代码适用于NinjaTrader软件,使用标准函数,无需额外调整。
// NinjaTrader选股公式 K := SMA((Close - MIN(Low, 3)) / (MAX(High, 3) - MIN(Low, 3)) * 100, 3)[0]; // 计算K值 D := SMA(K, 3)[0]; // 计算D值 J := 3 * K - 2 * D; // 计算J值 BUY_SIGNAL := CrossAbove(K, D) AND J < 20; // K线上穿D线且J值小于20 BUY_SIGNAL; // 筛选符合条件的股票
加载方法:打开NinjaTrader软件,进入策略编辑器,粘贴代码并保存。
eSignal
以下代码适用于eSignal软件,使用标准函数,无需额外调整。
// eSignal选股公式 K := MA((Close() - Lowest(Low(), 3)) / (Highest(High(), 3) - Lowest(Low(), 3)) * 100, 3); // 计算K值 D := MA(K, 3); // 计算D值 J := 3 * K - 2 * D; // 计算J值 BUY_SIGNAL := Cross(K, D) AND J < 20; // K线上穿D线且J值小于20 BUY_SIGNAL; // 筛选符合条件的股票
加载方法:打开eSignal软件,进入公式编辑器,粘贴代码并保存。
TradingView
以下代码适用于TradingView软件,使用标准函数,无需额外调整。
// TradingView选股公式 K := ta.sma((close - ta.lowest(low, 3)) / (ta.highest(high, 3) - ta.lowest(low, 3)) * 100, 3); // 计算K值 D := ta.sma(K, 3); // 计算D值 J := 3 * K - 2 * D; // 计算J值 BUY_SIGNAL := ta.crossover(K, D) and J < 20; // K线上穿D线且J值小于20 BUY_SIGNAL; // 筛选符合条件的股票
加载方法:打开TradingView软件,进入Pine Script编辑器,粘贴代码并保存。
MetaTrader 4/5
以下代码适用于MetaTrader 4/5软件,使用标准函数,无需额外调整。
// MetaTrader 4/5选股公式 double K = iCustom(NULL, 0, "KDJ", 3, 3, 3, 0, 0); // 计算K值 double D = iCustom(NULL, 0, "KDJ", 3, 3, 3, 1, 0); // 计算D值 double J = 3 * K - 2 * D; // 计算J值 bool BUY_SIGNAL = K > D && J < 20; // K线上穿D线且J值小于20 BUY_SIGNAL; // 筛选符合条件的股票
加载方法:打开MetaTrader软件,进入MetaEditor,粘贴代码并保存。
参数说明
参数 | 意义 | 推荐值 | 适用产品 | 推荐理由 | 参数调整建议 |
---|---|---|---|---|---|
K | K值 | 3日 | 股票、期货、外汇、加密货币 | 反映短期价格动量 | 对于波动较大的市场,可调整为2日 |
D | D值 | 3日 | 股票、期货、外汇、加密货币 | 反映K值的平滑趋势 | 对于波动较大的市场,可调整为2日 |
J | J值 | <20<> | 股票、期货、外汇、加密货币 | 反映超卖情况 | 对于波动较大的市场,可调整为<15<> |
优缺点分析
优点 | 缺点 |
---|---|
1. 捕捉短线爆发点,适合短线交易者 | 1. 需要实时数据支持,延迟可能导致信号失效 |
2. 结合KDJ指标,信号更可靠 | 2. 参数设置可能因市场不同而需要调整 |
3. 适用于多种金融产品 | 3. 需要结合其他指标进行综合判断 |
使用建议
回测和优化建议
在使用该选股公式前,建议进行历史数据回测,以验证其有效性。以下是回测步骤:
选择一段历史数据(如过去1年的数据)。
在选股软件中加载公式并运行回测。
根据回测结果调整参数(如3
日KDJ周期和20
的J值阈值)。
结合其他指标(如均线、MACD等)进行综合优化。
常见问题解答(FAQ)
问题1:代码无法运行可能原因:函数名称不兼容。请检查所用软件的函数库,确保函数名称正确。
问题2:选股结果不准确可能原因:参数设置不适合当前市场。建议根据市场特性调整参数。
问题3:如何加载代码请参考每个代码段下方的加载方法说明。
来源:今日美股网