老牌配资平台的十大排名

你的位置:老牌配资平台的十大排名-合法配资平台排行榜_可查的正规十家配资公司 > 老牌配资平台的十大排名 > 股票配资资金 六脉神剑机构自用版:趋势·动量·结构 信号多维共振指标源码

股票配资资金 六脉神剑机构自用版:趋势·动量·结构 信号多维共振指标源码

发布日期:2026-01-02 22:09    点击次数:194

股票配资资金 六脉神剑机构自用版:趋势·动量·结构 信号多维共振指标源码

今天一起来学习,我写的这个六脉神剑机构自用版:趋势·动量·结构+信号多维共振指标源码,就是觉得市场上那些现成的工具总差那么点意思,要么滞后得太明显,要么信号频繁得让人心慌.后来断断续续调整了大半年,慢慢才形成现在这个六脉神剑版本.全篇指标无未来函数,开源学习分享大众.一、指标的基本逻辑你要是细看代码,能发现它其实是在六个维度上分析市场,最后再找个共振点——这种思路很新,但具体怎么组合、怎么判定,里头有点讲究.

图片股票配资资金股票配资资金

1、MACD均线聚合发散指标

先看前两行,LIJIN3和LIJIN4,用的是两条EMA的差值和它的平滑.这东西本质上是个动量观察,快线减慢线,再自己跟自己均线比,金叉死叉那套逻辑.但你看价格动量的微秒级变化,往往最直接.我见过不少人光靠这个就能做趋势过滤,当然单纯用风险也不小.

2、OSC区间滤波算法

接着是LIJIN7到LIJIN9,是随机震荡指标的变体.不过我没用标准参数,而是改成8周期,然后双重平滑.这样处理之后,信号没那么敏感,避免了那些可有可无的波动.你如果翻过传统教材,会发现经典做法是14周期,但我觉得在A股这种波动率下,缩短期数更能抓短期转折.

图片

3、RSI均线回归指标

LIJIN13和LIJIN14这一段,其实是RSI的逻辑.5周期和13周期两个强度指数比大小,强势弱势一目了然.有意思的是,我没直接用RSI的50分界线,而是让两个不同周期的RSI自己较劲——这相当于把时间维度拉进来,观察动量加速还是减速.

4、WR威廉多空指标

最让我自己觉得有点巧思的是LIJIN17到LIJIN19.你看公式前面有个负号,这是反向波动率压抑系数.说白了,就是衡量当前价格相对于近期高点的位置,再标准化成百分比.它不像前面几个那样常见,但能过滤掉很多假突破.尤其在震荡市里,这东西避坑效果不错.

图片

5、BBI多空均线分水岭

均线层LIJIN22那段简单,四条均线取平均,做成一个混合BBI基准线.价格在上还是在下,代表短期和长期资金成本的关系.这放进来做个仓位底色刚好.

6、MFI动量指标

最后LIJIN26开始那段,是借鉴了Elder的(ForceIndex),但用了双重EMA平滑,并且做成比率形式.这玩意儿不像前面那几个指标那么直白,但它能衡量资金进出的效率.你会发现,有时候价格没怎么动,但资金效率已经变了——那可能就是变盘的前兆.

7、多期共振信号

然后所有这些信号,最后被合成一个数值N.当六个维度都发出正向信号时,N=6,就是所谓的“共振”.但这里我没那么理想主义——市场哪那么容易所有指标同时完美?所以又用BARSLAST函数找了最近一次共振发生的位置,再用LLV做条件宽松处理:最近K根BAR内只要曾经有4个指标以上同意,我也认为共振效应还在持续.

图片

二、传统六脉神剑的异同

你说这和传统的“六脉神剑”有什么区别?传统思路喜欢六个指标并列,每个给个箭头,然后让用户自己数有几个看多、几个看空.那种方式很直观,但问题也很明显:指标之间互相冲突是常事,到底听谁的?到底几个算多?我的处理办法是加了一层“记忆逻辑”——不是刹那间的投票,而是看一段时间内的共识强度.这就好比不是数今天几个人支持你,而是看最近一周有几个人始终挺你.

另外,传统多指标系统喜欢每个指标给一样权重.但这显然不合理——有些指标在震荡行情更有效,有些指标趋势行情更靠谱.所以我的代码里,虽然最后是加总,但每个指标的计算周期、平滑方式、甚至数学构造都不一样.它们不是同质化的投票员,而是各有所长的顾问团.

还有一点,传统系统信号出现又消失是常事,反复打脸.所以我用K和P这两个变量做了状态持续性的判断.信号一旦触发,不会因为下一根K线一抖动就消失——必须等到条件彻底逆转才行.这就像你开了艘大船,转弯不能太急,得有点惯性.

图片

三、指标技术总结

当然没有东西是万能的.去年有段时间创业板阴跌,六个指标整整一个月没同时翻多.你如果死等共振,那就完全错过反弹——但反过来想,那波反弹之后迅速破底,没参与也不算坏事.所以工具始终是工具,别指望它百分百预测,但它能帮你避免很多情绪化决策.

我觉得,指标不是预测未来的水晶球,而是一套语言,用来解读市场当下正在发生的故事.这个指标,就是我把六个不同层面的叙事——动量、超买超卖、资金效率、成本结构、波动位置……编织在一起.它们有时同步,有时分歧,但一旦共振,就是一个高置信度的“情节高潮”.

最后我建议把它当作一个观察框架,帮你注意到那些平时容易忽略的协同变化.真正下决定前,还得结合量能、大势、甚至宏观氛围——这些,就需要综合考量每一个变量才能全面.风险提示:本指标仅供技术研究与学习交流使用。市场具有高度不确定性,任何基于本指标的决策都需要自行承担风险,不构成任何投资建议。

四、Python技术指标源码

这个代码需要安装以下Python库:

pip install pandas numpy

并且需要提供包含数据的DataFrame,包含以下列:'date', 'open', 'high', 'low', 'close', 'volume'

import pandas as pdimport numpy as npdef calculate_indicators(df):    '''    计算六脉神剑机构李标森自用版:趋势·动量·结构+信号多维共振指标源码    '''    # 复制数据以避免修改原始数据    df = df.copy()        # 计算LIJIN3和LIJIN4    df['EMA8'] = df['close'].ewm(span=8).mean()    df['EMA13'] = df['close'].ewm(span=13).mean()    df['LIJIN3'] = df['EMA8'] - df['EMA13']    df['LIJIN4'] = df['LIJIN3'].ewm(span=5).mean()    df['LIJIN5'] = df['LIJIN3'] > df['LIJIN4']    df['LIJIN6'] = df['LIJIN5'].astype(int)        # 计算LIJIN7, LIJIN8, LIJIN9    df['LLV8'] = df['low'].rolling(window=8).min()    df['HHV8'] = df['high'].rolling(window=8).max()    df['LIJIN7'] = (df['close'] - df['LLV8']) / (df['HHV8'] - df['LLV8'] + 1e-9) * 100        # 使用SMA计算LIJIN8和LIJIN9    df['LIJIN8'] = df['LIJIN7'].rolling(window=3).mean()    df['LIJIN9'] = df['LIJIN8'].rolling(window=3).mean()    df['LIJIN10'] = df['LIJIN8'] > df['LIJIN9']    df['LIJIN11'] = np.where(df['LIJIN10'], 2, 0)        # 计算LIJIN13和LIJIN14    df['LIJIN12'] = df['close'].shift(1)    df['CLOSE_DIFF'] = df['close'] - df['LIJIN12']    df['MAX_CLOSE_DIFF'] = np.maximum(df['CLOSE_DIFF'], 0)    df['ABS_CLOSE_DIFF'] = np.abs(df['CLOSE_DIFF'])        # 计算SMA    df['SMA_MAX_5'] = df['MAX_CLOSE_DIFF'].rolling(window=5).mean()    df['SMA_ABS_5'] = df['ABS_CLOSE_DIFF'].rolling(window=5).mean()    df['LIJIN13'] = df['SMA_MAX_5'] / (df['SMA_ABS_5'] + 1e-9) * 100        df['SMA_MAX_13'] = df['MAX_CLOSE_DIFF'].rolling(window=13).mean()    df['SMA_ABS_13'] = df['ABS_CLOSE_DIFF'].rolling(window=13).mean()    df['LIJIN14'] = df['SMA_MAX_13'] / (df['SMA_ABS_13'] + 1e-9) * 100        df['LIJIN15'] = df['LIJIN13'] > df['LIJIN14']    df['LIJIN16'] = np.where(df['LIJIN15'], 3, 0)        # 计算LIJIN17, LIJIN18, LIJIN19    df['HHV13'] = df['high'].rolling(window=13).max()    df['LLV13'] = df['low'].rolling(window=13).min()    df['LIJIN17'] = (-(df['HHV13'] - df['close'])) / (df['HHV13'] - df['LLV13'] + 1e-9) * 100        df['LIJIN18'] = df['LIJIN17'].rolling(window=3).mean()    df['LIJIN19'] = df['LIJIN18'].rolling(window=3).mean()    df['LIJIN20'] = df['LIJIN18'] > df['LIJIN19']    df['LIJIN21'] = np.where(df['LIJIN20'], 4, 0)        # 计算LIJIN22    df['MA3'] = df['close'].rolling(window=3).mean()    df['MA6'] = df['close'].rolling(window=6).mean()    df['MA12'] = df['close'].rolling(window=12).mean()    df['MA24'] = df['close'].rolling(window=24).mean()    df['LIJIN22'] = (df['MA3'] + df['MA6'] + df['MA12'] + df['MA24']) / 4    df['LIJIN23'] = df['close'] > df['LIJIN22']    df['LIJIN24'] = np.where(df['LIJIN23'], 5, 0)        # 计算LIJIN26, LIJIN27, LIJIN28    df['LIJIN26'] = df['close'] - df['close'].shift(1)        # 计算双重EMA    df['EMA5_LIJIN26'] = df['LIJIN26'].ewm(span=5).mean()    df['EMA3_EMA5'] = df['EMA5_LIJIN26'].ewm(span=3).mean()        df['ABS_LIJIN26'] = np.abs(df['LIJIN26'])    df['EMA5_ABS'] = df['ABS_LIJIN26'].ewm(span=5).mean()    df['EMA3_EMA5_ABS'] = df['EMA5_ABS'].ewm(span=3).mean()        df['LIJIN27'] = 100 * df['EMA3_EMA5'] / (df['EMA3_EMA5_ABS'] + 1e-9)        df['EMA13_LIJIN26'] = df['LIJIN26'].ewm(span=13).mean()    df['EMA8_EMA13'] = df['EMA13_LIJIN26'].ewm(span=8).mean()        df['EMA13_ABS'] = df['ABS_LIJIN26'].ewm(span=13).mean()    df['EMA8_EMA13_ABS'] = df['EMA13_ABS'].ewm(span=8).mean()        df['LIJIN28'] = 100 * df['EMA8_EMA13'] / (df['EMA8_EMA13_ABS'] + 1e-9)        df['LIJIN29'] = df['LIJIN27'] > df['LIJIN28']    df['LIJIN30'] = np.where(df['LIJIN29'], 7, 0)        # 计算N值    df['N'] = (df['LIJIN5'].astype(int) +                df['LIJIN10'].astype(int) +                df['LIJIN15'].astype(int) +                df['LIJIN20'].astype(int) +                df['LIJIN23'].astype(int) +                df['LIJIN29'].astype(int))        # 计算K值 - 上一次N=6的索引位置    df['K'] = np.nan    n_equal_6 = df[df['N'] == 6].index    for i in range(len(df)):        if i > 0:            prev_n_equal_6 = n_equal_6[n_equal_6 < i]            if len(prev_n_equal_6) > 0:                df.loc[df.index[i], 'K'] = i - prev_n_equal_6[-1]        # 计算P值    df['P'] = df['N']    for i in range(len(df)):        ifnot pd.isna(df['K'].iloc[i]):            k_val = int(df['K'].iloc[i])            if k_val > 0and i >= k_val:                min_n = df['N'].iloc[i - k_val:i].min()                if min_n >= 4:                    df['P'].iloc[i] = 6        # 计算开始共振和持续共振    df['开始共振'] = np.where((df['P'] == 6) & (df['P'].shift(1) < 6), 6, 0)    df['持续共振'] = np.where(df['P'] == 6, 6, 0)        return df

图片

通达信指标代码学习LIJIN3:=EMA(CLOSE,8)-EMA(CLOSE,13);LIJIN4:=EMA(LIJIN3,5);LIJIN5:=(LIJIN3>LIJIN4);LIJIN6:=IF(LIJIN5,1,0);DRAWICON((LIJIN3>LIJIN4),1,1);DRAWICON((LIJIN3<LIJIN4),1,2);LIJIN7:=(CLOSE-LLV(LOW,8))/(HHV(HIGH,8)-LLV(LOW,8))*100;LIJIN8:=SMA(LIJIN7,3,1);LIJIN9:=SMA(LIJIN8,3,1);DRAWICON((LIJIN8>LIJIN9),2,1);DRAWICON((LIJIN8<LIJIN9),2,2);LIJIN10:=(LIJIN8>LIJIN9);LIJIN11:=IF(LIJIN10,2,0);LIJIN12:=REF(CLOSE,1);LIJIN13:=SMA(MAX(CLOSE-LIJIN12,0),5,1)/SMA(ABS(CLOSE-LIJIN12),5,1)*100;LIJIN14:=SMA(MAX(CLOSE-LIJIN12,0),13,1)/SMA(ABS(CLOSE-LIJIN12),13,1)*100;DRAWICON((LIJIN13>LIJIN14),3,1);DRAWICON((LIJIN13<LIJIN14),3,2);LIJIN15:=(LIJIN13>LIJIN14);LIJIN16:=IF(LIJIN15,3,0);LIJIN17:=(-(HHV(HIGH,13)-CLOSE))/(HHV(HIGH,13)-LLV(LOW,13))*100;LIJIN18:=SMA(LIJIN17,3,1);LIJIN19:=SMA(LIJIN18,3,1);DRAWICON((LIJIN18>LIJIN19),4,1);DRAWICON((LIJIN18<LIJIN19),4,2);LIJIN20:=LIJIN18>LIJIN19;LIJIN21:=IF(LIJIN20,4,0);LIJIN22:=(MA(CLOSE,3)+MA(CLOSE,6)+MA(CLOSE,12)+MA(CLOSE,24))/4;DRAWICON(CLOSE>LIJIN22,5,1);DRAWICON(CLOSE<LIJIN22,5,2);LIJIN23:=CLOSE>LIJIN22;LIJIN24:=IF(LIJIN23,5,0);LIJIN26:=CLOSE-REF(CLOSE,1);LIJIN27:=100*EMA(EMA(LIJIN26,5),3)/EMA(EMA(ABS(LIJIN26),5),3);LIJIN28:=100*EMA(EMA(LIJIN26,13),8)/EMA(EMA(ABS(LIJIN26),13),8);DRAWICON(LIJIN27>LIJIN28,6,1);DRAWICON(LIJIN27<LIJIN28,6,2);LIJIN29:=LIJIN27>LIJIN28;LIJIN30:=IF(LIJIN29,7,0);N:=LIJIN5+LIJIN10+LIJIN15+LIJIN20+LIJIN23+LIJIN29;K:=BARSLAST(N=6);P:=IF(LLV(N,K)>=4,6,N);开始共振:IF(P=6&&REF(P,1)<6,6,0),COLORYELLOW,LINETHICK2;持续共振:IF(P=6,6,0),COLORYELLOW,LINETHICK2;

注意:本指标源码用于通达信,友情提示:代码较多。本文所述模型算法仅限学术探讨,指标公式作为知识免费分享,'基于开源数据集的理论推演',仅用于学习交流。

学习分享

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

图片

图片

分享知识:感恩三田都元帅,心中有三田,生活一定甜,敬神常在,爱人如己,我为人人,与人为善,分享快乐! 本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。

下一篇:没有了

老牌配资平台的十大排名-合法配资平台排行榜_可查的正规十家配资公司