Phoenix Auto Trendline
在最近的高点上方画一条向下的线,在最近的低点下方画一条向上的线,都替您选好。
简介
Phoenix Auto Trendline 会替您画趋势线。趋势线是穿过价格两个转折点的一条直线。
要添加它,请在 KAGAMI 里点击图表顶部的 指标(Indicators)。它在 KAGAMI 分组里,名字是 Phoenix Auto Trendline Black Edition v1.1。在图表上,它的名字显示为 Phoenix Auto Trendline。
这个指标还没有出现在每个账户的指标列表里。
KAGAMI 在自己的服务器上算出这些线。它遵循原始脚本的规则。原始脚本是为 TradingView 写的。
您在图表上看到什么
一根 K 线(也叫蜡烛)是图表上的一小段时间,比如 15 分钟。波段高点 是一根最高价高出周围 K 线的 K 线。波段低点 是一根最低价低于周围 K 线的 K 线。
- 两个波段高点上方的一条向下倾斜的线。 交易者把它叫作 阻力 线。
- 两个波段低点下方的一条向上倾斜的线。 交易者把它叫作 支撑 线。
- 每种同时最多只有一条。
- 离最新价格更近的那条线是 粗的水蓝色实线。这是 主线。
- 另一条线是 较细、颜色淡的橙色虚线。这是 副线。
- 每条线都从它第一个点之前 10 根 K 线处开始。
- 它延伸到最新 K 线之后 20 根 K 线,伸进右边的空白处。
当一根 K 线收在一条线的另一侧时,这条线就 被突破 了:
- 它变成一条 颜色淡的水蓝色虚线。
- 它不再移动。
- 每种只保留最后一条被突破的线。
一条从未被突破的线,画出后大约 80 根 K 线就会消失。
这个指标不画标签、方框或箭头。只画线。
交易者通常怎么看它
- 很多交易者把高点上方向下倾斜的线,看作一个比一个低的高点。
- 他们把低点下方向上倾斜的线,看作一个比一个高的低点。
- 有些交易者看价格靠近一条线时的表现。
- 有些交易者留意收盘价是否到了线的另一侧。他们把这叫作突破。
- 有些交易者留意那条颜色淡的、被突破的线。他们看价格会不会回到这条线。
指标只能描述过去的价格。它无法预知未来。
设置
这个指标没有可以更改的设置。它总是用同样的固定数值:
- 怎样找到波段,取决于时间周期。时间周期就是每根 K 线代表的时间。
- 在 15 分钟图表上,波段高点必须高于它之前的 7 根 K 线。它不能低于它之后的 5 根 K 线。
- 它会记住最近 18 个波段高点和最近 18 个波段低点。
- 一条线的两个点相隔 5 到 45 根 K 线。
- 线从第一个点之前 10 根 K 线处开始。它们在最新 K 线之后 20 根 K 线处结束。
- 主线是粗的水蓝色线。副线是颜色淡的橙色虚线。
什么时候它会误导您
- 线出现得晚。 只有在一个波段之后又有几根 K 线收盘,才能知道这个波段。在 15 分钟图表上,是 5 根 K 线。
- 线是由得分选出来的。 在同一张图表上,手工画线的人可能会选另一条线。
- 横盘的市场。 不允许非常平的线。两个相等的高点永远连不成一条线。所以横盘的市场可能没有线。
- 快速的走势。 也不允许非常陡的线。急涨或急跌时可能没有线。
- 一次收盘就算突破。 任何越过这条线的收盘都算,哪怕只越过一点点。价格可能在下一根 K 线就回来。
- 主线只表示最近。 实线或虚线只说明哪条线离最后一个收盘价更近。它说明不了强弱。
- 线会消失。 一条没有被突破的线,画出后大约 80 根 K 线就会消失。这并不说明价格的任何事情。
- 正在形成的 K 线会被忽略。 只有在 K 线收盘时,一切才会更新。
- 股票图表。 它们在夜里和周末没有 K 线。所以最新 K 线之后的那一段,位置可能和 TradingView 上不一样。
图表是用来学习的,不是建议。请阅读我们的风险免责声明。
一个例子
以 15 分钟图表上的 NASDAQ:AAPL 为例。每根 K 线是 15 分钟。下面的数字是编的。
- 假设 AAPL 在 110.00 形成一个波段高点。它高于之前的 7 根 K 线和之后的 5 根 K 线。
- 20 根 K 线之后,它在 108.00 形成一个更低的波段高点。
- 再过 5 根 K 线,第二个高点得到确认。
- 指标给最近高点的每一对打分。假设这一对得分最高。
- 它画出一条穿过 110.00 和 108.00 的向下倾斜的线。这条线每根 K 线下降 0.10。
- 这条线从第一个高点之前 10 根 K 线处开始。它一直延伸到最新 K 线之后 20 根 K 线。
- 后来,这条线在 106.50,一根 K 线收在 106.70。这个收盘价在线的上方。
- 这条线变淡、变成虚线,并且不再移动。下一个得到确认的波段会开始新的寻找。
技术细节
这部分写给想了解准确规则的读者。每条规则都只用已收盘的 K 线,一次一根,从 KAGAMI 读取的最早一根 K 线到最新的一根。
计算方法
在每根已收盘的 K 线上,按这个顺序:
- 存下在这根 K 线上得到确认的波段高点或波段低点。
- 删除太旧的活动线(见“突破和过期”一节)。
- 把被收盘价穿过的活动线,变成这一侧最后一条被突破的线。
- 如果这根 K 线上确认了一个波段高点或波段低点,就为每个还没有线的一侧寻找新线。
- 移动每条活动线的两端:左端移到它第一个点之前 10 根 K 线,右端移到这根 K 线之后 20 根 K 线。
- 决定哪条活动线是主线,哪条是副线。
规则用到的词:
- 一根 K 线的 真实波幅(true range)=
high − low、|high − previous close|和|low − previous close|中最大的那个。在最开始的第一根 K 线上,它是high − low。 - ATR = 14 根 K 线真实波幅的 Wilder 平均值。第一个 ATR 是前 14 个真实波幅的简单平均值。之后,
ATR = (true range + 13 × previous ATR) ÷ 14。前 13 根 K 线没有 ATR。 - 穿过较早的点
(x1, y1)和较新的点(x2, y2)的 一条线,x以 K 线计数:price(x) = y1 + (y2 − y1) ÷ (x2 − x1) × (x − x1)。它的 斜率(slope)是每根 K 线(y2 − y1) ÷ (x2 − x1)。 - 最小变动价位(tick size)= 最小的价格步长。KAGAMI 对美国股票用 0.01(最后一个收盘价低于 1 时用 0.0001),对其他所有市场用图表价格精度的一个单位。它只在两个除法里作为 ATR 的下限。
波段点
- 波段高点 是这样一根 K 线:它的最高价严格高于它之前 left 根 K 线的最高价,并且不低于它之后 right 根 K 线的最高价。几个相等的最高价挨在一起时,算第一个。
- 波段低点 正好相反:它的最低价严格低于之前 left 根 K 线的最低价,并且不高于之后 right 根 K 线的最低价。
- 波段在它之后第 right 根 K 线收盘时得到确认。
- 每一侧保留最新的 18 个波段。更早的会被丢掉。
left 和 right 的长度跟着图表的时间周期:
| 图表时间周期 | 之前的 K 线(left) | 之后的 K 线(right) |
|---|---|---|
| 1、5、10、15、30 秒 | 5 | 3 |
| 1、3、5 分钟 | 5 | 3 |
| 15 分钟 | 7 | 5 |
| 30 分钟 | 8 | 5 |
| 45 分钟、1 小时 | 10 | 7 |
| 2、3、4 小时 | 12 | 8 |
| 1 天 | 14 | 9 |
| 1 周 | 16 | 10 |
| 1 个月 | 12 | 8 |
选择一条线
只有在一根确认了波段(高点或低点)的 K 线上,并且这一侧没有活动线时,这一侧才会得到一条新线。这时,会尝试这一侧存下的波段的每一对:一个较早的点和一个较新的点。出现下面的情况时,这一对会被淘汰:
- 两个点相隔少于 5 根或多于 45 根 K 线;
- 较早的点在这根 K 线之前超过 70 根 K 线;
- 对阻力线来说,较新的高点不低于较早的高点;对支撑线来说,较新的低点不高于较早的低点;
- 斜率按
|slope| ÷ the larger of (ATR, tick size)计算(用这根 K 线的 ATR),小于 0.010 或大于 0.22; - 它的触碰少于 2 次,或者实体穿越多于 1 次(见下面)。
触碰和实体穿越,在从较早的点到这根 K 线之间的每根 K 线上计数。容差是 0.20 × ATR,用正在检查的那根 K 线的 ATR。没有 ATR 的 K 线,两样都不算。
- 阻力线: 当
|high − line| ≤ tolerance时,这根 K 线算 触碰。当它实体的顶部(开盘价和收盘价中较高的那个)高于line + tolerance时,它算 穿越。 - 支撑线: 当
|low − line| ≤ tolerance时,这根 K 线算 触碰。当它实体的底部(开盘价和收盘价中较低的那个)低于line − tolerance时,它算 穿越。 - 只有严格位于较早的点和这根 K 线之间的 K 线,才计算穿越。两个点本身就是触碰。
0.20 × ATR。带里面的最高价就是一次触碰(一个点)。1 — 较早的波段高点。2 — 较新的波段高点。两个点都算触碰。3 — 带里面的第三个最高价。一共 3 次触碰,并且两个点之间没有 K 线实体高出这条带,所以这一对通过了。这里这条线是副线,因为最新的收盘价离下面的支撑线更近。每一对通过的都会得到一个得分(见下面)。得分最高的胜出。如果打平,最先找到的那一对胜出:寻找时,较早的点从第二新的波段开始往前取;对每个较早的点,较新的点从最新的波段开始依次取。
一条线一旦画出,在被突破或过期之前,会一直保持它的两个点。之后找到更好的一对,也不会取代它。失去线的一侧会一直空着,直到后来确认的某个波段给出一对能通过的点。
得分
这是原始脚本 Classic Clean 的打分方式。这里 distance = |close − line at this candle| ÷ the larger of (ATR, tick size),since = 从较新的点到这根 K 线的 K 线数。
| 部分 | 分数 |
|---|---|
| 波段跨度 | the smaller of (gap ÷ 45, 1) × 32 × 1.35,其中 gap = 两个点之间的 K 线数 |
| 触碰 | touches × 18 |
| 干净的实体 | the larger of (30 − body crosses × 15, 0) |
| 接近程度 | the larger of (12 − distance × 4, 0) |
| 新近程度 | 12 ÷ (since + 1) |
| 斜率扣分 | 减去 slope in ATR ÷ 0.22 × 8 |
| 新波段扣分 | 当 since ≤ right + 2 时,减去 18 |
得分是所有部分的总和。如果一对点里较新的点是刚刚确认的波段,新波段扣分就会压低它的得分。
突破和过期
- 过期 先检查。从画出它的那根 K 线算起,过了超过 80 根 K 线,活动线就会被删除。过期的线就没有了;它不会作为被突破的线保留下来。
- 突破: 在这根 K 线上,收盘价高于活动的阻力线,或低于活动的支撑线。没有缓冲:越过多少都算。
- 被突破的线保持它在前一根 K 线上画出的样子。它的左端留在第一个点之前 10 根 K 线处。它的右端留在突破前那根 K 线之后 20 根 K 线处。
- 它变成虚线,4 像素,水蓝色
#00BCD4,透明度 55%。它再也不会移动。 - 每一侧保留一条被突破的线。这一侧的下一次突破会取代它。
主线和副线
- 两条线都是活动的: 离这根 K 线收盘价更近的是主线,按
|close − line|计算。如果打平,阻力线是主线。 - 主线是实线,5 像素,水蓝色
#00BCD4。 - 副线是虚线,4 像素,橙色
#FF9800,透明度 45%。 - 只有一条活动线: 它就是主线(实线,5 像素,水蓝色)。
- 被突破的线保持它们自己的样子。
线的长度
- 左端在较早的点之前 10 根 K 线处,沿着这条线自己的斜率。
- 右端在最新的已收盘 K 线之后 20 根 K 线处,沿着同样的斜率。每次收盘,它向右移动一根 K 线。
- 两端只是为了显示。它们从不改变点或规则。
- KAGAMI 把 K 线的数量换算成时间。过去的 K 线用它们真实的时间。最新 K 线之后的点,按钟表时间放在 20 个 K 线时长之后。KAGAMI 读取的最早 K 线之前的点,每个往回退一个 K 线时长。
输入项
KAGAMI 不为这个指标显示输入项。它总是用原始脚本的默认值:
| 原始脚本里的设置 | KAGAMI 使用的值 | 作用 |
|---|---|---|
| Pivot Mode | Auto by Timeframe | 波段长度来自时间周期表 |
| Manual Pivot Left · Manual Pivot Right | 5 · 3(不使用) | 只在 Manual 模式下使用 |
| Stored Pivots Per Side | 18 | 每一侧保留的波段数 |
| Extend Line to Left (Bars) | 10 | 向左的延伸 |
| Extend Line to Right (Bars) | 20 | 向右的延伸 |
| Trendline Display | Both | 两条活动线都显示 |
| Primary Line Width | 5 | 主线 |
| Secondary Line Width | 4 | 副线和被突破的线 |
| Primary Trendline Color | 水蓝色 #00BCD4 | 主线和被突破的线 |
| Secondary Trendline Color | 橙色 #FF9800 | 副线 |
| Secondary Line Opacity | 45 | 当作透明度用:45% 透明 |
趋势线的引擎本身在原始脚本里也是固定的,任何地方都没有设置:
| 引擎数值 | 固定为 |
|---|---|
| ATR 长度 | 14 根 K 线 |
| 较早的点往回看多远 | 70 根 K 线 |
| 两个点之间的间隔 | 5 到 45 根 K 线 |
| 需要的触碰 | 至少 2 次 |
| 触碰容差 | 0.20 × ATR |
| 允许的实体穿越 | 最多 1 次 |
| 允许的斜率 | 每根 K 线 0.010 到 0.22 × ATR |
| 线的寿命 | 80 根 K 线 |
| 打分 | Classic Clean,权重 32(波段跨度)、18(触碰)、18(新波段扣分) |
KAGAMI 不提供:
- 更改上面的任何一个值;
- Manual 波段长度;
- Primary Only 显示方式,它会隐藏副线。
数值什么时候会变
- KAGAMI 只判断已收盘的 K 线。正在形成的 K 线从不算数,所以 K 线形成期间,什么都不会动。
- 每有一根新的已收盘 K 线,页面就向 KAGAMI 的服务器请求这些线,另外每 60 秒也请求一次。在很短的时间周期上,最多每 2 秒一次。
- 每次收盘,活动线的右端向右移动一根 K 线。它的点从不移动。
- 收盘价在两条线之间移动时,主线和副线在任何一次收盘时都可能互换。
- 只有在确认了波段的 K 线上,才可能出现新线。
- 活动线可能因为过期而消失,或者因为突破而变成被突破的线。
- 被突破的线是冻结的,直到它这一侧的下一次突破取代它。
- KAGAMI 最多读取最新的 2,000 根 K 线,并从其中最早的一根开始执行规则。
时间周期
- 波段长度跟着时间周期(见“波段点”一节里的表格)。
- 秒级时间周期(1 秒、5 秒、10 秒、15 秒和 30 秒)只有加密货币才有。股票和外汇从 1 分钟开始。
- 美国股票的 K 线覆盖交易时间(纽约时间 09:30–16:00)。规则数的是 K 线;夜里和周末没有 K 线。
- 在股票上,最新 K 线之后 20 个 K 线时长的钟表时间,可能会落到休市的几个小时里。TradingView 则是数市场自己未来的 20 根 K 线。所以右端的位置可能不一样。
- 在 1 秒图表上,这些线最多每 2 秒刷新一次。
和原始 Pine 脚本的区别
KAGAMI 画出的线,颜色和样式都和用默认设置的原始脚本一样。不同的地方:
- 没有设置。 每个输入项都固定为原始脚本的默认值。
- 只用已收盘的 K 线。 在 TradingView 里,原始脚本在 K 线形成期间也会运行。在那里,波段、新线和主线的选择,都可能在 K 线收盘之前改变;只有突破要等到收盘。KAGAMI 全部在已收盘的 K 线上进行。
- 右端。 它在最新的 已收盘 K 线之后 20 根 K 线处。在 TradingView 里,它在正在形成的那根之后 20 根,也就是再往右一根 K 线。
- 用时间代替 K 线。 KAGAMI 按钟表时间来放置最新 K 线之后的点,以及它读取的最早 K 线之前的点(见“线的长度”一节)。TradingView 数的是 K 线,左边也有真实的历史数据。
- 历史数据。 KAGAMI 最多读取最新的 2,000 根 K 线。TradingView 常常有更多。
- K 线数据。 KAGAMI 用自己的市场数据。一根 K 线上的小差别,就可能改变找到哪些波段和线。
- 最小变动价位。 KAGAMI 用自己的规则(见“计算方法”一节)。它只作为 ATR 的下限起作用。
- 外观。 KAGAMI 用图表自己的趋势线工具。线宽和虚线看起来稍有不同。您不能选中、移动或编辑这些线,它们也不会被保存。
特殊情况
- 已收盘的 K 线少于 3 根: 什么都不画。
- 前 13 根 K 线 没有 ATR,所以在第 14 根 K 线之前不能选出线。
- 波段太少: 一侧需要两个相隔 5 到 45 根 K 线的波段,并且较早的那个在 70 根 K 线以内。没有它们,这一侧就没有线。
- 相等的波段: 两个相等的高点永远连不成阻力线,两个相等的低点也永远连不成支撑线。
- 太平或太陡: 斜率小于每根 K 线 0.010 或大于 0.22 × ATR 时,没有线。
- 线在错误的一侧: 寻找时不检查它所在的那根 K 线的实体。所以一条新线开始时,最新的收盘价可能已经越过它了。然后它会在下一根收盘越过它的 K 线上被突破。
- 过期先于突破: 一条线如果在同一根 K 线上既过期又被穿过,就会被删除。它不会作为被突破的线保留。
- 跳空: 跳空越过这条线时,如果收盘价也在线的另一侧,就算突破。
- 长时间的等待: 突破或过期之后,一侧可能会空着很多根 K 线。