VOL+MACD双重筛选:量价配合,提升买入成功率 以下代码由今日美股网(www.TodayUSStock.com)代码学院提供,该选股公式结合成交量(VOL)和MACD指标,通过量价配合筛选出潜在买入机会,提升买入成功率。以下是适用于多个主流股票软件的代码实现。 代码实现 同花顺 以下代码适用于同花顺软件,使用标准函数,无需额外调整。 // 同花顺选股公式
VOL_MA5 := MA(VOL, 5); // 计算5日成交量均线
VOL_MA10 := MA(VOL, 10); // 计算10日成交量均线
MACD_DIFF := EMA(CLOSE, 12) - EMA(CLOSE, 26); // 计算MACD差值
MACD_DEA := EMA(MACD_DIFF, 9); // 计算MACD信号线
MACD_CROSS := CROSS(MACD_DIFF, MACD_DEA); // MACD金叉信号
VOL_CONDITION := VOL > VOL_MA5 AND VOL > VOL_MA10; // 成交量条件
BUY_SIGNAL := MACD_CROSS AND VOL_CONDITION; // 买入信号
FILTER(BUY_SIGNAL, 1); // 筛选符合条件的股票 加载方法:打开同花顺软件,进入选股器,粘贴代码并保存。 东方财富 以下代码适用于东方财富软件,使用标准函数,无需额外调整。 // 东方财富选股公式
VOL_MA5 := MA(VOL, 5); // 计算5日成交量均线
VOL_MA10 := MA(VOL, 10); // 计算10日成交量均线
MACD_DIFF := EMA(CLOSE, 12) - EMA(CLOSE, 26); // 计算MACD差值
MACD_DEA := EMA(MACD_DIFF, 9); // 计算MACD信号线
MACD_CROSS := CROSS(MACD_DIFF, MACD_DEA); // MACD金叉信号
VOL_CONDITION := VOL > VOL_MA5 AND VOL > VOL_MA10; // 成交量条件
BUY_SIGNAL := MACD_CROSS AND VOL_CONDITION; // 买入信号
BUY_SIGNAL; // 筛选符合条件的股票 加载方法:打开东方财富软件,进入选股器,粘贴代码并保存。 通达信 以下代码适用于通达信软件,使用标准函数,无需额外调整。 // 通达信选股公式
VOL_MA5 := MA(VOL, 5); // 计算5日成交量均线
VOL_MA10 := MA(VOL, 10); // 计算10日成交量均线
MACD_DIFF := EMA(CLOSE, 12) - EMA(CLOSE, 26); // 计算MACD差值
MACD_DEA := EMA(MACD_DIFF, 9); // 计算MACD信号线
MACD_CROSS := CROSS(MACD_DIFF, MACD_DEA); // MACD金叉信号
VOL_CONDITION := VOL > VOL_MA5 AND VOL > VOL_MA10; // 成交量条件
BUY_SIGNAL := MACD_CROSS AND VOL_CONDITION; // 买入信号
BUY_SIGNAL; // 筛选符合条件的股票 加载方法:打开通达信软件,进入选股器,粘贴代码并保存。 大智慧 以下代码适用于大智慧软件,使用标准函数,无需额外调整。 // 大智慧选股公式
VOL_MA5 := MA(VOL, 5); // 计算5日成交量均线
VOL_MA10 := MA(VOL, 10); // 计算10日成交量均线
MACD_DIFF := EMA(CLOSE, 12) - EMA(CLOSE, 26); // 计算MACD差值
MACD_DEA := EMA(MACD_DIFF, 9); // 计算MACD信号线
MACD_CROSS := CROSS(MACD_DIFF, MACD_DEA); // MACD金叉信号
VOL_CONDITION := VOL > VOL_MA5 AND VOL > VOL_MA10; // 成交量条件
BUY_SIGNAL := MACD_CROSS AND VOL_CONDITION; // 买入信号
BUY_SIGNAL; // 筛选符合条件的股票 加载方法:打开大智慧软件,进入选股器,粘贴代码并保存。 MetaStock 以下代码适用于MetaStock软件,使用标准函数,无需额外调整。 // MetaStock选股公式
VOL_MA5 := Mov(VOL, 5, S); // 计算5日成交量均线
VOL_MA10 := Mov(VOL, 10, S); // 计算10日成交量均线
MACD_DIFF := Mov(CLOSE, 12, E) - Mov(CLOSE, 26, E); // 计算MACD差值
MACD_DEA := Mov(MACD_DIFF, 9, E); // 计算MACD信号线
MACD_CROSS := Cross(MACD_DIFF, MACD_DEA); // MACD金叉信号
VOL_CONDITION := VOL > VOL_MA5 AND VOL > VOL_MA10; // 成交量条件
BUY_SIGNAL := MACD_CROSS AND VOL_CONDITION; // 买入信号
BUY_SIGNAL; // 筛选符合条件的股票 加载方法:打开MetaStock软件,进入公式编辑器,粘贴代码并保存。 NinjaTrader 以下代码适用于NinjaTrader软件,使用标准函数,无需额外调整。 // NinjaTrader选股公式
VOL_MA5 := SMA(Volume, 5)[0]; // 计算5日成交量均线
VOL_MA10 := SMA(Volume, 10)[0]; // 计算10日成交量均线
MACD_DIFF := EMA(Close, 12)[0] - EMA(Close, 26)[0]; // 计算MACD差值
MACD_DEA := EMA(MACD_DIFF, 9)[0]; // 计算MACD信号线
MACD_CROSS := CrossAbove(MACD_DIFF, MACD_DEA); // MACD金叉信号
VOL_CONDITION := Volume[0] > VOL_MA5 AND Volume[0] > VOL_MA10; // 成交量条件
BUY_SIGNAL := MACD_CROSS AND VOL_CONDITION; // 买入信号
BUY_SIGNAL; // 筛选符合条件的股票 加载方法:打开NinjaTrader软件,进入策略编辑器,粘贴代码并保存。 eSignal 以下代码适用于eSignal软件,使用标准函数,无需额外调整。 // eSignal选股公式
VOL_MA5 := Average(Volume, 5); // 计算5日成交量均线
VOL_MA10 := Average(Volume, 10); // 计算10日成交量均线
MACD_DIFF := EMA(Close, 12) - EMA(Close, 26); // 计算MACD差值
MACD_DEA := EMA(MACD_DIFF, 9); // 计算MACD信号线
MACD_CROSS := Cross(MACD_DIFF, MACD_DEA); // MACD金叉信号
VOL_CONDITION := Volume > VOL_MA5 AND Volume > VOL_MA10; // 成交量条件
BUY_SIGNAL := MACD_CROSS AND VOL_CONDITION; // 买入信号
BUY_SIGNAL; // 筛选符合条件的股票 加载方法:打开eSignal软件,进入公式编辑器,粘贴代码并保存。 TradingView 以下代码适用于TradingView软件,使用标准函数,无需额外调整。 // TradingView选股公式
VOL_MA5 := ta.sma(volume, 5); // 计算5日成交量均线
VOL_MA10 := ta.sma(volume, 10); // 计算10日成交量均线
MACD_DIFF := ta.ema(close, 12) - ta.ema(close, 26); // 计算MACD差值
MACD_DEA := ta.ema(MACD_DIFF, 9); // 计算MACD信号线
MACD_CROSS := ta.crossover(MACD_DIFF, MACD_DEA); // MACD金叉信号
VOL_CONDITION := volume > VOL_MA5 and volume > VOL_MA10; // 成交量条件
BUY_SIGNAL := MACD_CROSS and VOL_CONDITION; // 买入信号
BUY_SIGNAL; // 筛选符合条件的股票 加载方法:打开TradingView软件,进入Pine Script编辑器,粘贴代码并保存。 MetaTrader 4/5 以下代码适用于MetaTrader 4/5软件,使用标准函数,无需额外调整。 // MetaTrader 4/5选股公式
double VOL_MA5 = iMA(NULL, 0, 5, 0, MODE_SMA, PRICE_VOLUME, 0); // 计算5日成交量均线
double VOL_MA10 = iMA(NULL, 0, 10, 0, MODE_SMA, PRICE_VOLUME, 0); // 计算10日成交量均线
double MACD_DIFF = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 0); // 计算MACD差值
double MACD_DEA = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, 0); // 计算MACD信号线
bool MACD_CROSS = MACD_DIFF > MACD_DEA && MACD_DIFF[1] VOL_MA5 && iVolume(NULL, 0, 0) > VOL_MA10; // 成交量条件
bool BUY_SIGNAL = MACD_CROSS && VOL_CONDITION; // 买入信号
BUY_SIGNAL; // 筛选符合条件的股票 加载方法:打开MetaTrader软件,进入MetaEditor,粘贴代码并保存。 参数说明 参数 意义 推荐值 适用产品 推荐理由 参数调整建议 VOL_MA5 5日成交量均线 5 股票、期货、外汇、加密货币 反映短期成交量趋势 对于波动较大的市场,可调整为3 VOL_MA10 10日成交量均线 10 股票、期货、外汇、加密货币 反映中期成交量趋势 对于波动较大的市场,可调整为7 MACD_DIFF MACD差值 12, 26 股票、期货、外汇、加密货币 反映价格趋势变化 对于短期交易,可调整为9, 18 MACD_DEA MACD信号线 9 股票、期货、外汇、加密货币 反映MACD的平滑趋势 对于短期交易,可调整为6 优缺点分析 优点 缺点 1. 结合量价分析,信号更可靠 1. 需要同时满足成交量条件和MACD条件,可能错过部分机会 2. 适用于多种金融产品 2. 参数设置可能因市场不同而需要调整 3. 帮助识别潜在买入点 3. 需要结合其他指标进行综合判断 使用建议 建议结合其他技术指标(如均线、RSI等)进行综合判断。 根据不同市场(股票、期货、外汇、加密货币)调整参数设置。 定期回测和优化参数,以适应市场变化。 回测和优化建议 在使用该选股公式前,建议进行历史数据回测,以验证其有效性。以下是回测步骤: 选择一段历史数据(如过去1年的数据)。 在选股软件中加载公式并运行回测。 根据回测结果调整参数(如5和10的成交量均线周期)。 结合其他指标(如均线、RSI等)进行综合优化。 常见问题解答(FAQ) 问题1:代码无法运行可能原因:函数名称不兼容。请检查所用软件的函数库,确保函数名称正确。 问题2:选股结果不准确可能原因:参数设置不适合当前市场。建议根据市场特性调整参数。 问题3:如何加载代码请参考每个代码段下方的加载方法说明。 来源:今日美股网lg...