Skip to content

怕追高又怕错过,我用两个指标卡住趋势的起头

作 者:老余捞鱼

原创不易,转载请标明出处及原作者。

技术讨论不构成任何操作建议。
模型评测不等于投资建议。
不荐股、不卖课、不承诺收益。
市场有风险,请合法合规投资。

本文约 3500 字 | 预计阅读 9 分钟,后半部分有公式拆解,建议先收藏

在15分钟上做EUR/USD,一天要走96根K线,对于在其中哪一根上选择交易,经常既怕错过机会又怕是在追高的路上。

主要卡在两处。一处是方向,提示冒出来,分不清这是真突破还是插一下就跑,等看清楚了,那一波已经走掉大半。另一处是力度,方向对了按下去,盘面却没劲,价格横着磨,先把止损磨掉。我想写这篇,就是因为这两个指标正好对着这两处。

这篇主要讲三件事。两个指标各在算什么,四条条件我怎么一条条串着用,还有一处拆公式才看出来的重合。前半装上就能看图,后半是我踩过的几处。

一、辨别方向交给趋势指标

第一个指标叫Band-Channel Persistence Trend,脚本作者SchizoQuant。名字由三段拼起来,band是带,channel是通道,persistence是持续性,直译大概是带宽通道持续性趋势。中文没有现成译名,只能按字面理解。

它和均线的差别在于自适应。均线的窗口是钉死的,行情从慢变快,它不会跟着变;这个指标把带宽交给波动率,波动放大带子张开,波动收缩带子收窄。价格得走出通道并且维持住,趋势才算数,维持这条由persistence那一段管。

这一条正好给我一个是或不是。均线交叉只说两根线换了位置。通道维持说的是价格还在不在里面,判断起来干脆得多。

图上这一段只出了两个三角,紫色向下,绿色向上,中间没再给。信号少我一开始不习惯,后来觉得是好事,等于不用每根K线都做一次决定。

老实讲,两个指标摞在一起的组合,我一开始是怀疑的。多数组合是把两个都会慢半拍的东西叠起来,一个响另一个也响,叠完还是慢。这两个算法不一样,一个数通道维持,一个数21根的收盘位置。

它的收藏数是117,第二个指标是3.5K,差了三十倍。收藏少意味着两件事,一是没人替你试过参数,二是没有二手解读,能查到的都是脚本作者原话。

二、力度的判断交给IIX

第二个指标全名Intraday Intensity Index,缩写IIX。这个是把K线的收盘价在最高最低之间摆的位置,量化成一个负一到正一的数,乘上成交量,再把最近21根加起来。写成式子是 II = (2C – H – L) / (H – L) × V,C是收盘,H是最高,L是最低,V是成交量,IIX是这21根的累加。

拆开看分子。2C减H减L大于零,等价于C大于H加L的一半,也就是收盘落在区间上半,小于零就在下半。所以它只回答一件事,这根K线收在这一格的哪一半,跟之前涨了还是跌了没关系。

拿一组数代进去。最高110,最低100,收盘104,成交量1000。分子是208减110减100,负2。分母是10,负0.2乘1000,II是负200,这一根把累加值往红的那边压。

收盘换到106,分子变成正2,II是正200,往蓝的那边推。柱子画的是21根的和,颜色看的是这个和的符号,单根只决定它往哪边挪。

标题栏最左边写着IIX 21,后面跟着31,465和7,343两个数,是当前值和前值。柱子在零轴上方是蓝,下方是红

我第一反应是把IIX归到动量指标那一栏,读到公式才明白拆错了方向。动量要拿当期和历史比,IIX只看这一根K线内部的收盘位置,再靠21根累加把噪声抹平。所以它回答的不是涨得快不快,是这一根收得实不实。

这里有个外汇绕不过去的坑,就是V。现汇没有中心化交易所,谁也拿不到真实成交量。TradingView在外汇上给的volume是跳动次数,也就是这段时间里报价改了多少次。跳动次数和成交量正相关,但不是一回事,行情清淡时相关性会掉。换成期货或者股票,V是真的,这条不用打折。

那个21不是猜的。副图标题栏那串小字,我盯着看了半天,放大4倍才认出开头写着IIX 21。默认长度就是21根,调它等于调柱子的平滑程度。21根累加出来的曲线比5根平滑得多,翻身也慢。

三、装配就两步,位置别放错

趋势指标加主图,它属于叠加型,加载完带子直接压在K线上。IIX加副图,会在下方另开一格。加反了不报错,是看不见。

搜名字的时候认脚本作者。趋势指标搜Band-Channel Persistence Trend,第一条是SchizoQuant,后面标着117。IIX搜三个字母,第一条是INTRADAY INTENSITY INDEX IIX,脚本作者KivancOzbilgic,3.5K。

收藏区第一条就是它,脚本作者SchizoQuant,右边的117是收藏数

搜三个字母只出来一条,脚本作者KivancOzbilgic,3.5K收藏

参数先全部用默认值。想调先记下默认值长什么样,否则后面分不清是参数变了还是行情变了。

四、做空

清单一共四条,按顺序核,任何一条不过就跳过。

  • 第一条,等趋势指标出SHORT信号,紫色向下三角。
  • 第二条,出信号那根K线得收阴,收盘低于开盘。
  • 第三条,它前面那一根也得收阴。
  • 第四条,IIX出红柱。

四条同时成立,在信号K线收盘之后考虑进场。

第二条和第三条合起来是连续两根阴线,为的是避开单根阴线当孤证,一根K线收在下方,可能只是插针。代价是即时启动的行情会被放过一部分。

看这张图之前先做一件事。TradingView默认配色是绿涨红跌,跟A股反过来。图上满眼红绿,心里要提前翻一次,不然第一眼方向全是反的。

EUR/USD 15分钟。图上四个蓝色标注编号1到4,1是SHORT信号,2是那根信号K线,3是它前一根,两根都收红,4是下方对应的IIX红柱

五、做多

做多是镜像,四条反过来就是。编号标得比做空那张清楚,1到4挨着来,不用猜。

  • LONG信号,绿色向上三角。
  • 信号K线收阳,收盘高于开盘。
  • 前一根也收阳。
  • IIX出蓝柱。

同一标的同一周期,四条标注编号1到4。信号那根是根大阳线,它前一根也是阳线

以上装上就能用。往下是我拆公式才发现的一处重合,还有几处上手会卡的地方。

六、四条条件,其实只有两道在干活

上面我说的四条门槛真的能实战吗?理论上第一条管方向,第二第三条管K线,第四条管IIX。看上去三路独立,实际不是。

先看第二条和第四条。IIX的符号由2C减H减L决定,也就是收盘在区间上半还是下半;第二条看的是C小于O。这两件事在外汇15分钟上几乎等价,因为跳空很少见,开盘价基本贴着前一根的收盘,一根K线要是收在开盘下方,多半也收在了区间下半。

几乎等价不等于等价。反例我手算过。最高110,最低100,开盘108,收盘106。C小于O,收阴,第二条过;可这一根的分子是212减110减100,正2,II是正200,它在往蓝的那边推。同一根K线,两条给出相反的票。

所以真正能算独立信息的只有两样,方向和收盘位置。第二条和第四条量的是同一件事的两个切面,第三条把第二条往前延一根K线。四条叠起来,能挡掉的东西比看起来少。

落到用法上是这样。第一条过了往下看。第二第三条过了,位置对。这两步我照核。IIX那一条不给我新信息,只是换个角度再确认一次,所以我把它当减速带,不当刹车片。真碰上第二条和第四条打架,就是那根K线收在下半区但量很小,柱子又短又淡,这种我直接放掉。我觉得第四条最值钱的时候,恰恰是它和第二条意见不一致的那一刻。

我不是要把这两条删掉。第二条防价格反向,第四条防成交量不支持,留着当提醒可以,当成四重保险就过了。

要量这个重叠度,几行代码就够。下面这段是我写的版本,列名换成自己数据集的就能跑。

import numpy as np

def iix_series(df, n=21):
    rng = (df["high"] - df["low"]).replace(0, np.nan)
    up = 2 * df["close"] - df["high"] - df["low"]
    ii = (up / rng) * df["volume"]
    return ii.rolling(n).sum()

df = df.copy()
df["iix"] = iix_series(df)

c, o = df["close"], df["open"]
two_bear = (c < o) & (c.shift(1) < o.shift(1))
with_iix = two_bear & (df["iix"] < 0)

print(two_bear.sum(), with_iix.sum())

跑完看两个数,一个是连续两根阴线的信号数,一个是再加IIX红柱之后剩多少。差得越小,说明第四条越没在干活。这个数我没跑。手上没有15分钟外汇数据,拿A股日线代跑,品种换了周期也换了。数能算出来,但我不敢拿一条日线的重合率去回答15分钟的问题。编一个数字挂上去,比不给更糟。

七、周期和品种

我用的是15分钟EUR/USD,大家也许会问周期能不能再小一点?5分钟也能用,成本结构会变。EUR/USD的点差常在1个点上下,而5分钟图上止损距离往往只有十几个点,点差吃掉的比例一下翻上去。5分钟我没试过,说不好具体差多少。信号变多不等于机会变多。

一次只测一个品种一个周期。EUR/USD和GBP/USD性格不一样,混着测,出来的数没法拆开看。

八、止损

止损的放法是空单放最近的波段高点上方,多单放波段低点下方,再考虑波动率。方向好定,费事的是三样细节。

一是距离,波段高点取哪一根、用影线还是用收盘,没有定死。二是失效条件,进场之后多久不成立就走。三是信号重复触发怎么办。

第三样我在图上核出来了。做空那张图右侧,同一段下跌里还有第二个SHORT三角。原图只有700像素宽,我放大了好几倍才确认。它前面那一根是绿K,按第三条该跳过。也就是说这个指标会在一段行情里连着发信号,第一个合格第二个不合格,不核前一根直接照着信号再下一笔,下的就是不合格的那次。

止损定下来,仓位就定了。风险1%,止损20个点,能开多大由这两个数反推,跟想下多重没关系。

还有隔夜利息。15分钟日内单一般不留夜,一旦被套住过夜,掉期费会吃掉算好的盈亏比。

九、上实盘前,先看它会不会重绘

上实盘之前先查这个指标重不重绘。这是最值钱也最容易被跳过的一段,图上几个漂亮的信号什么都证明不了。

重绘的意思是,新K线出来之后,历史图上的信号位置会变。趋势类指标只要用了未来函数或者分段拟合,就会出现这种情况。回看历史图,每个转折都标得准准的,实盘那一刻根本没有那个三角。查法很简单,打开图,记下某一天的信号位置和根数,切到别的周期再切回来,看标记有没有挪动。或者刷新页面,跟刚才的截图对比。

IIX一般不重绘,它是当根K线的算术。趋势指标那个要单独查,它做持续性判定,用到通道和维持条件,这类算法最容易在边界上回头改。

还有期望值是值得盯的数。胜率40%配上2比1的盈亏比是赚的,胜率60%配上0.5比1是亏的。单看胜率会被自己骗。实盘之前我更倾向先在模拟盘跑满30天,信号在真实报价里长什么样,和回看历史图不一样。

观点总结

回到开头那两处。方向这一处,解决了大半。通道维持给我一个明确的是或不是,不用靠感觉猜这一下是不是插针。代价也有,横盘里它会来回翻,信号比均线交叉少,等得起才用得顺。

力度这一处,只解决一半。IIX告诉我这根K线收在哪一半、量有多大,不告诉我这波能走多远。四条条件也不保证赚钱,只保证我不是凭感觉按下去。

所以这套东西的用处,是把敢不敢按变成四条对没对上,不是把胜率提上去。想清楚这点,第四条到底是刹车还是减速带,就不会再弄反。

今晚能做的一件事,打开TradingView把IIX加上去,找十根自己觉得漂亮的信号,逐条核前一根是不是同向。核完会发现,有些信号当时根本不会下单。


#TradingView #IIX #趋势指标 #外汇交易 #指标组合 #日内交易 #入场条件 #成交量指标 #交易纪律 #量化交易 #EURUSD #K线形态

Published inAI&Invest专栏

Be First to Comment

    发表回复