如何获取开盘后第二根5分钟K线高低点及1:2目标线?
开盘后第二根5分钟K线高低点提取与1:2目标线计算方案
核心操作步骤
1. 定位目标K线
先明确交易日开盘时间,以A股(9:30开盘)为例:
- 第一根5分钟K线:9:30-9:35
- 第二根5分钟K线:9:35-9:40
从你的K线数据集中筛选对应时间区间的K线,提取该K线的high(高点)和low(低点)数值。
2. 判断K线阴阳
- 阳线:K线收盘价(
close)> 开盘价(open) - 阴线:K线收盘价(
close)< 开盘价(open)
3. 计算1:2比例目标线
根据K线类型套用对应公式:
- 阳线目标线:
target = high + 2 * (high - low) - 阴线目标线:
target = low - 2 * (high - low)
实战代码示例
TradingView Pine Script版本
//@version=5 indicator("Second 5min Kline Target", overlay=true) // 设定A股开盘时区(东八区)与时间 sessionStart = timestamp("GMT+8", year, month, dayofmonth, 9, 30, 0) firstBarEnd = sessionStart + 5 * 60 * 1000 secondBarStart = firstBarEnd secondBarEnd = secondBarStart + 5 * 60 * 1000 // 标记第二根5分钟K线 isSecondBar = time >= secondBarStart and time < secondBarEnd // 提取第二根K线关键数据 secondHigh = ta.valuewhen(isSecondBar, high, 0) secondLow = ta.valuewhen(isSecondBar, low, 0) secondOpen = ta.valuewhen(isSecondBar, open, 0) secondClose = ta.valuewhen(isSecondBar, close, 0) // 判断阴阳线并计算目标线 isGreen = secondClose > secondOpen isRed = secondClose < secondOpen target = isGreen ? secondHigh + 2 * (secondHigh - secondLow) : isRed ? secondLow - 2 * (secondHigh - secondLow) : na // 绘制目标线 plot(target, color=isGreen ? color.green : color.red, linewidth=2, title="Target Line")
Python pandas版本
假设你已获取5分钟K线数据并存储在df中,包含datetime、open、high、low、close列:
import pandas as pd # 筛选当日K线并排序 df['datetime'] = pd.to_datetime(df['datetime']) today_df = df[df['datetime'].dt.date == pd.Timestamp.today().date()].sort_values('datetime') # 提取第二根K线数据(索引1对应第二根) second_kline = today_df.iloc[1] high, low = second_kline['high'], second_kline['low'] open_p, close_p = second_kline['open'], second_kline['close'] # 计算目标线 if close_p > open_p: target = high + 2 * (high - low) elif close_p < open_p: target = low - 2 * (high - low) else: target = None # 平盘场景可自行定义处理逻辑 print(f"第二根5分钟K线高点: {high}, 低点: {low}") print(f"目标线数值: {target}")
内容的提问来源于stack exchange,提问作者DEEPAK NEELAGIRI
相关产品推荐
相关产品推荐

