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. 需要结合其他指标进行综合判断 使用建议 建议结合其他技术指标(如均线、MACD等)进行综合判断。 根据不同市场(股票、期货、外汇、加密货币)调整参数设置。 定期回测和优化参数,以适应市场变化。 回测和优化建议 在使用该选股公式前,建议进行历史数据回测,以验证其有效性。以下是回测步骤: 选择一段历史数据(如过去1年的数据)。 在选股软件中加载公式并运行回测。 根据回测结果调整参数(如3日KDJ周期和20的J值阈值)。 结合其他指标(如均线、MACD等)进行综合优化。 常见问题解答(FAQ) 问题1:代码无法运行可能原因:函数名称不兼容。请检查所用软件的函数库,确保函数名称正确。 问题2:选股结果不准确可能原因:参数设置不适合当前市场。建议根据市场特性调整参数。 问题3:如何加载代码请参考每个代码段下方的加载方法说明。 来源:今日美股网lg...