Python 实现股票指标计算——DKX

DKX - 多空线

1 公式

MID:=(3*CLOSE+LOW+OPEN+HIGH)/6;

DKX:(20*MID)+19*REF(MID,1)+18*REF(MID,2)+17*REF(MID,3)+

16*REF(MID,4)+15*REF(MID,5)+14*REF(MID,6)+

13*REF(MID,7)+12*REF(MID,8)+11*REF(MID,9)+

10*REF(MID,10)+9*REF(MID,11)+8*REF(MID,12)+

7*REF(MID,13)+6*REF(MID,14)+5*REF(MID,15)+

4*REF(MID,16)+3*REF(MID,17)+2*REF(MID,18)+REF(MID,20)/210;

MADKX:MA(DKX,M);

2 数据准备

我们以科创50指数 000688 为例,指数开始日期为2019-12-31,数据格式如下:

3 计算过程

def calculate_dkx(df: pd.DataFrame, N=10):
    """
    计算 DKX 指标及其移动平均线 MADKX。

    参数:
    df (pd.DataFrame): 包含至少 'open', 'high', 'low', 'close' 列的 DataFrame,
                       分别代表每日开盘价、最高价、最低价和收盘价。
    N (int): 用于计算 MADKX 的时间窗口大小,默认为10。

    返回:
    pd.DataFrame: 包含原始数据及计算出的DKX和MADKX值的 DataFrame。
    """

    # 创建一个df的副本以避免修改原始数据
    data = df.copy()

    # 计算中间价 (Mid-price),这里是采用收盘价、开盘价、最高价和最低价的加权平均
    mid = (3*data['close'] + data['high'] + data['low'] + data['open']) / 6

    # 初始化 DKX 指标
    dkx = 0
    a = 0

    # 计算 DKX 指标
    # 这里使用了一个循环来计算最近20天的加权平均
    for i in range(1, 21):
        a += i  # 累加权重
        tmp = mid.shift(i-1) * (21 - i)  # 计算加权项
        dkx += tmp  # 累加加权项

    # 计算最终的 DKX 指标值
    dkx = dkx / a

    # 计算 DKX 指标的 N 周期移动平均线 MADKX
    madkx = dkx.rolling(N).mean()

    # 将计算出的 DKX 和 MADKX 值添加到 DataFrame
    data['dkx'] = dkx
    data['madkx'] = madkx

    # 返回包含所有计算出指标的 DataFrame
    return data

4 注意事项

参数N=10时,计算结果与东方财富软件中一致

雪球无此指标

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MT4-DKX多空分水线是一款专为MetaTrader 4平台设计的技术指标扩展文件(.ex4)。该指标的主要作用是帮助交易者判断市场的多空力量变化和趋势反转的时机。 该指标计算基于市场价格和成交量的综合分析。它通过分析市场的多空力量平衡来判断市场趋势的转折点。在图表上,MT4-DKX多空分水线以分水线的形式呈现,当多头力量高于空头力量时,分水线上升,表示多头趋势;当空头力量高于多头力量时,分水线下降,表示空头趋势。交叉分水线的位置则表示市场趋势发生了反转的可能,提示交易者注意趋势变化。 该指标的应用可以帮助交易者更好地理解市场趋势,并作出相应的交易决策。当分水线上升或下降时,交易者可以借此确认市场的多空力量强弱,并考虑进一步的买入或卖出机会。当分水线交叉时,交易者可以借此判断趋势反转的可能性,以避免错过逆势交易机会。 总结而言,MT4-DKX多空分水线是一款可在MetaTrader 4平台上使用的技术指标,通过对市场多空力量的综合分析来判断市场趋势的转折点。它的应用能够帮助交易者更好地把握市场行情,作出更明智的交易决策。 ### 回答2: MT4-DKX多空分水线是一种基于MetaTrader 4(MT4)平台的技术指标,它的全称是MT4-DKX Bull Bear Separation Line。这个指标旨在帮助交易者观察市场趋势的转变。它通过计算一段时间内的股价波动平均值,并将其以曲线图的形式呈现,以便交易者更加直观地观察市场的多空力量。 在MT4-DKX多空分水线指标中,分水线的主要含义是表示市场空多力量的分割线。当股价在分水线上方运动时,意味着市场处于多头(上涨)状态;而当股价低于分水线时,意味着市场处于空头(下跌)状态。交易者可以根据这个指标的图表变动来判断市场当前的多空态势,从而制定相应的交易策略。 此外,MT4-DKX多空分水线指标还可以配合其他技术指标一起使用,以增强分析和决策的准确性。比如,交易者可以将其与其他趋势指标如移动平均线等进行比较,来进一步确认市场的多空趋势,并推测未来价格的走势。 总之,MT4-DKX多空分水线是一种用于辅助交易决策的技术指标,通过分析股价的均值波动情况,帮助交易者判断市场的多空力量和趋势变化。使用此指标可以更好地把握市场的行情,从而更加科学和有依据地进行交易操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值