分享

DeepSeek大模型:通达信多维度抢反弹 三重滤网技术指标与C 源代码

 爆花户 2025-04-24 发布于广西

兄弟们,今天咱来学习研究下这个通达信多维度抢反弹指标,那可真是有点意思,要是放在市场里,说不定能帮大家少走点弯路呢。

一、核心功能:看趋势+抓机会

它用了一堆不同周期的均线,像3天、10天、20天、30天、60天这些,然后我还搞了个动态趋势强度,用EMA(指数平滑移动平均)来算偏离度,这不就比那种死板的均线判断方向强多了嘛。

图片

而且,它还有个阈值触发,要是LIJIN13小于8,同时LIJIN27大于95,就冒个蓝色柱子信号,这不就是把趋势强度和动量给结合起来了,能更精准地捕捉到机会。

再看看这波动率通道,也不是普通的布林带。它在20日均线的基础上,搞了个标准差通道,还加了个价线,把价格定位到波动率区间里,弄出个0到100的标准化图谱。这还不算,它还用趋势线拟合算法,结合上下轨突破信号,这波动率通道和趋势线突破一结合,验证起来就更有说服力了。

动量指标RSI和乖离率双因子共振,RSI1用6日周期,要是超过80就发预警。乖离率那块,我通过计算和交叉信号捕捉均值回归机会,还能搞出个动量反转策略。还有量价背离检测集合了成交量加权动量指标,识别底部背离形态,这不就又多了一种判断市场反转的手段嘛。

图片

二、指标趋势判断

再来说说趋势判断算法。趋势确认模块里,我觉得金叉死叉逻辑挺有意思,14日动态均线(LIJIN29)平衡了灵敏度和稳定性,还用均线斜率过滤,避免假突破。趋势强度评估里,EMA动态权重对均线偏离度进行指数衰减处理,比传统SMA更敏感。波动率标准化把价格映射到0-100区间,结合趋势线,突破阈值还能触发极端行情预警。在多周期动量共振里,我们可以通过跨周期指标融合,分别判断中期趋势反转和构建底部反转信号,并且我们还可以设置信号优先级机制,避免多周期信号冲突。

三、指标技术创新与应用

技术创新点也挺多的,动态自适应架构里,参数弹性设计让LIJIN29(14日)与LIJIN29 * 1.5(21日)形成动态均线组合,我们验证趋势持续性,避免固定周期参数的滞后性。波动率自适应采用VART3计算标准差,更适应波动率聚类特性。

最后说说应用场景和局限性。这指标在震荡市里,通过RSI和乖离率底背离组合捕捉反弹机会;在趋势市里,依赖均线斜率和波动率通道突破信号捕捉主升浪。不过,这指标也不是万能的,市场千变万化,不可能有哪个指标能一直准确无误。大家要是想用这指标,还是得结合自己的经验和判断,别完全依赖它,我们有兴趣可以评论区一起交流交流继续研究研究。

图片
四、通达信多维度抢反弹+三重滤网技术指标
LIJIN1:=MA(C,3);LIJIN2:=MA(C,10);LIJIN3:=MA(C,20);LIJIN4:=MA(C,30);LIJIN5:=MA(C,60);LIJIN6:=ABS(LIJIN1-LIJIN2)/MIN(LIJIN1,LIJIN2);LIJIN7:=ABS(LIJIN1-LIJIN3)/MIN(LIJIN1,LIJIN3);LIJIN8:=ABS(LIJIN1-LIJIN4)/MIN(LIJIN1,LIJIN4);LIJIN9:=ABS(LIJIN3-LIJIN2)/MIN(LIJIN3,LIJIN2);LIJIN10:=ABS(LIJIN4-LIJIN2)/MIN(LIJIN4,LIJIN2);LIJIN11:=ABS(LIJIN3-LIJIN4)/MIN(LIJIN3,LIJIN4);LIJIN12:=MAX(MAX(MAX(LIJIN6,LIJIN7),MAX(LIJIN8,LIJIN9)),MAX(LIJIN10,LIJIN11))*100,LINETHICK2;LIJIN13:=EMA(LIJIN12,3),COLORBLUE;LIJIN14:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;LIJIN15:=(SMA(LIJIN14,3,1)-18)*1.55;LIJIN16:=(CLOSE-LLV(LOW,100))/(HHV(HIGH,100)-LLV(LOW,100))*100;LIJIN17:=SMA(LIJIN16,10,1);LIJIN18:=(HHV(H,5)-C)/(HHV(H,5)-LLV(L,5))*(-1)+0.9;LIJIN19:=(HHV(H,10)-C)/(HHV(H,10)-LLV(L,10))*(-1)+0.92;LIJIN20:=(HHV(H,15)-C)/(HHV(H,15)-LLV(L,15))*(-1)+0.93;LIJIN21:=(HHV(H,55)-C)/(HHV(H,55)-LLV(L,55))*(-1)+0.94;LIJIN22:=(HHV(H,89)-C)/(HHV(H,89)-LLV(L,89))*(-1)+0.95;LIJIN23:=(HHV(H,120)-C)/(HHV(H,120)-LLV(L,120))*(-1)+0.91;LIJIN24:=(HHV(H,180)-C)/(HHV(H,180)-LLV(L,180))*(-1)+0.96;LIJIN25:=(((LIJIN18+LIJIN19+LIJIN20)*8+LIJIN21+LIJIN22+LIJIN24+LIJIN23)/28-0.1)*185;LIJIN26:=SMA(LIJIN25,3,1);LIJIN27:=(LIJIN15+LIJIN17+LIJIN26*2)/4,COLOR00FFFF;LIJIN28:IF(LIJIN13<8&&LIJIN27>95,LIJIN27,0),STICK,LINETHICK3,COLORFFFFFF;LIJIN29:=14;LIJIN30:=LIJIN29/2;LIJIN31:=MA(C,LIJIN29)>MA(C,LIJIN29*1.5)&&MA(C,LIJIN29*1.5)>MA(C,LIJIN29*3)&&MA(C,3)>MA(C,LIJIN29*6);LIJIN32:=COUNT(C>MA(C,LIJIN29),LIJIN30)=LIJIN30;LIJIN33:=BARSLAST(LIJIN32);STICKLINE(LIJIN32,0,LIJIN30*0.8,5,1),COLORRED;LIJIN34:=CROSS(MA(C,LIJIN29),C);LIJIN35:=MA(C,LIJIN29/2)/MA(C,LIJIN29*2)>=1.05;LIJIN36:=(LIJIN34&&LIJIN33<=3&&LIJIN31&&LIJIN35)*LIJIN29,COLOR00FF00,LINETHICK2;LIJIN37:=COUNT(C<MA(C,LIJIN29),LIJIN30)=LIJIN30;LIJIN38:=BARSLAST(LIJIN37);STICKLINE(LIJIN37,0,LIJIN30*-0.8,5,1),COLOR00FF00;LIJIN39:=CROSS(C,MA(C,LIJIN29));LIJIN40:=(LIJIN39&&LIJIN38<=3)*LIJIN30,COLORFF00FF,LINETHICK2;LIJIN41:LIJIN32*LIJIN30*0.3,COLORRED;LIJIN42:LIJIN37*LIJIN30*-0.3,COLOR00FF00;LIJIN43:=(EMA(CLOSE,12)-EMA(CLOSE,26))*(100)+50;LIJIN44:=EMA(LIJIN43,9);LIJIN45:=((HHV(HIGH,21)-CLOSE)/(HHV(HIGH,21)-LLV(LOW,21)))*(100)-10;LIJIN46:=((CLOSE-LLV(LOW,21))/(HHV(HIGH,21)-LLV(LOW,21)))*(100);LIJIN47:=SMA(LIJIN46,13,8);LIJIN48:=CEILING(SMA(LIJIN47,13,8)),COLOR00FF00;LIJIN49:=SMA(LIJIN45,21,8);STICKLINE(LIJIN48-LIJIN49>85,100,95,6,1),COLORFFFF00;MID:=MA(C,20);VART1:=POW((C-MID),2);VART2:=MA(VART1,20);VART3:=SQRT(VART2);UPPER:=MID+2*VART3;LOWER:=MID-2*VART3;BOLL:=REF(MID,1);UB:=REF(UPPER,1);LB:=REF(LOWER,1);LOWER1:=MID-VART3;LB1:=REF(LOWER1,1);价线:(C-LB1)/(UB-LB)*100,COLORGREEN,LINETHICK1;趋势:MA(价线,6),COLORRED,LINETHICK3;90,COLORGREEN,LINETHICK1;0,COLORWHITE,LINETHICK1;VARC:=SMA(ABS(L-REF(L,1)),3,1)/SMA(MAX(L-REF(L,1),0),3,1);准备:EMA(IF(L<=LLV(L,30),VARC,0),3),COLORFF00FF,LINETHICK2;VARO5:=LLV(LOW,27);VARO6:=HHV(HIGH,34);VARO7:=EMA((CLOSE-VARO5)/(VARO6-VARO5)*4,4)*25;BIAS1:=(C-MA(C,6))/MA(C,6)*100;BIAS2:=(C-MA(C,12))/MA(C,12)*100;BIAS3:=(C-MA(C,24))/MA(C,24)*100;BIAS:=(BIAS1+2*BIAS2+3*BIAS3)/6;乖离1:=MA(BIAS,3);有戏:IF(CROSS(BIAS,乖离1)&&乖离1<-9,28,0),COLORRED,LINETHICK2;IF(CROSS(BIAS,乖离1)&&乖离1<-9,18,0),COLORRED,LINETHICK2;STICKLINE(CROSS(BIAS,乖离1)&&乖离1<-9,-12,0,8,0),COLORYELLOW;LC:=REF(CLOSE,1);RSI1:=SMA(MAX(CLOSE-LC,0),6,1)/SMA(ABS(CLOSE-LC),6,1)*100;预警:CROSS(80,RSI)*88,LINETHICK2,COLORGREEN;CROSS(80,RSI)*58,LINETHICK2,COLORGREEN;DRAWTEXT(CROSS(80,RSI),88,'预警'),COLORGREEN;LIJINZ1:=MA(C,5);LIJINZ2:=MA(C,10);LIJINZ3:=MA(C,20);LIJINZ4:=MA(C,60);LIJINZ5:=RSI(6);LIJINZ6:=RSI(12);LIJINZ7:=(CLOSE-MA(CLOSE,12))/MA(CLOSE,12)*100;LIJINZ8:=CROSS(LIJINZ7,-6);LIJINZ9:=REF(CLOSE,1);LIJINZ10:=((SMA(MAX((CLOSE-LIJINZ9),0),7,1)/SMA(ABS((CLOSE-LIJINZ9)),7,1))*100);LIJINZ11:=((SMA(MAX((CLOSE-LIJINZ9),0),13,1)/SMA(ABS((CLOSE-LIJINZ9)),13,1))*100);LIJINZ12:=((BARSLAST((LIJINZ11<23))<=3)&&CROSS(LIJINZ10,LIJINZ11));LIJINZ13:=((((CLOSE-MA(CLOSE,23))/MA(CLOSE,20))*100)<-12.5);LIJINZ14:=LLV(LOW,5);LIJINZ15:=HHV(HIGH,10);LIJINZ16:=EMA((((CLOSE-LIJINZ14)/(LIJINZ15-LIJINZ14))*100),4);LIJINZ17:=EMA(((0.667*REF(LIJINZ16,1))+(0.333*LIJINZ16)),2);LIJINZ18:=LIJINZ12&&LIJINZ13&&CROSS(LIJINZ16,LIJINZ17)&&(LIJINZ16<=25);LIJINZ19:=O/HHV(C,30)<0.78;LIJINZ20:=C/MA(C,50)<0.78;LIJINZ21:=O=LLV(O,30);LIJINZ22:=C/SMA(C,13,1)-1;LIJINZ23:=REF(LIJINZ22,1)<-0.13;LIJINZ24:=REF(LIJINZ22,1)/LIJINZ22>1.1582;LIJINZ25:=COUNT(H>L*1.05,5)>2;LIJINZ26:=LIJINZ19&&LIJINZ20&&LIJINZ21&&LIJINZ23&&LIJINZ24&&LIJINZ25;初期FT:=(LIJINZ8)||((CROSS(LIJINZ1,LIJINZ2)&&REF(LIJINZ1,1)<REF(LIJINZ2,1)&&REF(LIJINZ2,5)/REF(LIJINZ2,1)>1.05));中期FT:=(LIJINZ18)||(CROSS(LIJINZ3,LIJINZ4)&&REF(LIJINZ3,1)<REF(LIJINZ4,1)&&REF(LIJINZ4,20)/REF(LIJINZ4,1)>1.15);后期FT:=(LIJINZ26)||(CROSS(LIJINZ5,LIJINZ6)&&LIJINZ5<30&&REF(LIJINZ5,3)<20&&COUNT(C<MA(C,60),20)>15);IF(初期FT,30,0),COLORWHITE;IF(中期FT,50,0),COLOR0080FF;IF(后期FT,70,0),COLORYELLOW;DRAWICON(初期FT,30,1);DRAWICON(中期FT,50,1);DRAWICON(后期FT,70,1);STICKLINE(中期FT,0,50,10,0),COLOR0080FF;STICKLINE(后期FT,0,70,10,0),COLORYELLOW;DRAWTEXT(初期FT,30,'初期'),COLORWHITE;DRAWTEXT(中期FT,70,'中期'),COLORYELLOW;DRAWTEXT(后期FT,80,'后期'),COLORGREEN;
图片
五、C+源代码多维度抢反弹三重滤网技术指标
#include <iostream>
#include <vector>
#include <cmath>
#include <algorithm>

// 计算移动平均线
double MovingAverage(const std::vector<double>& prices, int period) {
    if (period <= 0 || period > prices.size()) {
        throwstd::invalid_argument('Invalid period for moving average');
    }
    double sum = 0.0;
    for (size_t i = 0; i < period; ++i) {
        sum += prices[i];
    }
    std::vector<doublema(prices.size() - period + 1);
    ma[0] = sum / period;
    for (size_t i = 1; i < ma.size(); ++i) {
        sum += prices[i + period - 1] - prices[i - 1];
        ma[i] = sum / period;
    }
    return ma.back(); // 返回最后一个移动平均值
}

// 计算指数移动平均线
double ExponentialMovingAverage(const std::vector<double>& prices, int period) {
    if (period <= 0 || period > prices.size()) {
        throwstd::invalid_argument('Invalid period for EMA');
    }
    double multiplier = 2.0 / (period + 1);
    double ema = prices[0];
    for (size_t i = 1; i < prices.size(); ++i) {
        ema = (prices[i] - ema) * multiplier + ema;
    }
    return ema;
}

// 计算相对强弱指标 (RSI)
double RSI(const std::vector<double>& prices, int period) {
    if (period <= 0 || period > prices.size()) {
        throwstd::invalid_argument('Invalid period for RSI');
    }
    double gainSum = 0.0, lossSum = 0.0;
    for (size_t i = 1; i <= period; ++i) {
        double change = prices[i] - prices[i - 1];
        if (change > 0) {
            gainSum += change;
        } else {
            lossSum -= change;
        }
    }
    double avgGain = gainSum / period;
    double avgLoss = lossSum / period;
    double rs = avgLoss == 0 ? 100 : avgGain / avgLoss;
    return100 - (100 / (1 + rs));
}

风险提示:本指标仅供技术研究与学习交流使用。市场具有高度不确定性,任何基于本指标的决策都需要自行承担风险,不构成任何投资建议。

图片

图片

图片




学习分享



学术交流:我们专注于市场的学术交流与研究包括自用指标零滞后均线最速曲线,以及自动化程序量化学习。

分享知识:田都元帅,敬神常在,爱人如己,我为人人,与人为善,分享快乐!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约