社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python编程学动量自动化:主力筹码控盘指标公式通达信源码

量化对冲套利 • 2 天前 • 11 次点击  

朋友们大家好今天来学习这个主力筹码控盘指标公式通达信指标算法,注意本指标源码用于通达信,友情情提示:代码较多,一定要复制全。本文所述模型算法仅限学术探讨,指标公式作为知识免费分享,"基于开源数据集的理论推演",仅用于学习交流。

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

01 指标图例


图一

图二

02 Py源代码



import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.colors import LinearSegmentedColormap

def FORCAST(series, n):
    """线性回归预测函数"""
    result = np.full(len(series), np.nan)
    for i in range(n, len(series)):
        x = np.arange(n)
        y = series[i-n:i]
        A = np.vstack([x, np.ones(n)]).T
        b, a = np.linalg.lstsq(A, y, rcond=None)[0]
        result[i] = a + b * (n-1)  主力筹码控盘指标公式通达信源码预测下一个值
    return result

def EMA(series, n):
    """指数移动平均"""
    return series.ewm(span=n, adjust=False).mean()

def calculate_lijin(df):
    """计算李津主力指标"""
    # 计算中间变量
    df['LIJINW1'] = (df['close']*2 + df['high'] + df['low']) / 4 * 10
    df['FC13'] = FORCAST(df['LIJINW1'].values, 13)
    df['FC34'] = FORCAST(df['LIJINW1'].values, 34)
    df['LIJINW2'] = df['FC13'] - df['FC34']
    df['LIJINW3'] = FORCAST(df['LIJINW2'].values, 5)
    df['LIJINW4'] = 2 * (df['LIJINW2'] - df['LIJINW3']) * 5.5
    
    主力筹码控盘指标公式通达信源码计算主力吃吐线
    df['李津主力吃'] = np.where(df['LIJINW4'] >= 0, df['LIJINW4'], 0)
    df['李津主力吐'] = np.where(df['LIJINW4'] <= 0, df['LIJINW4'], 0)
    
    # 计算信号点
    df['吃信号'] = (df['李津主力吃'].shift(1) <=  0.5) & (df['李津主力吃'] > 0.5)
    df['吐信号'] = (df['李津主力吐'].shift(1) >= -0.5) & (df['李津主力吐'] -0.5)
    
    return df

def plot_lijin(df):
    """绘制李津主力指标图"""
    plt.figure(figsize=(148))
    
    主力筹码控盘指标公式通达信源码创建渐变颜色
    red_cmap = LinearSegmentedColormap.from_list('red_band', ['#a00000''#000000'], N=6)
    green_cmap = LinearSegmentedColormap.from_list('green_band', ['#008cf0''#000000'], N=6)
    
    # 绘制主力吃区域(红色系渐变)
    for i, factor in enumerate([1.00.90.80.70.60.5]):
        band = df['李津主力吃'] * factor
        plt.fill_between(df.index, 0, band, color=red_cmap(i/5), alpha=0.8)
    
    # 绘制主力吐区域(绿色系渐变)
    for i, factor in enumerate([1.00.90.80.70.60.5]):
        band = df['李津主力吐'] * factor
        plt.fill_between(df.index, band, 0, color=green_cmap(i/5), alpha=0.8)
    
    # 绘制零线和吃货线
    plt.axhline(0, color='gray', linestyle='-', alpha=0.7)
    plt.axhline(6, color='#ff80ff', linewidth=2, label='李津主力吃货线')
    
    主力筹码控盘指标公式通达信源码绘制信号标记
    eat_signals = df[df['吃信号']]
    spit_signals = df[df['吐信号']]
    plt.scatter(eat_signals.index, [0]*len(eat_signals), marker='^'
                color='red', s=100, label='买入信号', zorder=5)
    plt.scatter(spit_signals.index, [0]*len(spit_signals), marker='v'
                color='green', s=100, label='卖出信号', zorder=5)
    
    主力筹码控盘指标公式通达信源码设置图表属性
    plt.title('李津主力指标', fontsize= 16)
    plt.ylabel('主力强度', fontsize=12)
    plt.legend()
    plt.grid(alpha=0.3)
    plt.tight_layout()
    
    # 显示图表
    plt.show()

顺势而为 长期坚持 波段做T



学习分享



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

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

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/183259
 
11 次点击