feat: 初始化,并增加分析

master
Lxy 3 months ago
commit 56f0db7844

@ -0,0 +1,14 @@
# claw skills合集
## futures-technical-analysis
获取多周期数据并进行分析
### 使用示例
- 分析一下Au2604 -- 期货
- 分析一下000001 -- 股票
- 上传数据json分析一下xxxx

@ -0,0 +1,307 @@
---
name: futures-technical-analysis
description: 期货和股票技术分析实战分析工具。提供支撑阻力、止跌反弹、多周期共振、滞涨回调、多空分歧五大核心主题的判断方法与实操Checklist。支持两种数据输入模式(1)自动获取 - 当用户提供合约代码(如SN2504)或股票代码(如000001)时自动调用数据获取脚本获取多周期K线数据(2)手动提供 - 用户直接提供JSON格式K线数据。自动分析各周期多空情况、关键点位、交易建议及预案。适用于期货日内/波段交易分析、股票技术分析、趋势识别、关键位验证、交易决策支持。当用户需要期货/股票技术分析指导、交易策略制定、市场结构判断、多周期共振验证、支撑阻力有效性确认时使用本Skill。
---
# 期货技术分析实战分析
本Skill提供完整的期货交易技术分析框架涵盖五大核心主题
## 核心功能
1. **支撑/阻力有效性判断** - 五维度验证法(测试次数、成交量、周期共振、基本面、突破后表现)
2. **止跌与反弹鉴别** - 四大维度确认止跌,区分下跌中继与反转趋势
3. **多周期共振交易法** - 60分钟定趋势→30分钟找拐点→15分钟择入场
4. **滞涨与回调性质区分** - 洗盘vs反转的多周期共振判断
5. **多空分歧识别** - 五维度识别分歧强度,预判趋势转折
6. **JSON数据自动分析** - 接收多周期K线JSON数据输出完整分析报告
## 使用方法
### 分析流程
当用户需要进行期货或股票技术分析时,按以下步骤执行:
1. **判断数据来源** - 检查用户是否提供了JSON格式的K线数据
- **情况A未提供JSON数据** → 执行[数据获取流程](#数据获取流程)
- **情况B已提供JSON数据** → 直接执行[JSON数据分析](#json数据输入分析)
2. **明确分析目标** - 确定是判断支撑阻力、分析止跌反弹、还是识别多空分歧
3. **查阅参考手册** - 阅读 `references/期货交易技术分析实战手册(整合版).md` 获取完整方法论
4. **使用Checklist** - 根据具体场景选用对应的Checklist进行逐项核查
5. **给出判断结论** - 基于核查结果给出明确的交易建议
### 数据获取流程当用户未提供JSON数据时
当用户询问"分析一下XX合约"或"分析一下XX股票"但未附带JSON数据时
#### 步骤1识别代码类型
从用户输入中提取合约/股票代码,判断类型:
- **期货合约**:格式为品种代码+年份+月份,如 `SN2504`(沪锡)、`AG2506`(沪银)、`LC2505`(碳酸锂)
- **股票代码**6位数字`000001`(平安银行)、`600000`(浦发银行)
#### 步骤2调用数据获取脚本
使用 skill 目录下的 `futures_data_collector.py` 脚本获取数据:
```bash
# 期货数据获取
python futures_data_collector.py --symbol <合约代码> --type futures
# 股票数据获取
python futures_data_collector.py --symbol <股票代码> --type stock
```
#### 步骤3检查数据获取结果
- 如果脚本执行成功会返回多周期K线数据5min/15min/30min/60min/daily
- 如果执行失败如合约代码错误、数据源异常向用户说明情况并请求提供JSON数据
#### 步骤4将获取的数据传入分析流程
脚本输出的JSON数据格式与[JSON数据输入分析](#json数据输入分析)章节定义的格式一致,直接传入后续分析步骤。
### 场景指导
| 用户场景 | 分析方法 | 关键Checklist | 数据来源 |
|---------|---------|--------------|---------|
| "分析一下SN2504"无JSON | 先调用脚本获取数据 → 多周期自动分析 | 完整分析报告输出 | 自动获取 |
| "分析一下000001股票"无JSON | 先调用脚本获取数据 → 多周期自动分析 | 完整分析报告输出 | 自动获取 |
| "这个位置是支撑还是阻力?" | 支撑阻力五维度判断法 | 支撑/阻力有效性Checklist | 用户提供 |
| "可以抄底了吗?" | 止跌四大维度判断+反弹性质鉴别 | 止跌确认Checklist + 反弹性质判断Checklist | 用户提供 |
| "现在可以入场吗?" | 多周期共振交易法 | 多周期共振入场Checklist | 用户提供 |
| "这是洗盘还是真跌?" | 滞涨回调多周期共振判断 | 滞涨判断Checklist | 用户提供 |
| "多空分歧大吗?" | 多空分歧五维度识别 | 多空分歧识别Checklist | 用户提供 |
| **提供JSON数据进行分析** | **多周期自动分析+关键位计算+预案生成** | **完整分析报告输出** | **用户提供** |
---
## JSON数据输入分析
当用户未提供JSON数据时先调用 `futures_data_collector.py` 脚本获取数据当用户已提供JSON格式的多周期K线数据时直接执行完整的技术分析流程。
### 脚本自动获取数据说明
数据获取脚本 `futures_data_collector.py` 支持:
- **期货数据**:支持上海期货交易所、大连商品交易所、郑州商品交易所、广州期货交易所等主流品种
- **股票数据**支持A股所有个股
- **多周期覆盖**自动获取5min/15min/30min/60min/daily五个周期的K线数据
- **技术指标计算**每根K线自动计算MA10、MA20、MACD(DIF/DEA/Histogram)
**常见期货合约代码示例**
- `SN2504` - 沪锡2504合约上海期货交易所
- `AG2506` - 沪银2506合约上海期货交易所
- `LC2505` - 碳酸锂2505合约广州期货交易所
- `NI2505` - 沪镍2505合约上海期货交易所
**常见股票代码示例**
- `000001` - 平安银行
- `600000` - 浦发银行
- `000858` - 五粮液
- `600519` - 贵州茅台
### 输入数据格式
用户提供或通过脚本获取的JSON数据结构
```json
{
"symbol": "合约代码",
"current_price": 当前价格,
"timeframes": {
"60min": {
"trend": "up|down|sideways",
"ma10": 数值,
"ma20": 数值,
"macd_signal": "bullish|bearish|neutral",
"volume_trend": "increasing|decreasing|stable",
"support": 支撑位,
"resistance": 阻力位,
"candles": [
{"time": "", "open": 0, "high": 0, "low": 0, "close": 0, "volume": 0}
]
},
"30min": { ... },
"15min": { ... }
},
"fundamentals": {
"recent_news": "近期消息",
"inventory_change": "库存变化",
"cost_support": 成本支撑价
}
}
```
参考示例:`references/kline-data-example.json`
### 分析输出格式
必须包含以下五个部分:
#### 1. 各周期多空情况分析
| 周期 | 趋势方向 | 多空强度 | 关键信号 | 一致性检查 |
|------|---------|---------|---------|-----------|
| 60分钟 | 多/空/震荡 | 强/中/弱 | MA排列、MACD位置、量价关系 | - |
| 30分钟 | 多/空/震荡 | 强/中/弱 | 拐点信号、突破情况 | - |
| 15分钟 | 多/空/震荡 | 强/中/弱 | 入场信号、量能配合 | - |
| **周期共振** | **共振方向** | **共振强度** | **矛盾点(如有)** | **结论** |
#### 2. 关键点位识别
```
强阻力位R2: xxx - 理由:...
第一阻力位R1: xxx - 理由:...
枢轴点PP: xxx - 计算:...
第一支撑位S1: xxx - 理由:...
强支撑位S2: xxx - 理由:...
```
**关键位有效性验证**(针对每个关键位):
- □ 测试次数≥3次
- □ 量价配合良好
- □ 多周期共振
- □ 与基本面匹配
#### 3. 当前状态判断
使用Checklist逐项核查
| 检查项 | 结果 | 说明 |
|--------|------|------|
| 是否处于有效支撑/阻力区 | □ | 距离关键位xxx点 |
| 是否出现止跌/滞涨信号 | □ | 依据:... |
| 是否形成多周期共振 | □ | 共振方向:... |
| 多空分歧程度 | □ | 轻度/中度/重度 |
| 基本面配合度 | □ | 利好/利空/中性 |
**综合判断**:□可入场 □观望 □减仓 □离场
#### 4. 交易建议
**当前建议**
- **方向**:做多/做空/观望
- **入场区间**xxx - xxx
- **止损位**xxx入场价下方/上方x%
- **第一止盈**xxx盈亏比1:2
- **第二止盈**xxx关键阻力/支撑位)
- **建议仓位**x%(基于风险评级)
**风险评级**:□低风险 □中风险 □高风险
#### 5. 各种情况预案(基于真实市场情景)
根据当前技术面状态,以下是可能发生的市场情景及概率估算:
---
**情景一:趋势延续(顺势突破)**
- **概率**35%-45%
- **触发条件**
- 多周期共振方向一致如60/30/15分钟均多头
- 放量突破关键阻力/支撑成交量较近期均值放大50%+
- MACD柱状图同向放大无背离信号
- **走势描述**:价格沿当前趋势方向持续运行,回调幅度小(<20%),关键位转化为新支撑/阻力
- **应对策略**
- 已有持仓:持有,移动止损至成本价或前低/前高
- 新开仓:突破确认后顺势追单,仓位减半,严格止损
- **风险提示**:警惕"尾盘冲刺"式突破夜盘22:00后假突破概率增加
---
**情景二:高位/低位震荡(多空拉锯)**
- **概率**30%-40%
- **触发条件**
- 周期信号矛盾如60分钟多 vs 15分钟空
- 价格在关键位附近反复测试,成交量萎缩
- MACD在零轴附近徘徊红柱/绿柱交替出现
- **走势描述**价格在R1-S1区间内来回波动形成3-5根K线的整理平台方向不明
- **应对策略**
- 区间上沿减仓或试空止损设区间外1%
- 区间下沿低吸或试多止损设区间外1%
- 区间中部:观望,等待方向突破
- **风险提示**:震荡末期常伴随假突破诱多/诱空,需等待收盘确认
---
**情景三:假突破后反转(陷阱行情)**
- **概率**15%-25%
- **触发条件**
- 快速突破关键位但成交量不足(<近期均值1.2倍)
- 突破后1-2根K线内迅速回撤收回关键位内
- 长上影线/长下影线伴随缩量
- **走势描述**:先冲高/冲低制造突破假象,随后快速反向运行,形成"多头陷阱"或"空头陷阱"
- **应对策略**
- 追单被套:立即止损,不可补仓摊低成本
- 未入场:反向做单,止损设假突破极值点
- 观望者:等待价格回到区间中部再评估
- **风险提示**:此类行情常在重大数据发布前出现,主力清洗浮筹
---
**情景四:突发消息驱动(黑天鹅/灰犀牛)**
- **概率**5%-10%
- **触发条件**
- 突发政策、地缘冲突、宏观数据如非农数据、CPI
- 价格瞬间跳空跳过1-2个关键位
- 成交量暴增3-5倍但持续性不确定
- **走势描述**
- 利好:高开高走或高开低走(利好兑现)
- 利空:低开低走或低开高走(利空出尽)
- **应对策略**
- 消息前5分钟减仓50%,规避不确定性
- 消息发布后15分钟内不新开仓观察价格对关键位的反应
- 若价格站稳新关键位:跟随趋势,仓位减半
- 若价格回到消息前区间:视为无效波动,观望
- **风险提示**:消息市流动性骤降,点差扩大,止损可能无法成交在预设价位
---
**情景五:趋势衰竭/反转(拐点形成)**
- **概率**5%-10%
- **触发条件**
- 价格创新高/新低但MACD出现顶/底背离
- 成交量萎缩(<近期均值70%),量价背离
- 长周期60分钟出现滞涨/止跌K线形态
- **走势描述**
- 上涨衰竭:最后冲刺后快速回落,跌破前低
- 下跌衰竭恐慌性抛盘后V型反转突破前高
- **应对策略**
- 原有趋势持仓:逐步减仓,止盈位下移/上移
- 反向开仓等待60分钟确认信号轻仓试单
- 止损设置新趋势确认前止损位放宽至2-3%
- **风险提示**拐点判断错误率较高建议分2-3次建仓首次仓位≤3%
---
**概率使用说明**
- 概率基于当前技术面统计,随价格运行动态变化
- 当某情景概率>50%时,可作为主策略
- 当两情景概率接近如35% vs 40%)时,以观望或轻仓试错为主
- 突发消息情景概率虽低,但影响最大,需始终预留仓位应对
---
## 参考资料
详细的分析方法、量化标准、对比表格、Checklist清单见
**[期货交易技术分析实战手册(整合版).md](references/期货交易技术分析实战手册(整合版).md)**
包含内容:
- 五大核心原理解析
- 五类实战判断方法
- 六套实操Checklist可直接打印使用
- 交易决策流程图
- 避坑要点汇总
- 核心公式与参数附录
**[K线数据示例](references/kline-data-example.json)** - JSON数据格式参考
**[futures_data_collector.py](futures_data_collector.py)** - 数据自动获取脚本
- 依赖:`pip install akshare pandas`
- 用法见脚本头部注释
## 输出格式(标准版)
非JSON数据输入时的分析结果应包含
1. **判断结论** - 明确的支撑/阻力、止跌/继续跌、洗盘/反转等结论
2. **核查结果** - 各维度核查项达标情况
3. **交易建议** - 具体的入场/离场/观望建议
4. **风险提示** - 需注意的假信号、假突破等风险点

File diff suppressed because it is too large Load Diff

@ -0,0 +1,681 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
================================================================================
期货/股票多周期数据获取与技术指标计算脚本
================================================================================
功能介绍
本脚本用于获取期货或股票的多周期K线数据并自动计算技术指标输出JSON格式
可直接用于技术分析Skill的输入
核心功能
1. 多周期数据获取
- 5分钟K线至少50根
- 15分钟K线至少50根
- 30分钟K线至少50根
- 60分钟K线至少50根
- 日K线至少50根
2. 技术指标自动计算每根K线都包含
- MA10: 10/周期移动平均线
- MA20: 20/周期移动平均线
- MACD_DIF: MACD快线
- MACD_DEA: MACD慢线信号线
- MACD_HISTOGRAM: MACD柱状图
3. 输出格式
每个周期为一个数组数组中每项包含
{
"time": "K线时间",
"open": 开盘价,
"high": 最高价,
"low": 最低价,
"close": 收盘价,
"volume": 成交量,
"ma10": MA10值,
"ma20": MA20值,
"macd_dif": DIF值,
"macd_dea": DEA值,
"macd_histogram": 柱状图值
}
使用方法
1. 安装依赖
pip install akshare pandas
2. 运行脚本
# 获取期货数据(默认)
python futures_data_collector.py --symbol SN2504 --type futures
# 获取股票数据
python futures_data_collector.py --symbol 000001 --type stock
python futures_data_collector.py --symbol 600000 --type stock --output stock_data.json
3. 参数说明
--symbol: 代码必填
期货格式品种代码 + 年份 + 月份 SN2504(沪锡)AG2506(沪银)
股票格式6位数字代码 000001(平安银行)600000(浦发银行)
--type: 数据类型可选默认 futures
可选值futures(期货)stock(股票)
--output: 输出文件名可选
默认格式{代码}_{时间戳}.json
常见代码对照
期货
SN2504 - 沪锡上海期货交易所
AG2506 - 沪银上海期货交易所
LC2505 - 碳酸锂广州期货交易所
NI2505 - 沪镍上海期货交易所
股票
000001 - 平安银行
600000 - 浦发银行
000858 - 五粮液
600519 - 贵州茅台
输出示例
{
"symbol": "SN2504",
"current_price": 223500,
"timestamp": "2026-03-07T22:15:00+08:00",
"timeframes": {
"60min": [
{
"time": "2026-03-07 14:00",
"open": 22100,
"high": 22300,
"low": 22050,
"close": 22250,
"volume": 12500,
"ma10": 22180.5,
"ma20": 22000.3,
"macd_dif": 0.0523,
"macd_dea": 0.0312,
"macd_histogram": 0.0422
}
],
"30min": [ ... ],
"15min": [ ... ],
"5min": [ ... ],
"daily": [ ... ]
}
}
注意事项
1. 数据源使用akshare数据可能有延迟或频率限制
2. 分钟数据受交易所限制可能无法获取太多历史数据
3. 如遇数据获取失败请检查合约代码是否正确
4. 脚本会自动过滤掉数据不足的周期
作者OpenClaw Assistant
日期2026-03-07
================================================================================
"""
import akshare as ak
import pandas as pd
import json
import argparse
import os
from datetime import datetime, timedelta
from typing import Dict, List
import warnings
warnings.filterwarnings('ignore')
# 清除缓存
ak.cache = {}
# 数据目录配置
DATA_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'data')
os.makedirs(DATA_DIR, exist_ok=True)
def calculate_ma(df: pd.DataFrame, periods: List[int] = [10, 20]) -> pd.DataFrame:
"""计算移动平均线"""
for period in periods:
df[f'MA{period}'] = df['close'].rolling(window=period, min_periods=1).mean()
return df
def calculate_macd(df: pd.DataFrame, fast: int = 12, slow: int = 26, signal: int = 9) -> pd.DataFrame:
"""计算MACD指标"""
ema_fast = df['close'].ewm(span=fast, adjust=False).mean()
ema_slow = df['close'].ewm(span=slow, adjust=False).mean()
df['macd_dif'] = ema_fast - ema_slow
df['macd_dea'] = df['macd_dif'].ewm(span=signal, adjust=False).mean()
df['macd_histogram'] = (df['macd_dif'] - df['macd_dea']) * 2
# MACD信号判断
df['macd_signal'] = df.apply(lambda row:
'bullish' if row['macd_dif'] > row['macd_dea'] and row['macd_histogram'] > 0
else 'bearish' if row['macd_dif'] < row['macd_dea'] and row['macd_histogram'] < 0
else 'neutral', axis=1)
return df
def get_current_time() -> datetime:
"""获取当前北京时间(去除微秒)"""
return datetime.now().replace(microsecond=0)
def filter_future_data(df: pd.DataFrame, current_time: datetime = None) -> pd.DataFrame:
"""
过滤掉未来数据
Args:
df: 包含datetime列的DataFrame
current_time: 当前时间默认为系统当前时间
Returns:
过滤后的DataFrame
"""
if current_time is None:
current_time = get_current_time()
if 'datetime' not in df.columns:
return df
# 确保datetime列是datetime类型
df['datetime'] = pd.to_datetime(df['datetime'])
# 过滤掉大于当前时间的数据(未来数据)
original_count = len(df)
df = df[df['datetime'] <= current_time].copy()
filtered_count = original_count - len(df)
if filtered_count > 0:
print(f" 过滤了 {filtered_count} 条未来数据")
return df
def extend_night_session_data(df: pd.DataFrame, symbol: str, period: str) -> pd.DataFrame:
"""
尝试获取完整的夜盘数据
期货夜盘时间21:00 - 02:30次日
"""
if df.empty or 'datetime' not in df.columns:
return df
df['datetime'] = pd.to_datetime(df['datetime'])
df = df.sort_values('datetime').reset_index(drop=True)
# 检查是否需要补充夜盘数据
# 获取最后一条数据的时间
last_time = df['datetime'].iloc[-1]
last_hour = last_time.hour
last_minute = last_time.minute
# 如果最后数据在 21:00-23:59 或 00:00-02:30 范围内,可能需要补充
# 夜盘结束时间是 02:30
is_night_session = (
(last_hour >= 21) or # 21:00 - 23:59
(last_hour < 2) or # 00:00 - 01:59
(last_hour == 2 and last_minute <= 30) # 02:00 - 02:30
)
if not is_night_session:
return df
# 检查是否包含 02:30 的数据对于5分钟、15分钟等周期
has_0230 = False
for dt in df['datetime']:
if dt.hour == 2 and dt.minute == 30:
has_0230 = True
break
# 如果已经有 02:30 的数据,说明夜盘完整
if has_0230:
return df
# 尝试通过获取历史数据来补充夜盘
# 由于akshare限制我们记录警告信息
print(f" 注意: 夜盘数据可能不完整缺少02:30及之前的数据")
return df
def get_minute_data(symbol: str, period: str) -> pd.DataFrame:
"""
获取期货分钟K线数据过滤未来数据确保夜盘完整
Args:
symbol: 合约代码 "SN2504"
period: 分钟周期"5", "15", "30", "60"
Returns:
DataFrame with OHLCV data
"""
try:
# 获取当前时间(用于过滤未来数据)
current_time = get_current_time()
# 使用akshare获取分钟数据
df = ak.futures_zh_minute_sina(symbol=symbol, period=period)
# 重命名列
df = df.rename(columns={
'day': 'datetime',
'open': 'open',
'high': 'high',
'low': 'low',
'close': 'close',
'volume': 'volume'
})
# 转换数据类型
for col in ['open', 'high', 'low', 'close', 'volume']:
df[col] = pd.to_numeric(df[col], errors='coerce')
# 确保datetime列是datetime类型
df['datetime'] = pd.to_datetime(df['datetime'])
# 过滤未来数据
df = filter_future_data(df, current_time)
# 尝试补充夜盘数据
df = extend_night_session_data(df, symbol, period)
# 确保至少50根K线
if len(df) < 50:
print(f" 警告: {period}分钟只获取到{len(df)}根K线建议检查数据源")
return df
except Exception as e:
print(f" 获取{period}分钟数据失败: {e}")
return pd.DataFrame()
def get_daily_data(symbol: str, days: int = 60) -> pd.DataFrame:
"""
获取期货日K线数据过滤未来数据
Args:
symbol: 合约代码
days: 获取天数
Returns:
DataFrame with OHLCV data
"""
try:
# 获取当前时间(用于过滤未来数据)
current_time = get_current_time()
# 获取日K数据获取较多历史数据
df = ak.futures_zh_daily_sina(symbol=symbol)
# 重命名列
df = df.rename(columns={
'date': 'datetime',
'open': 'open',
'high': 'high',
'low': 'low',
'close': 'close',
'volume': 'volume'
})
# 转换数据类型
for col in ['open', 'high', 'low', 'close', 'volume']:
df[col] = pd.to_numeric(df[col], errors='coerce')
# 排序
df['datetime'] = pd.to_datetime(df['datetime'])
df = df.sort_values('datetime').reset_index(drop=True)
# 过滤未来数据(只保留今天及之前的数据)
df = filter_future_data(df, current_time)
# 取最近N天
df = df.tail(days).reset_index(drop=True)
return df
except Exception as e:
print(f" 获取日K数据失败: {e}")
return pd.DataFrame()
def get_stock_minute_data(symbol: str, period: str) -> pd.DataFrame:
"""
获取股票分钟K线数据
Args:
symbol: 股票代码 "000001"
period: 分钟周期"5", "15", "30", "60"
Returns:
DataFrame with OHLCV data
"""
try:
# 获取当前时间(用于过滤未来数据)
current_time = get_current_time()
# 使用akshare获取股票分钟数据
# stock_zh_a_minute 需要 symbol 格式为 sh600000 或 sz000001
if symbol.startswith('6'):
full_symbol = f"sh{symbol}"
else:
full_symbol = f"sz{symbol}"
df = ak.stock_zh_a_minute(symbol=full_symbol, period=period)
# 重命名列
df = df.rename(columns={
'day': 'datetime',
'open': 'open',
'high': 'high',
'low': 'low',
'close': 'close',
'volume': 'volume'
})
# 转换数据类型
for col in ['open', 'high', 'low', 'close', 'volume']:
df[col] = pd.to_numeric(df[col], errors='coerce')
# 确保datetime列是datetime类型
df['datetime'] = pd.to_datetime(df['datetime'])
# 过滤未来数据
df = filter_future_data(df, current_time)
# 确保至少50根K线
if len(df) < 50:
print(f" 警告: {period}分钟只获取到{len(df)}根K线建议检查数据源")
return df
except Exception as e:
print(f" 获取{period}分钟数据失败: {e}")
return pd.DataFrame()
def get_stock_daily_data(symbol: str, days: int = 60) -> pd.DataFrame:
"""
获取股票日K线数据
Args:
symbol: 股票代码 "000001"
days: 获取天数
Returns:
DataFrame with OHLCV data
"""
try:
# 获取当前时间(用于过滤未来数据)
current_time = get_current_time()
# 计算开始日期(获取足够的历史数据)
end_date = current_time.strftime('%Y%m%d')
start_date = (current_time - timedelta(days=days*2)).strftime('%Y%m%d')
# 获取日K数据
df = ak.stock_zh_a_hist(symbol=symbol, period="daily", start_date=start_date, end_date=end_date)
# 重命名列
df = df.rename(columns={
'日期': 'datetime',
'开盘': 'open',
'最高': 'high',
'最低': 'low',
'收盘': 'close',
'成交量': 'volume'
})
# 转换数据类型
for col in ['open', 'high', 'low', 'close', 'volume']:
df[col] = pd.to_numeric(df[col], errors='coerce')
# 排序
df['datetime'] = pd.to_datetime(df['datetime'])
df = df.sort_values('datetime').reset_index(drop=True)
# 过滤未来数据(只保留今天及之前的数据)
df = filter_future_data(df, current_time)
# 取最近N天
df = df.tail(days).reset_index(drop=True)
return df
except Exception as e:
print(f" 获取日K数据失败: {e}")
return pd.DataFrame()
def process_data(df: pd.DataFrame, timeframe: str) -> List[Dict]:
"""
处理数据计算指标并格式化输出
每个周期返回一个数组每项包含交易数据+计算指标
Args:
df: K线DataFrame
timeframe: 周期名称
Returns:
格式化后的K线数组每项包含指标
"""
if df.empty or len(df) < 10:
return []
# 计算技术指标
df = calculate_ma(df)
df = calculate_macd(df)
# 格式化K线数据取最近50根或全部
candles = []
df_tail = df.tail(50) if len(df) > 50 else df
for _, row in df_tail.iterrows():
candle = {
"time": str(row['datetime']),
"open": round(float(row['open']), 2),
"high": round(float(row['high']), 2),
"low": round(float(row['low']), 2),
"close": round(float(row['close']), 2),
"volume": int(row['volume']) if not pd.isna(row['volume']) else 0,
"ma10": round(float(row['MA10']), 2) if not pd.isna(row.get('MA10')) else None,
"ma20": round(float(row['MA20']), 2) if not pd.isna(row.get('MA20')) else None,
"macd_dif": round(float(row['macd_dif']), 4) if not pd.isna(row.get('macd_dif')) else 0,
"macd_dea": round(float(row['macd_dea']), 4) if not pd.isna(row.get('macd_dea')) else 0,
"macd_histogram": round(float(row['macd_histogram']), 4) if not pd.isna(row.get('macd_histogram')) else 0
}
candles.append(candle)
return candles
def collect_futures_data(symbol: str) -> Dict:
"""
收集期货多周期完整数据
Args:
symbol: 合约代码 "SN2504"
Returns:
完整的JSON格式数据
"""
print(f"\n正在获取期货 {symbol} 的多周期数据...")
print(f"当前时间: {get_current_time().strftime('%Y-%m-%d %H:%M:%S')}")
print("-" * 50)
result = {
"symbol": symbol,
"type": "futures",
"current_price": None,
"timestamp": datetime.now().strftime("%Y-%m-%dT%H:%M:%S+08:00"),
"timeframes": {}
}
# 获取各周期数据
periods = [
("60min", "60"),
("30min", "30"),
("15min", "15"),
("5min", "5")
]
for tf_name, tf_period in periods:
print(f"获取 {tf_name} 数据...")
try:
df = get_minute_data(symbol, tf_period)
if not df.empty and len(df) >= 50:
candles = process_data(df, tf_name)
if candles:
result["timeframes"][tf_name] = candles
# 设置当前价格为最新收盘价
if result["current_price"] is None:
result["current_price"] = candles[-1]["close"]
print(f" [OK] 成功获取 {len(candles)} 根K线")
else:
print(f" [FAIL] 数据不足或获取失败 (获取到{len(df)}根)")
except Exception as e:
print(f" [ERROR] 错误: {e}")
# 获取日K数据
print("获取 daily 数据...")
try:
df_daily = get_daily_data(symbol, days=60)
if not df_daily.empty and len(df_daily) >= 50:
candles = process_data(df_daily, "daily")
if candles:
result["timeframes"]["daily"] = candles
print(f" [OK] 成功获取 {len(candles)} 根K线")
else:
print(f" [FAIL] 数据不足或获取失败 (获取到{len(df_daily)}根)")
except Exception as e:
print(f" [ERROR] 错误: {e}")
print("-" * 50)
return result
def collect_stock_data(symbol: str) -> Dict:
"""
收集股票多周期完整数据
Args:
symbol: 股票代码 "000001"
Returns:
完整的JSON格式数据
"""
print(f"\n正在获取股票 {symbol} 的多周期数据...")
print(f"当前时间: {get_current_time().strftime('%Y-%m-%d %H:%M:%S')}")
print("-" * 50)
result = {
"symbol": symbol,
"type": "stock",
"current_price": None,
"timestamp": datetime.now().strftime("%Y-%m-%dT%H:%M:%S+08:00"),
"timeframes": {}
}
# 获取各周期数据
periods = [
("60min", "60"),
("30min", "30"),
("15min", "15"),
("5min", "5")
]
for tf_name, tf_period in periods:
print(f"获取 {tf_name} 数据...")
try:
df = get_stock_minute_data(symbol, tf_period)
if not df.empty and len(df) >= 50:
candles = process_data(df, tf_name)
if candles:
result["timeframes"][tf_name] = candles
# 设置当前价格为最新收盘价
if result["current_price"] is None:
result["current_price"] = candles[-1]["close"]
print(f" [OK] 成功获取 {len(candles)} 根K线")
else:
print(f" [FAIL] 数据不足或获取失败 (获取到{len(df)}根)")
except Exception as e:
print(f" [ERROR] 错误: {e}")
# 获取日K数据
print("获取 daily 数据...")
try:
df_daily = get_stock_daily_data(symbol, days=60)
if not df_daily.empty and len(df_daily) >= 50:
candles = process_data(df_daily, "daily")
if candles:
result["timeframes"]["daily"] = candles
print(f" [OK] 成功获取 {len(candles)} 根K线")
else:
print(f" [FAIL] 数据不足或获取失败 (获取到{len(df_daily)}根)")
except Exception as e:
print(f" [ERROR] 错误: {e}")
print("-" * 50)
return result
def main():
parser = argparse.ArgumentParser(description='期货/股票多周期数据获取与技术指标计算')
parser.add_argument('--symbol', type=str, required=True,
help='代码,期货如 SN2504(沪锡), 股票如 000001(平安银行)')
parser.add_argument('--type', type=str, default='futures', choices=['futures', 'stock'],
help='数据类型futures(期货)、stock(股票),默认为 futures')
parser.add_argument('--output', type=str, default=None,
help='输出JSON文件名默认为 代码_时间戳.json')
args = parser.parse_args()
# 根据类型获取数据
if args.type == 'stock':
data = collect_stock_data(args.symbol)
else:
data = collect_futures_data(args.symbol)
# 检查是否获取到数据
if not data["timeframes"]:
print("\n错误: 未能获取到任何数据,请检查代码是否正确")
if args.type == 'stock':
print("常见股票代码示例:")
print(" 000001 - 平安银行")
print(" 600000 - 浦发银行")
print(" 000858 - 五粮液")
print(" 600519 - 贵州茅台")
else:
print("常见期货合约代码示例:")
print(" SN2504 - 沪锡2504")
print(" AG2506 - 沪银2506")
print(" LC2505 - 碳酸锂2505")
print(" NI2505 - 沪镍2505")
return
# 打印JSON到控制台
print("\n" + "="*60)
print("JSON 输出:")
print("="*60)
json_output = json.dumps(data, ensure_ascii=False, indent=2)
print(json_output)
# 保存到文件(统一放到 data 目录)
if args.output:
# 如果用户指定了文件名,也放到 data 目录下
filename = os.path.join(DATA_DIR, args.output)
else:
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
filename = os.path.join(DATA_DIR, f"{data['symbol']}_{timestamp}.json")
with open(filename, 'w', encoding='utf-8') as f:
f.write(json_output)
print("\n" + "="*60)
print(f"[OK] 数据已保存到: {filename}")
print(f"[OK] 共获取 {len(data['timeframes'])} 个周期数据")
print("="*60)
if __name__ == "__main__":
main()

@ -0,0 +1,73 @@
{
"symbol": "沪锡2605",
"current_price": 223500,
"timestamp": "2026-01-17T14:30:00+08:00",
"timeframes": {
"60min": {
"trend": "up",
"ma10": 22350,
"ma20": 21800,
"macd_signal": "bullish",
"macd_histogram": "positive",
"volume_trend": "increasing",
"support": 21800,
"resistance": 22800,
"bollinger": {
"upper": 23000,
"middle": 22400,
"lower": 21800
},
"recent_high": 22850,
"recent_low": 21750,
"candles": [
{"time": "10:00", "open": 22100, "high": 22300, "low": 22050, "close": 22250, "volume": 12500},
{"time": "11:00", "open": 22250, "high": 22400, "low": 22150, "close": 22350, "volume": 13200},
{"time": "13:00", "open": 22350, "high": 22500, "low": 22200, "close": 22450, "volume": 14800},
{"time": "14:00", "open": 22450, "high": 22600, "low": 22350, "close": 22350, "volume": 11500}
]
},
"30min": {
"trend": "up",
"ma10": 22320,
"ma20": 22100,
"macd_signal": "bullish",
"macd_histogram": "positive",
"volume_trend": "stable",
"support": 22100,
"resistance": 22500,
"pattern": "bullish_engulfing",
"candles": [
{"time": "13:30", "open": 22300, "high": 22380, "low": 22250, "close": 22280, "volume": 6200},
{"time": "14:00", "open": 22280, "high": 22450, "low": 22250, "close": 22400, "volume": 7500},
{"time": "14:30", "open": 22400, "high": 22500, "low": 22350, "close": 22350, "volume": 6800}
]
},
"15min": {
"trend": "sideways",
"ma5": 22360,
"ma10": 22300,
"macd_signal": "neutral",
"volume_trend": "decreasing",
"support": 22250,
"resistance": 22450,
"entry_signal": "wait",
"candles": [
{"time": "14:15", "open": 22380, "high": 22420, "low": 22350, "close": 22380, "volume": 2800},
{"time": "14:30", "open": 22380, "high": 22400, "low": 22320, "close": 22350, "volume": 2400},
{"time": "14:45", "open": 22350, "high": 22380, "low": 22330, "close": 22360, "volume": 2100}
]
}
},
"fundamentals": {
"recent_news": "缅甸锡矿复产不及预期,供给偏紧",
"inventory_change": "库存下降5.2%",
"cost_support": 210000,
"policy_risk": "交易所上调保证金",
"demand_outlook": "新能源需求提振"
},
"market_sentiment": {
"dominant_side": "bullish",
"divergence_level": "moderate",
"main_concern": "高位追涨风险"
}
}

@ -0,0 +1,675 @@
# 期货交易技术分析实战手册(整合版)
> **文档说明**本手册整合5份期货交易技术分析文档涵盖支撑阻力、止跌反弹、多周期共振、滞涨回调、趋势分歧五大核心主题提供可落地的判断方法与实操Checklist。
---
## 目录
1. [核心原理篇](#一核心原理篇)
- 1.1 [支撑与阻力的有效性原理](#11-支撑与阻力的有效性原理)
- 1.2 [止跌与反弹的动力学原理](#12-止跌与反弹的动力学原理)
- 1.3 [多周期共振原理](#13-多周期共振原理)
- 1.4 [滞涨与回调原理](#14-滞涨与回调原理)
- 1.5 [多空分歧识别原理](#15-多空分歧识别原理)
2. [实战方法篇](#二实战方法篇)
- 2.1 [支撑/阻力位判断方法](#21-支撑阻力位判断方法)
- 2.2 [止跌判断与反弹鉴别方法](#22-止跌判断与反弹鉴别方法)
- 2.3 [多周期共振交易法](#23-多周期共振交易法)
- 2.4 [滞涨判断与回调性质区分](#24-滞涨判断与回调性质区分)
- 2.5 [多空分歧实战分析](#25-多空分歧实战分析)
3. [实操Checklist汇总](#三实操checklist汇总)
- 3.1 [支撑/阻力有效性Checklist](#31-支撑阻力有效性checklist)
- 3.2 [止跌确认Checklist](#32-止跌确认checklist)
- 3.3 [反弹性质判断Checklist](#33-反弹性质判断checklist)
- 3.4 [多周期共振入场Checklist](#34-多周期共振入场checklist)
- 3.5 [滞涨判断Checklist](#35-滞涨判断checklist)
- 3.6 [多空分歧识别Checklist](#36-多空分歧识别checklist)
4. [交易决策流程](#四交易决策流程)
5. [避坑要点汇总](#五避坑要点汇总)
---
## 一、核心原理篇
### 1.1 支撑与阻力的有效性原理
**核心逻辑**:支撑位/阻力位的有效性取决于市场资金对该价位的共识程度。单一技术面点位参考意义有限,需结合**测试次数、成交量、周期共振、基本面、突破后表现**五大维度交叉验证。
**有效性金字塔**
```
/ \
/ 强 \ 5维度共振
/ 有效 \ 测试≥3次+量价同步+多周期+基本面+回踩确认)
/────────\
/ 中等 \ 3-4维度匹配
/ 有效 \
/──────────────\
/ 弱有效 \ 1-2维度匹配
/────────────────────\
/ 无效/临时点位 \ 孤立点位、无量、无基本面
──────────────────────────────
```
**关键原理**
- **测试次数原理**:价位被测试次数越多,多空双方在该价位达成的平衡越稳固,突破所需能量越大
- **量价配合原理**:无量支撑/阻力为"虚位",量能是资金共识的具象化表现
- **周期共振原理**:多周期点位重合形成共振效应,成为极强的关键价位
- **基本面匹配原理**:技术点位需与成本线、政策线、供需拐点等基本面逻辑匹配才可持续
- **转化验证原理**:突破后的回踩/反抽表现是确认有效性的最后一步
---
### 1.2 止跌与反弹的动力学原理
**核心逻辑**:止跌的本质是"抛压耗尽+买盘入场",需通过**量能变化、K线形态、关键支撑位、基本面**四大维度共振确认。
**止跌动力学链条**
```
下跌末期缩量 → 抛压耗尽 → 企稳K线放量 → 买盘入场 → 关键支撑守住 → 止跌确认
↓ ↓ ↓ ↓ ↓
情绪降温 空头力竭 多头介入 资金确认 技术确认
```
**反弹性质区分原理**
| 维度 | 下跌中继(诱多) | 反转趋势(拐点) |
|------|-----------------|-----------------|
| **量能** | 反弹缩量,遇阻量能萎缩 | 持续放量,突破阻力时量能再放大 |
| **价格** | 无法突破关键阻力位,承压回落 | 放量突破关键阻力,回踩不跌破 |
| **周期** | 仅短周期反弹,长周期仍空头排列 | 多周期共振向上,均线逐步形成多头排列 |
| **基本面** | 供需格局未变,下跌驱动因素仍存在 | 基本面发生实质性变化,利好持续发酵 |
| **持续性** | 持续时间短,冲高后快速回落创新低 | 回调幅度浅,低点逐步上移 |
---
### 1.3 多周期共振原理
**核心逻辑**
```
60分钟周期定趋势 → 30分钟周期找拐点 → 15分钟周期择入场
↓ ↓ ↓
过滤信号方向 确认拐点有效性 精准执行入场
```
**周期层级关系**
- **日线**:主导中期趋势,定回调大方向
- **60分钟**:衔接趋势与短期波动,确认趋势连贯性
- **30分钟**:捕捉回调拐点,验证短期转折
- **15/5分钟**:执行周期,精准入场与止损设置
**共振标准**
- **强共振**3个及以上周期信号同向判断准确率≥85%
- **弱共振**2个周期信号同向需结合基本面验证
- **无共振**:周期信号矛盾,以最大周期为准或观望
---
### 1.4 滞涨与回调原理
**核心逻辑**:滞涨的本质是上涨动能衰竭,通过**成交量资金动能、K线价格表现、MACD动能量化**三大维度共振判断。
**滞涨识别原理**
```
价格创新高/微涨
量能显著萎缩 或 放量但价格不涨(抛压显现)
上涨节奏骤降,高点上移乏力
MACD红柱缩短或顶背离
滞涨确认至少2个维度达标3个维度达标确认度≥80%
```
**回调性质区分原理**
| 维度 | 洗盘(短期调整) | 反转(趋势结束) |
|------|-----------------|-----------------|
| **成交量** | 缩量下跌较滞涨期萎缩≥30%,无资金出逃 | 放量下跌,越跌量越大,主力砸盘 |
| **K线** | 小阴小阳交替,无大阴线破位 | 大阴线连拉,出现阴包阳、跳空低开破位 |
| **MACD** | 红柱小幅缩短,未翻绿、无明确死叉 | 红柱快速消失并翻绿,绿柱持续放大,死叉明确 |
| **支撑位** | 不跌破短期支撑位MA10/MA20 | 有效跌破中期支撑位MA60 |
| **周期** | 大周期保持强势,小周期短期调整 | 大周期率先走弱,小周期同步利空 |
---
### 1.5 多空分歧识别原理
**核心逻辑**:多空分歧本质是资金博弈加剧、多空观点对立的表现,核心特征为**"量能放大但价格无明确方向"**,是趋势延续或反转的关键预判节点。
**分歧识别五维度**
1. **成交量维度**:价格创新高/新低但量能放大、涨幅/跌幅收窄(量价背离)
2. **K线形态维度**:长上影/长下影线交替,十字星密集,反转组合出现
3. **技术指标维度**MACD背离KDJ钝化后反复交叉均线纠缠
4. **盘口与持仓维度**:主力持仓双增,大单异动,持仓量增幅大但价格波动小
5. **基本面维度**:多空消息交织,市场对消息解读分歧
**分歧强度分级**
- **轻度分歧3-4项信号**:大概率震荡整理,趋势放缓
- **中度分歧5-6项信号**:反转概率提升,警惕关键位破位
- **重度分歧7项及以上**:博弈白热化,价格即将选方向,建议观望
---
## 二、实战方法篇
### 2.1 支撑/阻力位判断方法
#### 2.1.1 五维度判断法(按优先级排序)
| 维度 | 有效特征 | 无效特征 |
|------|---------|---------|
| **1. 测试次数** | 价位被3次及以上测试回踩不破或反弹不过 | 仅1-2次测试临时情绪驱动 |
| **2. 成交量** | 缩量企稳/放量突破,量价同步 | 无量支撑/阻力,或放量但无法企稳/突破 |
| **3. 周期共振** | 多周期点位重合如5分钟+15分钟+1小时 | 仅单一短周期出现,无共振 |
| **4. 基本面** | 契合成本线、政策底线、供需拐点 | 与基本面背离(如产能过剩下的技术支撑) |
| **5. 突破后表现** | 突破后回踩/反抽确认(阻力变支撑不跌破,支撑变阻力不突破) | 突破后快速回撤,无成交量配合 |
#### 2.1.2 关键位判断方法
**1. 量能密集区定位(核心)**
关键位是前期大量成交的价格区间,而非单一高低点。
- 支撑位:前期密集成交区下沿
- 阻力位:前期密集成交区上沿/套牢盘集中区
**2. 枢轴点辅助测算**
```
枢轴点PP=(高+低+收)/3
一级支撑S1= 2×PP - 高
二级支撑S2= PP -(高-低)
一级压力R1= 2×PP - 低
二级压力R2= PP +(高-低)
```
**3. 均线与前期高低点共振**
- 短期均线MA5/MA10即时压力/支撑
- 长期均线MA20/MA60与前期高低点形成共振强化关键位有效性
#### 2.1.3 日内交易 vs 波段交易要点
| 场景 | 核心周期 | 关键要点 |
|------|---------|---------|
| **日内交易** | 5分钟+15分钟+1小时 | 避开1分钟孤立点位重点关注波动高峰期10:00-11:30、14:00-15:00的点位测试情况 |
| **波段交易** | 日线+周线+4小时 | 绑定成本线、库存拐点等基本面逻辑,不迷信纯技术面点位 |
---
### 2.2 止跌判断与反弹鉴别方法
#### 2.2.1 止跌判断四大维度
| 维度 | 核心信号 | 实操验证要点 |
|------|---------|-------------|
| **量能变化** | 下跌末期缩量,企稳时放量 | 1. 下跌末端成交量持续萎缩2. 企稳K线成交量≥前3根K线平均量能的1.5倍3. 日内聚焦5/15分钟周期"缩量下跌→放量企稳"信号 |
| **K线形态** | 反转类K线+底部组合结构 | 1. 单根锤子线下影线≥实体2倍、看涨吞没、刺透形态2. 组合双底、启明之星3. 排除十字星、小阳线等无力度形态 |
| **关键支撑位** | 支撑位回踩不破+量价配合 | 1. 回踩前期低点、成本线、均线支撑缩量企稳2. 假跌破后快速拉回且放量收复为强信号3. 支撑需满足"测试≥3次、多周期共振" |
| **基本面/消息面** | 利空出尽或突发实质性利好 | 1. 驱动下跌的利空已充分消化2. 出现政策托底、需求回暖、库存大降等利好3. 无消息面配合的纯技术止跌大概率为短期震荡 |
#### 2.2.2 止跌确认必要条件满足≥3项可试仓
- [ ] 下跌末端缩量企稳K线放量量能达标
- [ ] 出现至少1种反转类K线或底部组合形态
- [ ] 关键支撑位回踩不破,或假跌破后快速收复
- [ ] 无新利空干扰,或有基本面利好加持
- [ ] 5/15分钟短周期与1小时中周期同步出现企稳信号
#### 2.2.3 反弹强度分级
| 反弹强度 | 量价特征 | 幅度/持续时间 | 实战意义 |
|---------|---------|--------------|---------|
| **弱反弹** | 缩量上涨,反弹量能<前期下跌量能 | 幅度≤前期跌幅30%日内1-2根5分钟K线波段1个交易日 | 大概率为下跌中继,反弹后易再创新低,坚决不抄底 |
| **中反弹** | 温和放量,反弹量能≈前期下跌量能 | 幅度达30%-50%突破1个次要阻力位 | 需观察关键阻力位表现,警惕冲高回落,不可重仓 |
| **强反弹** | 持续放量反弹量能前期下跌量能1.5倍 | 幅度50%;连续突破多个阻力位 | 反转概率大幅提升,需进一步验证趋势延续性 |
---
### 2.3 多周期共振交易法
#### 2.3.1 三周期核查体系
**60分钟周期主导周期定方向过滤信号**
| 看涨趋势核查 | 看跌趋势核查 |
|-------------|-------------|
| □ MA10MA20价格站稳MA10上方回调不跌破 | □ MA10MA20价格跌破MA10下方反弹不突破 |
| □ MACD在零轴上方运行红柱持续/温和放大 | □ MACD在零轴下方运行绿柱持续/温和放大 |
| □ 量价同步:上涨放量、回调缩量,无缩量新高 | □ 量价同步:下跌放量、反弹缩量,无缩量新低 |
| □ 布林带中轨向上倾斜,价格在中轨上方震荡 | □ 布林带中轨向下倾斜,价格在中轨下方震荡 |
*注若以上仅满足≤2项判定为趋势不明直接放弃交易*
**30分钟周期辅助周期确认拐点验证趋势**
| 看涨拐点核查 | 看跌拐点核查 |
|-------------|-------------|
| □ 出现阳包阴、启明星等反转K线组合 | □ 出现阴包阳、黄昏星等反转K线组合 |
| □ 突破前期小高点,且突破时放量 | □ 跌破前期小低点,且跌破时放量 |
| □ MACD零轴上金叉或死叉后快速金叉 | □ MACD零轴下死叉或金叉后快速死叉 |
| □ 布林带价格突破中轨,回踩不跌破 | □ 布林带价格跌破中轨,反弹不突破 |
*注需与60分钟趋势方向一致若信号矛盾判定为无效拐点*
**15分钟周期执行周期精准入场设置止损**
| 做多入场信号核查 | 做空入场信号核查 |
|-----------------|-----------------|
| □ 突破30分钟确认的拐点压力位 | □ 跌破30分钟确认的拐点支撑位 |
| □ 突破时成交量≥前5根K线均量1.5倍 | □ 跌破时成交量≥前5根K线均量1.5倍 |
| □ MACD红柱同步放大无顶背离 | □ MACD绿柱同步放大无底背离 |
| □ 回踩缩量且不跌破15分钟MA5 | □ 反弹缩量且不突破15分钟MA5 |
| □ 止损位设置入场K线低点下方5-10个点 | □ 止损位设置入场K线高点上方5-10个点 |
#### 2.3.2 风险与信号有效性补充核查
| 核查项目 | 核查要点 | 结果 |
|---------|---------|------|
| 信号一致性 | 三周期信号无矛盾,趋势方向统一 | □ |
| 规避假突破 | 非脉冲式放量突破后3根K线不回踩关键位 | □ |
| 消息面风险 | 无突发政策、数据发布发布前后15分钟暂停交易 | □ |
| 资金管理 | 单笔仓位≤10%止损≤账户1%-2% | □ |
#### 2.3.3 入场/离场决策规则
| 情况 | 判定标准 | 操作建议 |
|------|---------|---------|
| **可入场** | 60分钟≥3项√ + 30分钟≥3项√ + 15分钟≥4项√ + 补充核查全√ | 满足共振条件,按计划入场 |
| **谨慎入场** | 总√数7-8项且无核心信号缺失如量能、趋势项 | 可轻仓≤5%)试错 |
| **禁止入场** | 总√数≤6项或存在信号矛盾、假突破、消息面风险 | 直接观望 |
| **强制离场** | 触发止损位60分钟趋势拐头如MA10拐向临近收盘前30分钟 | 无论盈亏平仓 |
---
### 2.4 滞涨判断与回调性质区分
#### 2.4.1 滞涨判断三大维度(按优先级)
| 维度 | 核心特征(可量化) | 30分钟级 | 60分钟级 | 日线级 |
|------|-----------------|---------|---------|--------|
| **成交量(资金核心)** | 价格创新高/微涨,但量能显著萎缩;或放量但价格涨不动 | 量能较近期峰值萎缩≥30%或放量但1-2根K线涨不足1% | 量能较峰值萎缩≥40%或放量滞涨成交量达近期平均1.2倍+K线涨不动 | 量能较峰值萎缩≥50%或放量滞涨单日成交量达近期平均1.5倍+,收盘价未创新高) |
| **K线价格直观** | 上涨节奏骤降高点上移乏力出现顶部特征K线 | 2-3根小阳/十字星交替高点持平回落幅度不超5个点 | 出现乌云盖顶、阴包阳连续3根K线未突破前高 | 连续2-3交易日收小阳/十字星/小阴,高点持平,出现墓碑线、黄昏星 |
| **MACD动能辅助** | 红柱持续缩短,或与价格形成顶背离 | 红柱较峰值缩短≥30%,未出现死叉 | 红柱较峰值缩短≥50%DIFF开始走平可出现轻微顶背离 | 红柱较峰值缩短≥50%顶背离持续2个交易日+,红柱可开始翻绿 |
#### 2.4.2 回调性质对比(洗盘 vs 反转)
| 维度 | 洗盘(短期调整,趋势延续) | 反转(趋势结束,进入下跌) |
|------|--------------------------|--------------------------|
| **成交量** | 缩量下跌较滞涨期量能萎缩≥30%,越跌量越小,无资金主动出逃 | 放量下跌!下跌过程中量能持续放大,越跌量越大,主力砸盘 |
| **K线形态** | 小阴小阳交替下跌,无大阴线破位,偶有十字星,不破短期支撑位 | 大阴线连拉出现阴包阳、跳空低开等破位K线有效跌破中期支撑位 |
| **MACD指标** | 红柱小幅缩短,未翻绿、无明确死叉,指标仅从超买区小幅回落 | 红柱快速消失并翻绿,绿柱持续放大,出现明确死叉,顶背离信号延续 |
| **支撑位** | 收盘价始终站在10/20日均线上方 | 有效跌破60日均线中期支撑收盘价站在支撑下方 |
| **周期共振** | 日线保持强势60/30分钟出现短期调整信号调整后快速共振回升 | 日线率先走弱60/30分钟同步出现利空信号三者持续共振走弱 |
#### 2.4.3 多周期共振判断步骤
```
第一步:看日线(定方向)
↓ 核对日线的成交量、K线、MACD是否符合洗盘/反转特征
↓ 明确中期回调大方向
第二步看60分钟找衔接
↓ 核对60分钟三大维度信号
↓ 确认是否与日线方向一致
第三步看30分钟抓拐点
↓ 核对30分钟三大维度信号
↓ 确认是否与日线、60分钟方向一致
第四步:确认共振级别
↓ 2个周期同向 = 初步确认
↓ 3个周期同向 = 最终确认
↓ 结合基本面验证,制定交易策略
```
#### 2.4.4 滞涨后交易决策
| 场景 | 信号特征 | 操作建议 |
|------|---------|---------|
| **滞涨信号初现** | 1个维度达标 | 观望为主,不加减仓,重点跟踪另外两个维度 |
| **滞涨信号共振** | 2-3个维度达标 | 轻仓/大幅减仓30分钟级减20%60分钟级减30%-50%日线级减50%-70%),仅留极小底仓,不新开多单 |
| **确认洗盘** | 三大维度符合洗盘特征(缩量+无破位+MACD未翻绿 | 在短期支撑位附近低吸回补仓位止损位设为支撑位下方3%-5% |
| **确认反转** | 三大维度符合反转特征(放量下跌+K线破位+MACD翻绿死叉 | 清仓所有多单可轻仓试空止损位设为跌破的支撑位上方3%-5%,坚决不抄底 |
---
### 2.5 多空分歧实战分析
#### 2.5.1 多空分歧五维度识别
| 维度 | 分歧信号特征 |
|------|-------------|
| **成交量** | 价格创新高/新低但量能放大、涨幅/跌幅收窄;或巨量阴线/阳线后无延续 |
| **K线形态** | 长上影/长下影线交替影线长度超实体2倍十字星/纺锤线密集3根及以上反转组合出现跳空缺口当日回补 |
| **技术指标** | MACD顶/底背离KDJ超买/超卖区内反复交叉均线纠缠MA5/MA10与MA20间距<1% |
| **盘口持仓** | 主力持仓双增多空均大幅增仓大单异动频繁大单扫货后砸盘持仓量增幅超20%但价格波动<2% |
| **基本面** | 多空消息交织;重要政策/数据发布后价格无明显趋势性波动 |
#### 2.5.2 分歧强度分级与操作
| 级别 | 信号数量 | 概率判断 | 操作建议 |
|------|---------|---------|---------|
| **轻度分歧** | 3-4项 | 大概率震荡整理,趋势放缓 | 仓位控制在50%以内,不追涨杀跌 |
| **中度分歧** | 5-6项 | 反转概率提升,警惕关键位破位 | 仓位控制在30%以内,突破关键位后顺势跟进 |
| **重度分歧** | 7项及以上 | 博弈白热化,价格即将选方向 | 建议观望,等待方向明确 |
#### 2.5.3 关键位突破有效性验证
| 验证维度 | 有效突破(压力位) | 有效跌破(支撑位) |
|---------|------------------|------------------|
| **量能验证** | 突破时量能≥前5日均量1.5倍,分布均匀 | 跌破时量能放大跌幅超3%,恐慌盘信号明确 |
| **时间验证** | 突破后3个日线周期不回踩缩量企稳于压力位上方 | 跌破后3个日线周期不反弹缩量横盘确认 |
| **多周期验证** | 日线突破+60分钟布林带中轨突破+MACD红柱放大 | 日线跌破+60分钟布林带下轨突破+MACD绿柱拉长 |
| **测试次数验证** | 连续测试3-4次后突破压力位强度衰减 | 连续测试3-4次后跌破支撑位强度衰减 |
---
## 三、实操Checklist汇总
### 3.1 支撑/阻力有效性Checklist
**适用场景**:盘中快速核对支撑/阻力位是否有效满足≥4项可确认有效性≤2项需放弃该点位参考。
| 序号 | 核查项 | 结果 |
|------|--------|------|
| 1 | □ 测试次数≥3次且每次测试后均出现反向走势支撑回踩反弹阻力反弹回落 | □ |
| 2 | □ 测试/突破时量价同步(缩量企稳/放量突破,无无量虚动情况) | □ |
| 3 | □ 至少2个时间周期点位重合如日内5分钟+1小时波段4小时+日线) | □ |
| 4 | □ 贴合基本面逻辑(对应成本、供需、政策,无基本面背离) | □ |
| 5 | □ 突破后回踩/反抽确认成功(阻力变支撑不跌破,支撑变阻力不突破) | □ |
| 6 | □ 品种流动性充足(主力合约,成交量稳居前列,无低成交波动) | □ |
| 7 | □ 无突发消息干扰(点位非临时消息驱动,可持续性强) | □ |
**统计**共____项√判定□有效≥4项 □可疑3项 □无效≤2项
---
### 3.2 止跌确认Checklist
**适用场景**快速下跌后判断是否有效止跌满足≥3项可试仓。
| 序号 | 核查项 | 结果 |
|------|--------|------|
| 1 | □ 下跌末端缩量企稳K线量能≥前3根平均量能1.5倍 | □ |
| 2 | □ 出现锤子线/阳包阴/启明之星等反转形态 | □ |
| 3 | □ 关键支撑位回踩不破,或假跌破后快速收复 | □ |
| 4 | □ 无新利空,或有基本面利好加持 | □ |
| 5 | □ 短周期5/15分钟与中周期1小时同步企稳 | □ |
**统计**共____项√判定□可试仓≥3项 □观望(<3
---
### 3.3 反弹性质判断Checklist
**适用场景**止跌后判断反弹性质左侧≥3项为下跌中继右侧≥3项为反转趋势。
**下跌中继反弹** | **反转趋势反弹**
---|---
□ 反弹缩量,遇阻量能萎缩 | □ 持续放量,突破阻力时量能放大
□ 无法突破关键阻力位,承压回落 | □ 突破阻力后回踩不跌破,阻力变支撑
□ 仅短周期反弹,长周期仍空头 | □ 多周期共振向上,均线逐步多头排列
□ 基本面无改善,下跌驱动仍在 | □ 基本面利好持续发酵,供需格局改变
□ 反弹持续时间短,快速回落创新低 | □ 反弹持续久,回调浅,低点上移
**统计**下跌中继____项√反转趋势____项√判定□下跌中继 □反转趋势 □待定
---
### 3.4 多周期共振入场Checklist
**适用场景**日内交易多周期共振核查满足≥8项√且无矛盾信号方可入场。
**60分钟周期定趋势**
| 方向 | 核查项 | 结果 |
|------|--------|------|
| 看涨 | □ MA10MA20价格站稳MA10上方回调不跌破 | □ |
| 看涨 | □ MACD在零轴上方运行红柱持续/温和放大 | □ |
| 看涨 | □ 量价同步:上涨放量、回调缩量,无缩量新高 | □ |
| 看涨 | □ 布林带中轨向上倾斜,价格在中轨上方震荡 | □ |
| 看跌 | □ MA10MA20价格跌破MA10下方反弹不突破 | □ |
| 看跌 | □ MACD在零轴下方运行绿柱持续/温和放大 | □ |
| 看跌 | □ 量价同步:下跌放量、反弹缩量,无缩量新低 | □ |
| 看跌 | □ 布林带中轨向下倾斜,价格在中轨下方震荡 | □ |
**30分钟周期找拐点**
| 方向 | 核查项 | 结果 |
|------|--------|------|
| 看涨 | □ 出现阳包阴、启明星等反转K线组合 | □ |
| 看涨 | □ 突破前期小高点,且突破时放量 | □ |
| 看涨 | □ MACD零轴上金叉或死叉后快速金叉 | □ |
| 看涨 | □ 布林带价格突破中轨,回踩不跌破 | □ |
| 看跌 | □ 出现阴包阳、黄昏星等反转K线组合 | □ |
| 看跌 | □ 跌破前期小低点,且跌破时放量 | □ |
| 看跌 | □ MACD零轴下死叉或金叉后快速死叉 | □ |
| 看跌 | □ 布林带价格跌破中轨,反弹不突破 | □ |
**15分钟周期择入场**
| 方向 | 核查项 | 结果 |
|------|--------|------|
| 做多 | □ 突破30分钟确认的拐点压力位 | □ |
| 做多 | □ 突破时成交量≥前5根K线均量1.5倍 | □ |
| 做多 | □ MACD红柱同步放大无顶背离 | □ |
| 做多 | □ 回踩缩量且不跌破15分钟MA5 | □ |
| 做多 | □ 止损位设置入场K线低点下方5-10个点 | □ |
| 做空 | □ 跌破30分钟确认的拐点支撑位 | □ |
| 做空 | □ 跌破时成交量≥前5根K线均量1.5倍 | □ |
| 做空 | □ MACD绿柱同步放大无底背离 | □ |
| 做空 | □ 反弹缩量且不突破15分钟MA5 | □ |
| 做空 | □ 止损位设置入场K线高点上方5-10个点 | □ |
**补充核查**
| 核查项 | 结果 |
|--------|------|
| □ 三周期信号无矛盾,趋势方向统一 | □ |
| □ 非脉冲式放量突破后3根K线不回踩关键位 | □ |
| □ 无突发政策、数据发布 | □ |
| □ 单笔仓位≤10%止损≤账户1%-2% | □ |
**统计**共____项√判定□可入场≥8项 □谨慎入场7-8项 □禁止入场≤6项
---
### 3.5 滞涨判断Checklist
**适用场景**:快速上涨后判断滞涨及回调性质。
**滞涨判断(三大维度)**
| 维度 | 核查项 | 结果 |
|------|--------|------|
| 成交量 | □ 对应当前周期30/60分钟/日线),量能萎缩达标,或出现放量滞涨信号 | □ |
| K线 | □ 出现对应周期的顶部K线/组合,高点上移乏力,回落幅度匹配周期特征 | □ |
| MACD | □ 红柱缩短达标,或出现对应周期的顶背离,无明显动能回升信号 | □ |
| 周期 | □ 明确当前周期,区分信号级别(日线>60分钟>30分钟 | □ |
| 共振 | □ 至少2项核对项达标3项全达标时滞涨确认度≥80% | □ |
**回调性质判断(洗盘 vs 反转)**
| 维度 | 洗盘特征 | 反转特征 |
|------|---------|---------|
| 成交量 | □ 缩量下跌较滞涨期萎缩≥30% | □ 放量下跌,越跌量越大 |
| K线形态 | □ 小阴小阳交替,无大阴线破位 | □ 大阴线连拉,出现阴包阳、跳空低开 |
| MACD | □ 红柱小幅缩短,未翻绿、无明确死叉 | □ 红柱快速消失并翻绿,绿柱持续放大 |
| 支撑位 | □ 不跌破短期支撑位MA10/MA20 | □ 有效跌破中期支撑位MA60 |
| 周期 | □ 大周期保持强势,小周期短期调整 | □ 大周期率先走弱,小周期同步利空 |
**统计**洗盘____项√反转____项√判定□洗盘≥3项 □反转≥3项 □待定
---
### 3.6 多空分歧识别Checklist
**适用场景**判断多空分歧强度满足3项及以上判定为分歧加剧。
| 维度 | 核心核查项 | 分歧信号 |
|------|-----------|---------|
| **成交量** | □ 价格创新高/低,量能放大但涨/跌幅收窄 | □ |
| **成交量** | □ 日内量价波动剧烈幅度超5% | □ |
| **成交量** | □ 量放50%+但未突破关键位 | □ |
| **K线形态** | □ 连续长影线接近实体2倍 | □ |
| **K线形态** | □ 出现反转K线组合 | □ |
| **技术指标** | □ MACD顶/底背离 | □ |
| **技术指标** | □ KDJ极端区间反复交叉 | □ |
| **盘口持仓** | □ 盘口大单异动、反复博弈 | □ |
| **基本面** | □ 多空消息交织 | □ |
**统计**共____项√判定□轻度分歧3-4项 □中度分歧5-6项 □重度分歧7项+
---
## 四、交易决策流程
### 4.1 完整交易决策流程图
```
┌─────────────────────────────────────────────────────────────────┐
│ 交易决策流程 │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ 第一步趋势判断60分钟周期
│ • MA10/MA20排列方向 │
│ • MACD零轴位置 │
│ • 量价同步性 │
└─────────────────────────────────────────────────────────────────┘
┌───────────────┴───────────────┐
│ │
▼ ▼
┌─────────────┐ ┌─────────────┐
│ 趋势不明 │ │ 趋势明确 │
≤2项达标 │ │≥3项达标
└─────────────┘ └──────┬──────┘
│ │
▼ ▼
┌─────────────┐ ┌─────────────┐
│ 放弃交易 │ │ 第二步拐点确认30分钟
└─────────────┘ │ • 反转K线形态 │
│ • 突破/跌破有效性 │
│ • MACD金叉/死叉 │
└──────┬──────┘
┌──────────────┴──────────────┐
│ │
▼ ▼
┌─────────────┐ ┌─────────────┐
│ 拐点无效 │ │ 拐点有效 │
与60分钟矛盾│ │与60分钟一致
└─────────────┘ └──────┬──────┘
│ │
▼ ▼
┌─────────────┐ ┌─────────────┐
│ 观望等待 │ │ 第三步入场执行15分钟
└─────────────┘ │ • 突破确认 │
│ • 量能验证≥1.5倍) │
│ • 设置止损入场K线±5-10点
└──────┬──────┘
┌─────────────┐
│ 持仓管理 │
│ • 跟踪止盈 │
│ • 触发止损 │
│ • 收盘前平仓 │
└─────────────┘
```
### 4.2 关键决策节点速查表
| 决策节点 | 判定标准 | 通过 | 不通过 |
|---------|---------|------|--------|
| **趋势过滤** | 60分钟≥3项√ | 进入拐点确认 | 放弃交易 |
| **拐点确认** | 30分钟≥3项√且与60分钟同向 | 进入入场执行 | 观望等待 |
| **入场确认** | 15分钟≥4项√ + 补充核查全√ | 按计划入场 | 禁止入场 |
| **离场确认** | 触发止损/止盈或60分钟拐头 | 立即平仓 | 继续持有 |
---
## 五、避坑要点汇总
### 5.1 通用避坑要点
1. **不单一依赖某一维度**
- 仅看K线如单根墓碑线、仅看MACD如红柱缩短极易误判
- 必须结合成交量(资金核心)共振确认
2. **不忽视周期联动**
- 日线级出现滞涨/反转信号即使60分钟/30分钟级有反弹信号也以日线为主优先减仓
3. **不强行共振**
- 若某一周期信号与其他周期矛盾如日线洗盘60分钟反转不算共振以日线为准观望等待信号统一
4. **不混淆信号强度**
- 日线信号强度 > 60分钟 > 30分钟
- 不可因30分钟共振反转忽视日线强势信号盲目做空
5. **不扛单**
- 日线级反转信号共振(放量+破位+MACD死叉立即清仓
- 期货带杠杆,扛单会放大亏损
### 5.2 分场景避坑要点
| 场景 | 避坑要点 |
|------|---------|
| **支撑/阻力交易** | 仅在主力合约(高流动性)中运用支撑/阻力分析;远月合约、低成交量品种的点位无资金验证,参考价值极低 |
| **止跌抄底** | 快速下跌后第一次反弹80%为下跌中继;建议等待"二次回踩支撑不破+放量拉升"再入场 |
| **多周期共振** | 不背离大趋势交易高波动品种需等待5+15+60分钟多周期共振确认不依赖单一周期信号 |
| **滞涨回调** | 不忽视量能共振多周期共振的核心是成交量共振无成交量共振仅K线+MACD共振准确率大幅降低 |
| **多空分歧** | 分歧期忌追涨杀跌仓位控制在30%以内;价格突破关键位且量能验证后,顺势跟进 |
### 5.3 品种特性避坑
| 品种类型 | 代表品种 | 注意事项 |
|---------|---------|---------|
| **高波动品种** | 沪锡、沪银、碳酸锂 | 假止跌、假突破信号频发,需多周期共振确认;严格设置止损 |
| **中波动品种** | 燃料油、集运欧线 | 受地缘与供需影响,警惕政策调控风险 |
| **低波动品种** | 甲醇、沪镍 | 适合趋势跟踪,结合产业基本面操作 |
---
## 附录:核心公式与参数
### A.1 枢轴点计算公式
```
枢轴点PP=(高+低+收)/3
一级支撑S1= 2×PP - 高
二级支撑S2= PP -(高-低)
一级压力R1= 2×PP - 低
二级压力R2= PP +(高-低)
```
### A.2 量能计算标准
```
企稳放量标准企稳K线成交量 ≥ 前3根K线平均量能 × 1.5
突破放量标准:突破时成交量 ≥ 前5根K线均量 × 1.5
缩量标准:回调量能较峰值萎缩 ≥ 30%(洗盘特征)
```
### A.3 止损设置标准
```
日内交易止损入场K线低点/高点下方/上方 5-10个点
波段交易止损:支撑位/阻力位下方/上方 3%-5%
资金风控止损:单笔止损 ≤ 账户资金的 1%-2%
```
### A.4 仓位管理标准
```
正常仓位:单笔仓位 ≤ 10%
试错仓位:≤ 5%
分歧期仓位:≤ 30%
```
---
**重要提示**:本文档内容仅为技术分析实操参考,不构成任何投资建议。期货交易风险极高,需结合自身风险承受能力,搭配科学止损策略使用,谨慎操作。
---
*文档整合完成日期2026年3月7日*
*整合来源5份期货交易技术分析实战文档*
Loading…
Cancel
Save