原创 +2银贝 缠论系列2———判断K线的包含关系

那一秒 5天前 53

一、什么是K线包含关系? 在K线图中,包含关系是指后一根K线的实体完全被前一根K线包含,或者反之。这种关系常见于市场震荡阶段,会干扰形态识别和趋势判断。

具体而言: 向右包含:前一根K线的最高价更高、最低价更低,包住了后一根K线; 向左包含:后一根K线的最高价更高、最低价更低,包住了前一根K线。 识别并调整这些包含关系,有助于构建清晰的趋势结构,是缠论等技术形态中非常重要的一环。

二、教程目标 本教程基于Python实现了一个函数 adjust_by_cintainment(),用于自动识别并合并包含关系的K线,得到更简洁、真实的趋势。

三、代码结构概览

def adjust_by_cintainment(k_data):
    ...
    return adjusted_k_data

输入:原始K线数据(DataFrame,包含 open、high、low、close 字段) 输出:处理后去除了包含关系的K线序列

四、关键步骤解析

  1. 初始化变量
trend = [0]  
adjusted_k_data = pd.DataFrame()
temp_data = k_data[:1]
trend 用于记录趋势变化:0为持平,1为上升,-1为下降。
temp_data 保存当前处理的K线,用于判断是否被包含或包含他人。
  1. 遍历K线数据,识别包含关系
for i in range(len(k_data)):

在循环中,每一根K线都要与上一根(temp_data)进行比较,判断属于以下哪种情况:

✔️ 情况1:向右包含

if temp_data.high >= k_data.high and temp_data.low <= k_data.low

表示当前K线被上一根K线包住。这种情况下,根据上一个趋势(trend),适当调整hig

本主题为课程学员专享,成为股票量化投资课程学员后可免费阅读

成为学员
最新回复 ( 0条评论 )


官方微信
码力十足学量化
Powered by Xiuno BBS 4.0.7

官方微信