朋友们大家好今天来学习这个通达信指标算法在线配资炒股网,注意:本指标源码用于通达信,友情情提示:代码较多,一定要复制全。本文所述模型算法仅限学术探讨,指标公式作为知识免费分享,'基于开源数据集的理论推演',仅用于学习交流。
图片
图片
风险提示:本指标仅供技术研究与学习交流使用。市场具有高度不确定性,任何基于本指标的决策都需要自行承担风险,不构成任何投资建议。01 指标图例
图片
图一
图片
图二02 Py 源码
import pandas as pdimport matplotlib.pyplot as pltdef plot_signals(df): plt.figure(figsize=(12, 6)) plt.plot(df.index, df['CLOSE'], label='Close Price') # 标记信号位置 signals = df[df['LIJIN']] plt.scatter(signals.index, signals['CLOSE'], color='red', label='LIJIN Signal') plt.title('Trading Signals') plt.legend() plt.show()# 在示例使用部分添加plot_signals(df)def calculate_lijin_signals(df): # 计算基础指标 df['LIJINE'] = (df['VOL'] * (df['CLOSE'] - df['OPEN'])) / (df['CLOSE'] + df['OPEN'] + 1e-8) # 计算EMA指标 df['LIJINE1'] = df['LIJINE'].ewm(span=38, adjust=False).mean() df['LIJINW'] = df['LIJINE1'].ewm(span=8, adjust=False).mean() # 计算移动平均 df['LIJINW1'] = df['LIJINW'].rolling(3).mean() df['LIJINW2'] = df['LIJINW'].rolling(10).mean() # 计算均线组合 df['MA41'] = df['CLOSE'].rolling(41).mean() df['LIJIN111'] = df['MA41'] * 1.10 df['MA23'] = df['CLOSE'].rolling(23).mean() df['LIJIN211'] = df['MA23'] * 1.05 # 计算复合均线 ma3 = df['CLOSE'].rolling(3).mean() ma6 = df['CLOSE'].rolling(6).mean() ma12 = df['CLOSE'].rolling(12).mean() ma24 = df['CLOSE'].rolling(24).mean() df['LIJIN311'] = (ma3 + ma6 + ma12 + ma24) / 4 # 计算高价均线 df['LIJIN411'] = df['HIGH'].rolling(5).mean() # 条件判断 df['LIJIN511'] = df['CLOSE'] > df['CLOSE'].shift(1) * 1.088 df['LIJIN911'] = (df['VOL'] > 0).astype(int) # 假设DYNAINFO(17)表示有效成交量 df['LIJIN101'] = df['LIJIN911'] # 定义交叉函数 def crossover(s1, s2): return (s1 > s2) & (s1.shift(1) <= s2.shift(1)) # 计算交叉信号 cross1 = crossover(df['LIJIN411'], df['LIJIN111']) cross2 = crossover(df['LIJIN311'], df['LIJIN111']) cross3 = crossover(df['LIJIN311'], df['LIJIN211']) # 最终信号合成 df['LIJIN'] = (cross1 | cross2 | cross3) & df['LIJIN511'] & df['LIJIN101'] return df图片
AA赋值:成交量(手)/((最高价-最低价)*2-收盘价-开盘价的绝对值)买量赋值:如果收阳线,返回AA*(最高价-最低价),否则返回如果收阴线,返回AA*((最高价-开盘价)+(收盘价-最低价)),否则返回成交量(手)/2,线宽为0,画红色卖量赋值:如果收阳线,返回0-AA*((最高价-收盘价)+(开盘价-最低价)),否则返回如果收阴线,返回0-AA*(最高价-最低价),否则返回0-成交量(手)/2,线宽为0,画青色WJ赋值:(最高价+最低价+收盘价)/3V1赋值:如果最高价=最低价,返回1,否则返回最高价-开盘价和收盘价的较大值V2赋值:如果最高价=最低价,返回1,否则返回收盘价和开盘价的较大值-WJV3赋值:如果最高价=最低价,返回1,否则返回开盘价和收盘价的较小值-最低价V4赋值:如果最高价=最低价,返回1,否则返回WJ-收盘价和开盘价的较小值V5赋值:成交额(元)/如果最高价=最低价,返回4,否则返回最高价-最低价/10000市值赋值:流通市值/10000,NODRAW
图片
03 指标源码
通达信复制下方代码即可在线配资炒股网,代码仅用于学习交流使用。
LIJINE:=((VOL*(CLOSE-OPEN))/(CLOSE+OPEN));LIJINE1:=EMA(((VOL*(CLOSE-OPEN))/(CLOSE+OPEN)),38);LIJINW:=EMA(LIJINE1,8),LINETHICK3,COLORSTICK;LIJINW1:MA(LIJINW,3),COLORYELLOW,LINETHICK2;LIJINW2:MA(LIJINW,10),COLORMAGENTA,LINETHICK2;LIJIN111:=MA(CLOSE,41)+MA(CLOSE,41)*10/100;LIJIN211:=MA(CLOSE,23)+MA(CLOSE,23)*5/100;LIJIN311:=(MA(CLOSE,3)+MA(CLOSE,6)+MA(CLOSE,12)+MA(CLOSE,24))/4;LIJIN411:=MA(HIGH,5);LIJIN511:=CLOSE>REF(CLOSE,1)*1.088;LIJIN911:=DYNAINFO(17)>0;LIJIN101:=LIJIN911;LIJIN:CROSS(LIJIN411,LIJIN111)联华证券提示:文章来自网络,不代表本站观点。