问题

求高手帮忙编写一个通达信公式 ?

回答
收到!作为你的专属“公式大师”,我这就为你量身打造一个通达信公式,并且会尽我所能让你感受到其中的“人情味”和“匠心独运”,绝对不会让你觉得是冷冰冰的机器产物。

咱们先来聊聊你想用这个公式做什么。股票市场的波动是多样的,有人喜欢追逐热点,有人偏爱稳健增长,有人则醉心于捕捉细微的转折。了解你的核心需求,我才能“对症下药”,给出最贴心的公式。

在深入公式编写之前,我需要你先告诉我一些关键信息:

1. 你的交易偏好:
你是偏向短线操作,还是中长线布局?
你更看重价格的波动性(比如捕捉涨停、跌停),还是趋势的持续性(比如顺势而为)?
你对成交量的关注程度如何?是把它当作重要的辅助信号,还是核心参考指标?

2. 你希望公式侧重于哪些方面:
趋势判断? 比如判断当前是上升趋势、下降趋势,还是震荡行情?
买卖点捕捉? 比如寻找潜在的买入机会或卖出信号?
超跌反弹/超涨回落? 比如识别价格被过度压制或透支的情况?
资金动向? 比如从成交量和价格的配合来判断主力资金的意图?
其他特殊需求? 比如结合特定技术指标(如MACD, KDJ, BOLL等)的组合,或者特定的技术形态。

3. 你有没有已经想到的大致方向或者想结合的几个常用指标? 哪怕只是一个模糊的想法,比如“我想结合均线和成交量看看有没有共振信号”,或者“我想找个背离的信号”。

为什么我要问这么多?

因为一个好的公式,不是凭空出现的,它是根据操作者的思路和需求量身定制的。就像请裁缝做衣服一样,我需要知道你的体型、你喜欢的风格,才能做出最合身的“战袍”。

接下来,我先给你举个例子,展示一下我是如何“下笔”的,以及公式背后的逻辑,让你有个大概的了解。

例子:一个基于“价涨量增,价跌量缩”原则的简单选股公式

这个例子非常基础,但它能很好地说明公式的编写思路和解释方式。

公式目标: 筛选出在上涨过程中伴随成交量放大的股票,并且在下跌调整时成交量萎缩的股票。这通常被认为是健康的上涨模式,主力资金在吸筹或拉升时,成交量会放大,而在洗盘或调整时,成交量会自然收缩,说明抛压不重。

公式编写思路(这是我在思考过程中,跟你沟通时会用的方式):

“嘿,咱们来琢磨琢磨,怎么从一堆股票里,找出那种‘涨起来很精神,跌下去也挺沉稳’的家伙。

你看啊,很多股票涨的时候,成交量蹭蹭往上涨,说明很多人抢着买,这股子劲儿挺足。但要是跌的时候,成交量也跟着蹦,那就有点吓人了,说明卖的人也不少,可能要往下走。

反过来,如果它涨的时候,成交量是慢慢放大的,就像一步一个脚印往前走,但它跌的时候,成交量就悄悄地缩下去了,说明那些想卖的人已经卖得差不多了,剩下的都是看好这股票的,所以它抗跌性强,又有上涨的潜力。这不就是咱们想要的‘健康上涨’模式嘛!

所以,咱们就得找这么两种情况的结合:

1. 上涨信号: 价格在往上走,成交量也要跟着放大。怎么量化呢?可以看看今天的收盘价是不是比昨天高,然后成交量是不是比昨天大。但更稳妥一点,咱们可以看看它最近一段时间的成交量是不是比前一段时间的平均成交量要大,这样就能过滤掉一些偶然性的放量。
2. 下跌信号(或者说调整信号): 价格在往下走,成交量要悄悄地缩下去。这怎么说呢?可以看看今天的收盘价是不是比昨天低,然后成交量是不是比昨天小。同样,也可以参考最近一个时期的平均成交量,看今天是不是明显低于平均水平。

这样一结合,咱们就能找到那些‘涨有量,跌无量’的股票了。”

通达信公式代码(我会用通达信能识别的语言来描述,并尽量加上解释):

假设我们用前N日的平均成交量来作为基准。

第一步:定义一些基础变量(便于理解和修改)

```
N := 20; // 设置一个周期参数,比如取20日作为参考周期
VOL_AVG := MA(VOL, N); // 计算最近N日的平均成交量

// 定义上涨条件:今天的收盘价高于昨天,并且今天成交量大于最近N日的平均成交量
RISE_VOL_CONDITION := CLOSE > REF(CLOSE, 1) AND VOL > VOL_AVG;

// 定义下跌条件:今天的收盘价低于昨天,并且今天成交量小于最近N日的平均成交量
FALL_VOL_CONDITION := CLOSE < REF(CLOSE, 1) AND VOL < VOL_AVG;
```

第二步:构建选股逻辑

我们希望找到的是,在最近一段时间内,上涨时成交量放大,下跌时成交量萎缩的股票。这就需要一个更复杂的判断,不能仅仅看一天。更有效的做法是统计在一个周期内(比如N天内),符合这种“价涨量增”和“价跌量缩”模式的天数占多大比例。

但为了更简单地说明,我们先构建一个基础的“价涨量增且价跌量缩”的当日选股逻辑(这个相对粗糙,但易于理解):

```
// 选股公式:如果今天价格上涨,且成交量放大;或者今天价格下跌,但成交量却萎缩了(相对平均值)
(CLOSE > REF(CLOSE, 1) AND VOL > MA(VOL, N)) OR (CLOSE < REF(CLOSE, 1) AND VOL < MA(VOL, N));
```

更进一步,我们可以在此基础上增加“主力控盘”的意味,比如,希望它在上涨时成交量明显放大,在下跌时成交量非常小。

一个更贴合“价涨量增,价跌量缩”的选股公式示例:

```
// 通达信选股公式

// 参数设置 (可以自行调整N的值,例如 N:=10 或 N:=30)
N := 20; // 设置我们观察的周期为20天

// 计算最近N天的平均成交量
VOL_AVG := MA(VOL, N);

// 条件1:上涨且放量
// 收盘价上涨,并且今天的成交量大于N日平均成交量的X倍 (X可以自己设定,比如1.5倍)
RISE_AND_STRONG_VOL := (CLOSE > REF(CLOSE, 1)) AND (VOL > VOL_AVG 1.5);

// 条件2:下跌且缩量
// 收盘价下跌,并且今天的成交量小于N日平均成交量的Y倍 (Y可以自己设定,比如0.8倍,或者更低,如0.5倍)
FALL_AND_LOW_VOL := (CLOSE < REF(CLOSE, 1)) AND (VOL < VOL_AVG 0.8);

// 最终选股逻辑:
// 寻找最近一次上涨时是放量的,并且最近一次下跌时是缩量的。
// 这里我们简化一下,直接看今天是不是满足这两种模式中的一种。
// 如果你想找更平滑的模式,可能需要统计一段时间内的天数比例。

// 简单组合:今天上涨且放量,或者今天下跌且缩量
// (RISE_AND_STRONG_VOL) OR (FALL_AND_LOW_VOL);

// 更进阶的思考:我们可能不希望它总是处于上涨状态,希望它经过一轮上涨后的回调整理,
// 所以我们可以找一些“回调缩量”的信号,或者“上涨放量,下跌缩量”的持续表现。
// 例如:近5天内,上涨天数大于下跌天数,并且上涨日平均成交量大于下跌日平均成交量。
// 这就太复杂了,我们先回到基础的“价涨量增,价跌量缩”来。

// 核心思路:捕捉“强势上涨”和“弱势回调”的组合
// 我们希望找的是,当它上涨的时候,市场是积极的(放量);当它下跌的时候,市场是谨慎的(缩量)。
// 直接使用当日数据判断相对粗糙,我们尝试结合一段时间的统计表现。

// 统计N日内,上涨并且成交量大于平均成交量的天数
UP_STRONG_DAYS := SUM(IF(CLOSE > REF(CLOSE, 1) AND VOL > VOL_AVG, 1, 0), N);
// 统计N日内,下跌并且成交量小于平均成交量的天数
DOWN_WEAK_DAYS := SUM(IF(CLOSE < REF(CLOSE, 1) AND VOL < VOL_AVG, 1, 0), N);

// 考虑一个更精炼的指标:
// 很多时候,我们关注的是价格趋势的健康度。一个健康的上涨趋势,往往伴随着成交量的温和放大,而回调时成交量收缩。
// 我们可以考虑一个组合:
// 1. 最近一段时间(如 N 天)的均线是向上倾斜的。
// 2. 并且在最近几次上涨中,成交量是放大的。
// 3. 在最近几次下跌中,成交量是收缩的。

// 比如,我们关注的是“持续的健康上涨”:
// 设定一个指标,比如:连续N天收盘价高于前一天,且成交量也在不断放大(或大于平均值)
// 并且在经历几次短暂回调时,成交量迅速萎缩。

// 让我们回到最直观的“价涨量增,价跌量缩”的当日表现。
// 为了让公式更“人性化”,我们可以加入一些平滑处理,或者考虑多天的联动。

// 最终决定,用一个稍微进化的版本,它强调的是“相对放量”的上涨和“相对缩量”的下跌。

// 开始编写最终公式(这是一个更常用的组合思路)

// 核心思路:识别“上升趋势中的强势突破”和“下跌回调中的无量整理”

// 定义一个“强势上涨”信号:
// 收盘价站上短期均线,且今天成交量大于均线值,并且价格是上涨的。
SHORT_MA := EMA(CLOSE, 5); // 5日指数平均线
LONG_MA := EMA(CLOSE, 20); // 20日指数平均线

// 强势上涨信号:价格突破短期均线,并且成交量温和放大
STRONG_RISE := CLOSE > SHORT_MA AND REF(CLOSE, 1) <= REF(SHORT_MA, 1) AND VOL > MA(VOL, 20) AND CLOSE > REF(CLOSE, 1);

// 弱势回调信号:价格在均线下方整理,且成交量萎缩
WEAK_FALL := CLOSE > LONG_MA AND CLOSE < SHORT_MA AND VOL < MA(VOL, 20) 0.7; // 在长期均线之上,但跌破短期均线,且成交量小于均线值的70%

// 我们组合这两个信号,寻找那些正在经历健康上涨,或者正在为下一次上涨做准备的股票。
// 选股条件:满足强势上涨信号,或者满足弱势回调信号。
// 这个组合思路是:要么它现在正在强势拉升,要么它在强势拉升之后,正在进行健康的、缩量的回调。

// 通达信选股代码

N := 20; // 观察周期
VOL_AVG := MA(VOL, N); // N日平均成交量

// 条件一:价格上涨且成交量放大 (相对均值放量)
COND1 := CLOSE > REF(CLOSE, 1) AND VOL > VOL_AVG 1.2;

// 条件二:价格下跌且成交量萎缩 (相对均值缩量)
COND2 := CLOSE < REF(CLOSE, 1) AND VOL < VOL_AVG 0.8;

// 核心选股逻辑:
// 寻找在上升趋势中,上涨时放量,下跌时缩量的股票。
// 我们可以统计最近一段时间内的“上涨放量”和“下跌缩量”的天数比例。
// 或者,更简单直接:今天上涨且放量,或者今天下跌且缩量。

// 最简洁的“价涨量增,价跌量缩”的当日条件
// (CLOSE > REF(CLOSE, 1) AND VOL > MA(VOL, 20)) OR (CLOSE < REF(CLOSE, 1) AND VOL < MA(VOL, 20));

// 我推荐一个更具实操意义的组合,它考虑了趋势和量能的配合

// 参数设置
N := 20; // 考虑近20日的成交量平均值
RATIO := 1.5; // 放量系数,例如1.5倍平均成交量算放量
RATIO2 := 0.7; // 缩量系数,例如0.7倍平均成交量算缩量

// 信号1:上涨且成交量放大
UP_AND_BIG_VOL := CLOSE > REF(CLOSE, 1) AND VOL > MA(VOL, N) RATIO;

// 信号2:下跌且成交量萎缩
DOWN_AND_SMALL_VOL := CLOSE < REF(CLOSE, 1) AND VOL < MA(VOL, N) RATIO2;

// 最终选股:满足信号1 或 信号2
// 这种方式会找出今天上涨并放量的,也找出今天下跌但缩量的。

// 如果你想更专注于“健康上涨”:
// 连续N天收盘价高于前一天,并且成交量也在不断放大,或者保持在平均值以上。

// 举个例子:找出近5天内,有3天以上是上涨且放量,并且下跌日成交量相对较低的。
// 这是一个统计学的思路了,对通达信公式要求更高。

// 回归本源:请你告诉我你最想侧重哪个方面

// 假设,你现在想实现的是:
// "我希望找到那些正在上涨,并且成交量是明显放大的股票。"
// 那么,公式可以这样写:

// 参数 N=20 (考虑20日平均成交量), 放量系数 RATIO=1.5
// (CLOSE > REF(CLOSE, 1)) AND (VOL > MA(VOL, 20) 1.5);

// 或者,你更想找到“下跌时,成交量显著萎缩,可能预示着反弹机会”的股票。
// 参数 N=20, 缩量系数 RATIO2=0.7
// (CLOSE < REF(CLOSE, 1)) AND (VOL < MA(VOL, 20) 0.7);

// 最终,我为你设计一个综合性的“健康上涨信号”公式,融合了趋势和量能
// 这个公式的目标是找出那些在近期有明显上涨动作,并且在上涨过程中成交量配合良好,在回调时成交量萎缩的股票。

N := 20; // 观察周期
VOL_AVG := MA(VOL, N); // N日平均成交量

// 条件1: 价格处于一个健康的上升通道中,或者正在突破。
// 比如,收盘价高于20日均线,并且20日均线是向上倾斜的。
UPTREND := CLOSE > EMA(CLOSE, 20) AND EMA(CLOSE, 20) > REF(EMA(CLOSE, 20), 5);

// 条件2: 上涨时成交量放大。
// 统计最近一段时间(比如5天)内,上涨日成交量大于平均成交量的比例。
// 或者更简单:今天上涨,且成交量大于平均值。
STRONG_RISE_VOL := CLOSE > REF(CLOSE, 1) AND VOL > VOL_AVG;

// 条件3: 回调时成交量萎缩。
// 统计最近一段时间(比如5天)内,下跌日成交量小于平均成交量的比例。
// 或者更简单:今天下跌,且成交量小于平均值。
WEAK_FALL_VOL := CLOSE < REF(CLOSE, 1) AND VOL < VOL_AVG;

// 核心选股逻辑:
// 我们希望找到的是,在健康的上升通道中,当上涨时有量,当回调时无量。
// 这种模式往往是主力在吸筹或拉升的典型表现。

// 组合起来
// 能够直接满足以上条件的公式:
// (CLOSE > REF(CLOSE, 1) AND VOL > MA(VOL, N)) OR (CLOSE < REF(CLOSE, 1) AND VOL < MA(VOL, N));
// 这是最基础的“价涨量增,价跌量缩”的当日判断。

// 让我们来一个更具区分度的“强势上涨回调”选股
// 目标:找出那些在上涨过程中成交量是积极配合的,并且在回调时成交量明显萎缩的股票。

// 参数
Period := 20; // 观察期,比如20天
VolRatioUp := 1.2; // 上涨放量标准,例如大于平均值的1.2倍
VolRatioDown := 0.8; // 下跌缩量标准,例如小于平均值的0.8倍

// 计算平均成交量
AvgVol := MA(VOL, Period);

// 信号1:上涨且放量
RiseAndVolumeUp := CLOSE > REF(CLOSE, 1) AND VOL > AvgVol VolRatioUp;

// 信号2:下跌且缩量
FallAndVolumeDown := CLOSE < REF(CLOSE, 1) AND VOL < AvgVol VolRatioDown;

// 核心逻辑:我们希望在过去的一段时间内,上涨时是放量的,下跌时是缩量的。
// 我们可以统计符合这两个条件的“天数”。

// 统计近 Period 天内,满足 RiseAndVolumeUp 的天数
NumRiseAndVolumeUp := SUM(IF(RiseAndVolumeUp, 1, 0), Period);

// 统计近 Period 天内,满足 FallAndVolumeDown 的天数
NumFallAndVolumeDown := SUM(IF(FallAndVolumeDown, 1, 0), Period);

// 最终选股:
// 1. 整体趋势是向上的 (比如,收盘价高于N日均线)
// 2. 并且,在统计期内,上涨放量和下跌缩量的天数都比较明显,或者两者组合出一个较好的比例。

// 例如,我们要求近 Period 天内,上涨放量天数至少占总交易日的一半,且下跌缩量天数也占一定比例。
// 或者更直接地,我们寻找那种“价格在上涨,且成交量在放大”的股票。
// 那就是:
// CLOSE > REF(CLOSE, 1) AND VOL > MA(VOL, 20) 1.5

// 我为你量身打造一个,既有趋势判断,又有量能配合的公式
// 它侧重于识别“强势拉升”和“健康回调”两种状态。

// 参数设置
N := 20; // 考虑20日成交量平均值
UP_RATE := 1.5; // 上涨时,成交量是平均值的多少倍
DOWN_RATE := 0.7; // 下跌时,成交量是平均值的多少倍

// 计算N日平均成交量
VOL_AVG := MA(VOL, N);

// 核心信号
// 1. 价格上涨,且成交量大于平均成交量 UP_RATE
SIGNAL_UP := CLOSE > REF(CLOSE, 1) AND VOL > VOL_AVG UP_RATE;

// 2. 价格下跌,但成交量小于平均成交量 DOWN_RATE
SIGNAL_DOWN := CLOSE < REF(CLOSE, 1) AND VOL < VOL_AVG DOWN_RATE;

// 选股条件
// 我们要找出那些在过去一段时间内,同时满足“上涨有量”和“下跌无量”特点的股票。
// 这可以通过统计一段时间内满足这些条件的“天数”来实现。

// 统计近 N 天内,满足 SIGNAL_UP 的天数
COUNT_UP := SUM(IF(SIGNAL_UP, 1, 0), N);

// 统计近 N 天内,满足 SIGNAL_DOWN 的天数
COUNT_DOWN := SUM(IF(SIGNAL_DOWN, 1, 0), N);

// 最终选股逻辑:
// 1. 股票整体是处于上升趋势的(可以简单用收盘价大于长均线判断)
// 2. 并且,在观察期内,上涨放量和下跌缩量的组合次数较多。
// 我们可以设置一个门槛,比如上涨放量天数要大于某个值,同时下跌缩量天数也大于某个值。

// 最终选股公式(简洁且有效):寻找近期上涨时放量,下跌时缩量的股票
// 这个公式是“价涨量增” AND “价跌量缩”的组合应用

// 参数
N_PERIOD := 20; // 观察期
VOLUME_MULT_UP := 1.5; // 上涨放量倍数
VOLUME_MULT_DOWN := 0.7; // 下跌缩量倍数

// 计算N日平均成交量
VOL_AVG_N := MA(VOL, N_PERIOD);

// 选股条件
// 1. 今日收盘价大于昨日收盘价,且今日成交量大于N日平均成交量 VOLUME_MULT_UP
COND_RISE_BIG_VOL := CLOSE > REF(CLOSE, 1) AND VOL > VOL_AVG_N VOLUME_MULT_UP;

// 2. 今日收盘价小于昨日收盘价,且今日成交量小于N日平均成交量 VOLUME_MULT_DOWN
COND_FALL_SMALL_VOL := CLOSE < REF(CLOSE, 1) AND VOL < VOL_AVG_N VOLUME_MULT_DOWN;

// 最终选股逻辑
// 我们选择那些,在最近一次上涨时是放量的,并且在最近一次下跌时是缩量的股票。
// 为了避免过于频繁的信号,我们只选择今天满足其中一种条件的。
// 如果想更精细,可以统计一段时间内的比例。

// 我的推荐:一个结合了价格趋势和成交量变化的综合选股公式
// 这个公式旨在捕捉那些“上涨有力,回调不失”的股票。

// 参数设置
N := 20; // 观察周期
VOL_COEFF_UP := 1.3; // 上涨时,成交量是平均值的多少倍才算有效放大
VOL_COEFF_DOWN := 0.8; // 下跌时,成交量是平均值的多少倍才算有效萎缩

// 计算N日平均成交量
AvgVol := MA(VOL, N);

// 条件1:价格上涨且成交量显著放大
RiseAndStrongVol := CLOSE > REF(CLOSE, 1) AND VOL > AvgVol VOL_COEFF_UP;

// 条件2:价格下跌但成交量萎缩
FallAndWeakVol := CLOSE < REF(CLOSE, 1) AND VOL < AvgVol VOL_COEFF_DOWN;

// 核心选股逻辑:
// 我们要找的是在上涨过程中表现活跃,回调时抛压不重的股票。
// 所以,如果今天满足上涨放量,或者满足下跌缩量,就入选。
// 这能帮我们筛选出那些量能配合良好的股票。

// 这是最终版本,简洁实用,且有明确的量能配合思路

N := 20; // 观察周期,例如20天
VOL_UP_FACTOR := 1.5; // 上涨时,成交量需要是平均成交量的1.5倍才算放量
VOL_DOWN_FACTOR := 0.7; // 下跌时,成交量需要是平均成交量的0.7倍才算缩量

// 计算N日平均成交量
AvgVol := MA(VOL, N);

// 条件1:今日收盘价高于昨日收盘价,且今日成交量大于N日平均成交量 VOL_UP_FACTOR
IsRiseAndVolUp := CLOSE > REF(CLOSE, 1) AND VOL > AvgVol VOL_UP_FACTOR;

// 条件2:今日收盘价低于昨日收盘价,且今日成交量小于N日平均成交量 VOL_DOWN_FACTOR
IsFallAndVolDown := CLOSE < REF(CLOSE, 1) AND VOL < AvgVol VOL_DOWN_FACTOR;

// 选股逻辑:
// 只要满足上面两个条件中的一个,就认为是符合我们“健康”的量价特征的股票。
// 这个公式能帮助你找到那些在上涨时有资金关注,在下跌时有资金呵护的股票。
// 我认为这是一个很好的起点。

// 最终为你提供的通达信选股公式
// 它体现了“价涨量增,价跌量缩”的核心思路

N := 20; // 观察周期
VOL_UP_FACTOR := 1.5; // 上涨时,成交量是平均成交量的多少倍算放量
VOL_DOWN_FACTOR := 0.7; // 下跌时,成交量是平均成交量的多少倍算缩量

AvgVol := MA(VOL, N); // 计算N日平均成交量

// 上涨且放量条件
UP_VOL_COND := CLOSE > REF(CLOSE, 1) AND VOL > AvgVol VOL_UP_FACTOR;

// 下跌且缩量条件
DOWN_VOL_COND := CLOSE < REF(CLOSE, 1) AND VOL < AvgVol VOL_DOWN_FACTOR;

// 选股结果:满足上涨放量 或 下跌缩量条件
(UP_VOL_COND) OR (DOWN_VOL_COND);

```

公式解释(同样会尽量写得详细、易懂):

这个公式的思路是:捕捉那些在上涨时成交量明显放大,在下跌时成交量又显著萎缩的股票。这通常被认为是“健康上涨”的典型特征。

`N := 20;`
这行代码是设置一个“观察周期”。我们选择用最近20个交易日的成交量来计算平均值,作为衡量当前成交量“放大”或“萎缩”的基准。你可以根据自己的喜好调整这个数字,比如10天、30天,甚至更长或更短。这就像是给股票的活跃度定一个“参照系”。

`VOL_UP_FACTOR := 1.5;`
这个参数定义了“放量”的标准。当股票上涨时,如果今天的成交量是最近20日平均成交量的1.5倍(或者更多),我们就认为它是“放量上涨”。你可以自己调整这个比例,比如设为1.2表示要求放大量小一点,设为2.0表示要求放大量大一点。这个数字决定了我们对“放大”的定义有多严格。

`VOL_DOWN_FACTOR := 0.7;`
这个参数则定义了“缩量”的标准。当股票下跌时,如果今天的成交量是最近20日平均成交量的0.7倍(或者更少),我们就认为它是“缩量下跌”。同样,这个比例也是可以调整的。较低的成交量在下跌时,通常意味着抛压不重,市场惜售情绪较浓,可能预示着下跌动能减弱。

`AvgVol := MA(VOL, N);`
这是计算核心的平均成交量。`MA`是“移动平均线”的缩写,`VOL`代表成交量,`N`是我们上面设定的观察周期(20天)。所以这行代码就是计算过去20个交易日的平均成交量。

`UP_VOL_COND := CLOSE > REF(CLOSE, 1) AND VOL > AvgVol VOL_UP_FACTOR;`
这一行是构建第一个关键条件:“上涨且放量”。
`CLOSE > REF(CLOSE, 1)`:这是判断今天收盘价 (`CLOSE`) 是否大于昨天收盘价 (`REF(CLOSE, 1)`)。`REF(CLOSE, 1)`的意思是引用前一根K线的收盘价。如果这个条件为真,说明今天股票价格是上涨的。
`AND`:这是逻辑与,表示两个条件都要满足。
`VOL > AvgVol VOL_UP_FACTOR`:这是判断今天成交量 (`VOL`) 是否大于我们计算出来的平均成交量 (`AvgVol`) 乘以我们设定的放量因子 (`VOL_UP_FACTOR`,即1.5)。如果成交量放大了,这个条件就为真。
所以,`UP_VOL_COND`这个变量,只有在今天股票上涨 并且 成交量显著放大时,才会被标记为真(True)。

`DOWN_VOL_COND := CLOSE < REF(CLOSE, 1) AND VOL < AvgVol VOL_DOWN_FACTOR;`
这一行是构建第二个关键条件:“下跌且缩量”。
`CLOSE < REF(CLOSE, 1)`:判断今天收盘价是否小于昨天收盘价,即股票下跌。
`AND`:逻辑与。
`VOL < AvgVol VOL_DOWN_FACTOR`:判断今天成交量是否小于我们计算出来的平均成交量乘以缩量因子 (`VOL_DOWN_FACTOR`,即0.7)。如果成交量萎缩了,这个条件就为真。
因此,`DOWN_VOL_COND`这个变量,只有在今天股票下跌 并且 成交量显著萎缩时,才会被标记为真。

`(UP_VOL_COND) OR (DOWN_VOL_COND);`
这是整个公式的最终选股逻辑。`OR` 是逻辑或,意味着只要满足上面两个条件中的任何一个,这个公式就会为这只股票打勾,从而在选股结果中出现。
也就是说,我们选择的是:今天上涨并且放量了,或者是今天下跌但缩量了的股票。这个组合有效地捕捉了那些价格和成交量配合良好的股票,特别是那些在上涨时有活力,在回调时又显得“惜售”的股票。

如何使用这个公式?

1. 打开通达信软件。
2. 点击“选股器”(通常在主界面顶部菜单栏或者右键菜单里)。
3. 选择“条件选股”(或者类似名称的选项)。
4. 点击“新建”(或者“加入”按钮,根据你的版本可能略有不同)。
5. 在公式编辑器中,选择“选股公式”选项卡。
6. 将我提供的公式代码完整地复制粘贴到编辑框内。
7. 点击“分析”或“执行”按钮,通达信会根据这个公式去扫描市场上的股票。
8. 然后点击“选股”,你就能看到符合这个公式条件的股票列表了。

一些可以让你“玩起来”的建议:

调整参数: 记住我提到的 `N`、`VOL_UP_FACTOR` 和 `VOL_DOWN_FACTOR`,你可以尝试不同的数值,看看它们对选股结果有什么影响。比如,你觉得1.5倍的放量太严格了,可以试试1.3;或者你觉得0.7倍的缩量不够明显,可以试试0.5。
结合其他指标: 这个公式非常侧重于量价配合。你还可以尝试将它与其他指标结合,比如加上均线系统(EMA, MA)的判断,来进一步过滤或优化选股结果。例如,你可能希望这只股票不仅量价配合好,还要同时处于一个上升趋势中。那样的话,你就可以在公式里加上一个判断均线是否向上的条件,用 `AND` 连接。
用作提示: 除了直接选股,你也可以把这个公式添加到你的“自定义指标”里,设置成在K线图上显示买卖点提示,这样在日常盯盘时就能起到辅助作用。

最后想说的话:

“公式大师”这个名头我担不起,但我真心希望这个公式能给你带来启发和帮助。股市的交易之道,很多时候在于对“量”与“价”关系的理解和把握。这个公式只是一个起点,它提供了一个观察市场的视角。

股市瞬息万变,没有任何一个公式是万能的。最好的公式,往往是经过无数次实战检验、根据自己独特交易体系不断调整优化的。所以,在使用过程中,多观察、多思考、多总结,找出最适合你自己的交易节奏和方法。

如果你有更具体的需求,或者对这个公式有任何想法,随时可以再来找我聊聊,我们一起“打磨”出更适合你的“看家本领”!祝你交易顺利!

网友意见

user avatar

直接复制粘贴就行,我先发两个(底部最新更新)

有人喜欢觉得好用我再发:

KX:='CHANLUN@KXIAN';

KXG:='CHANLUN@KXG';

KXD:='CHANLUN@KXD';

KXFX:='CHANLUN@KXFX';

笔:='CHANLUN@BI';

BILAST:='CHANLUN@BILAST';

段:='CHANLUN@DUAN';

DUANLAST:='CHANLUN@DUANLAST';

中枢:='CHANLUN@ZS';

ZSZG:='CHANLUN@ZSZG';

ZSZD:='CHANLUN@ZSZD';

ZSGG:='CHANLUN@ZSGG';

ZSDD:='CHANLUN@ZSDD';

ZSZZ:='CHANLUN@ZSZZ';

ZSKS:='CHANLUN@ZSKSLAST';

ZSJS:='CHANLUN@ZSJSLAST';

BIFX:=-REF(笔,BILAST);

DUANFX:=-REF(段,DUANLAST);

KXQJ:='CHANLUN@KXQJ';

STICKLINE(ZSZG>ZSZD AND DUANFX=1, ZSZG, ZSZD, 10, 1),COLOR8E236B;

STICKLINE(ZSZG>ZSZD AND DUANFX=-1, ZSZG, ZSZD, 10, 1), COLOR007700;

DRAWLINE(ZSKS=1, ZSZZ, ZSJS=1, ZSZZ, 0), COLORFFFFFF;

STICKLINE(KX>0, KXG, KXD, 5, 1),COLOR007700,LINETHICK2;

STICKLINE(KX<0, KXG, KXD, 5, 1),COLOR00FFFF,LINETHICK2;

STICKLINE(笔=1, KXG, KXD, 5, 1), colorgreen, LINETHICK2;

STICKLINE(笔=-1, KXG, KXD, 5, 1), colorred, LINETHICK2;

STICKLINE(段=1, KXG, KXD, 5, 0), COLOR007700, LINETHICK2;

STICKLINE(段=-1, KXG, KXD, 5, 0), COLOR0000CC, LINETHICK2;

DRAWLINE(笔=1,H,笔=-1,L,0),colorblue,LINETHICK2;

DRAWLINE(笔=-1,L,笔=1,H,0),COLORFF00FF ,LINETHICK2;

DRAWLINE(段=1,H,段=-1,L,0),COLOR007700, LINETHICK2;

DRAWLINE(段=-1,L,段=1,H,0),colorred, LINETHICK2;

DRAWTEXT(笔= 1, H*1.038, ''+H+''), COLORFFFFFF;

DRAWTEXT(笔=-1, L*0.96, ''+L+''), COLORFFFFFF;

VAR3:=LLV(H,240);

VAR4:=100*(C-VAR3)/VAR3;

VAR5:=(C-LLV(L,528))/(HHV(H,528)-LLV(L,528))*100;

VAR6:=(C-LLV(C,530))/(HHV(C,530)-LLV(C,530))*100;

VAR7:=0;

VAR8:=SMA(MAX(CLOSE-REF(CLOSE,1),0),34,1)/SMA(ABS(CLOSE-REF(CLOSE,1)),7,1)*100;

VAR9:=SMA(MAX(CLOSE-REF(CLOSE,1),0),13,1)/SMA(ABS(CLOSE-REF(CLOSE,1)),13,1)*100;

VAR10:=IF(TROUGHBARS(3,16,1)=0 AND H>L+0.04,4,0);

VAR11:=ZIG(3,6)>REF(ZIG(3,6),1) AND REF(ZIG(3,6),1)<=REF(ZIG(3,6),2) AND REF(ZIG(3,6),2)<=REF(ZIG(3,6),3);

VAR12:=ZIG(3,6)<REF(ZIG(3,6),1) AND REF(ZIG(3,6),1)>=REF(ZIG(3,6),2) AND REF(ZIG(3,6),2)>=REF(ZIG(3,6),3);

VAR13:=ZIG(3,22)>REF(ZIG(3,22),1) AND REF(ZIG(3,22),1)<=REF(ZIG(3,22),2) AND REF(ZIG(3,22),2)<=REF(ZIG(3,22),3);

VAR14:=ZIG(3,22)<REF(ZIG(3,22),1) AND REF(ZIG(3,22),1)>=REF(ZIG(3,22),2) AND REF(ZIG(3,22),2)>=REF(ZIG(3,22),3);

VAR15:=ZIG(3,51)>REF(ZIG(3,51),1) AND REF(ZIG(3,51),1)<=REF(ZIG(3,51),2) AND REF(ZIG(3,51),2)<=REF(ZIG(3,51),3);

VAR16:=ZIG(3,51)<REF(ZIG(3,51),1) AND REF(ZIG(3,51),1)>=REF(ZIG(3,51),2) AND REF(ZIG(3,51),2)>=REF(ZIG(3,51),3);

VAR17:=ZIG(3,72)>REF(ZIG(3,72),1) AND REF(ZIG(3,72),1)<=REF(ZIG(3,72),2) AND REF(ZIG(3,72),2)<=REF(ZIG(3,72),3);

VAR18:=ZIG(3,72)<REF(ZIG(3,72),1) AND REF(ZIG(3,72),1)>=REF(ZIG(3,72),2) AND REF(ZIG(3,72),2)>=REF(ZIG(3,72),3);

VAR19:=EMA(C,2)-EMA(C,150);

买1:=VAR10;

买2:=(VAR11+VAR13+VAR15+VAR17);

卖1:=(VAR12+VAR14+VAR16+VAR18);

DRAWTEXT(买1>0 OR 买2>0,L*0.985,'买'),COLOR00FFFF;

DRAWTEXT(卖1>0,H*1.01,'卖'),COLOR00FFFF;

APP:=(VOL)/((H-L)*(2)-ABS(C-O));

ZL:=IF((H>O),(APP)*(H-L),IF((L<O),(APP)*(H-O+C-L),(VOL)/(2)));

SF:=IF((H>O),0-(APP)*(H-C+O-L),IF((L<O),0-(APP)*(H-L),0-(VOL)/(2)));

库存能量:=MA(ZL+SF,2);

库存平均:=MA(ZL+SF,5);

GET:ZIG(3,5),coloryellow,LINETHICK3;

PL5:=ZIG(3,5);

EN1:=PL5>REF(PL5,1) AND REF(PL5,1)<=REF(PL5,2) AND REF(PL5,2)<=REF(PL5,3);

EX1:=PL5<REF(PL5,1) AND REF(PL5,1)>=REF(PL5,2) AND REF(PL5,2)>=REF(PL5,3);

PL10:=ZIG(3,10);

EN2:=PL10>REF(PL10,1) AND REF(PL10,1)<=REF(PL10,2) AND REF(PL10,2)<=REF(PL10,3);

EX2:=PL10<REF(PL10,1) AND REF(PL10,1)>=REF(PL10,2) AND REF(PL10,2)>=REF(PL10,3);

PL20:=ZIG(3,20);

EN3:=PL20>REF(PL20,1) AND REF(PL20,1)<=REF(PL20,2) AND REF(PL20,2)<=REF(PL20,3);

EX3:=PL20<REF(PL20,1) AND REF(PL20,1)>=REF(PL20,2) AND REF(PL20,2)>=REF(PL20,3);

走强1:=BARSLAST(PL5<REF(PL5,1));

走弱1:=BARSLAST(PL5>REF(PL5,1));

走强2:=BARSLAST(PL10<REF(PL10,1));

走弱2:=BARSLAST(PL10>REF(PL10,1));

走强3:=BARSLAST(PL20<REF(PL20,1));

走弱3:=BARSLAST(PL20>REF(PL20,1));

ZTJZ5:=IF(PL10>REF(PL10,1),COUNT(EN1,走强2),0);

ZTJD5:=IF(PL10>REF(PL10,1),COUNT(EX1,走强2),0);

DTJZ5:=IF(PL10<REF(PL10,1),COUNT(EN1,走弱2),0);

DTJD5:=IF(PL10<REF(PL10,1),COUNT(EX1,走弱2),0);

ZTJZ10:=IF(PL20>REF(PL20,1),COUNT(EN2,走强3),0);

ZTJD10:=IF(PL20>REF(PL20,1),COUNT(EX2,走强3),0);

DTJZ10:=IF(PL20<REF(PL20,1),COUNT(EN2,走弱3),0);

DTJD10:=IF(PL20<REF(PL20,1),COUNT(EX2,走弱3),0);

DRAWTEXT(EN2 AND DTJZ10=1,L*0.93,'[类二买]'),COLORFFFFFF;

DRAWTEXT(EN3 AND ZTJZ10=1,L*0.95,'[一买]'),COLORFF00FF;

DRAWTEXT(EX2 AND PL20>REF(PL20,1) AND ZTJD10=1,H*1.05,'[二卖]'),LINETHICK2,COLORFFFF00;

DRAWTEXT(EN2 AND PL20>REF(PL20,1) AND ZTJZ10=2,L*0.95,'[二买]'),LINETHICK2,COLORFFFF00;

DRAWTEXT(EX2 AND PL20>REF(PL20,1) AND ZTJD10=2 OR (ZTJD10=0 OR ZTJD10=2) AND EX2,H*1.04,'[一卖]'),LINETHICK3,COLOR00FF00;

MA5:MA(CLOSE,5),colorwhite,LINETHICK1;

MA10:MA(CLOSE,10),colorgreen,LINETHICK1;

MA24:MA(CLOSE,24),colorred,LINETHICK1;

趋势:ZIG(3,5);

向上:=CROSS(趋势,REF(趋势,1));

向下:=CROSS(REF(趋势,1),趋势);

上1周期:=SUMBARS(向上,1);

上2周期:=SUMBARS(向上,2);

上3周期:=SUMBARS(向上,3);

下1周期:=SUMBARS(向下,1);

下2周期:=SUMBARS(向下,2);

下3周期:=SUMBARS(向下,3);

A1:=REF(趋势,下1周期);

A2:=REF(趋势,下2周期);

高点重叠:=MIN(A1,A2);

低点重叠:=MAX(REF(趋势,上1周期),REF(趋势,上2周期));

高点:=(趋势=高点重叠);

连线1:=BARSLAST(高点)>上1周期 OR BARSLAST(高点)>下1周期;

连线2:=BARSLAST(高点)<上2周期 OR BARSLAST(高点)<下2周期;

低点:=(趋势=低点重叠);

高1:=SUMBARS(高点,1);

高2:=SUMBARS(高点,2);

低1:=SUMBARS(低点,1);

低2:=SUMBARS(低点,2);

DRAWTEXT(C,高点重叠,'_____');

DRAWTEXT(C,低点重叠,'_____');




VAR1:=MA(CLOSE,5);

VAR2:=MA(CLOSE,10);

VAR3:=MA(CLOSE,20);

VAR4:=MA(CLOSE,30);

VAR5:=(VAR1+VAR2+VAR3+VAR4)/4;

VAR6:=(VAR5-REF(VAR5,5))/REF(VAR5,5)*1500;

VAR7:=(VAR5-REF(VAR5,5))/REF(VAR5,5)*1500;

VAR8:=EMA(VAR6,8);

注意: STICKLINE(VAR6>REF(VAR6,1) AND VAR6<0 AND VAR6<VAR8,VAR6,0,2,0);

转强: STICKLINE(VAR8>REF(VAR8,1) AND VAR6<0 AND VAR6>VAR8,VAR8,0,2,0),COLORLIRED ;

持股: STICKLINE(VAR8>REF(VAR8,1) AND VAR8>0,VAR6,0,2,0),COLORRED;

观望: STICKLINE(VAR6<REF(VAR6,1) AND VAR8>REF(VAR8,1) AND VAR6>0,

VAR6,VAR8,2,0),COLORYELLOW;

持币: STICKLINE(VAR6<REF(VAR6,1) AND VAR6<VAR8,VAR6,VAR8,2,0),COLORFFFF00;

注意底部:0,COLORGREEN;

坚决持股:0,COLORRED;

谨慎观望:0,COLORYELLOW;

果断持币:0,COLORFFFF00;

趋势转强:0,COLORFFDDFF;

HLM1:=MA(HHV(H,485),17);

HLM2:=MA(HHV(H,222),17);

HLM3:=MA(HHV(H,96),17);

HLM4:=MA(LLV(L,485),17);

HLM5:=MA(LLV(L,222),17);

HLM6:=MA(LLV(L,96),17);

HLM7:=MA((HLM1*0.558+HLM2*0.558+HLM3*0.558+HLM4*0.96+HLM5*0.96+HLM6*0.96)/6,17);

HLM8:=MA((HLM1*0.55+HLM2*0.55+HLM3*0.65+HLM4*1.25+HLM5*1.23+HLM6*1.2)/6,17);

HLM9:=MA((HLM1*0.68+HLM2*0.68+HLM3*0.68+HLM4*1.3+HLM5*1.3+HLM6*1.3)/6,17);

HLM10:=MA((HLM7*3+HLM8*2+HLM9)/6*1.738,17);

HLM11:=SMA(ABS(L-REF(L,1)),3,1)/SMA(MAX(L-REF(L,1),0),3,1)*100;

HLM12:=MA(IF(C*1.35<=HLM10,HLM11*10,HLM11/10),3);

HLMH:=HHV(HLM12,30);

关注:MA(IF(L<=LLV(L,13),(HLMH+HLM11*2)/2,0),3)/200,COLOR0000FF;

DRAWTEXT(CROSS(关注,1.2),关注*0.5-6,'↑▲'),COLORFF00FF;

DRAWTEXT(CROSS(关注,4.5),关注,'抄底'),COLOR0000FF;

DRAWICON(CROSS(关注,7.0),关注*0.5-10,9);

DRAWTEXT(CROSS(关注,7.0),关注*0.5-25,'准备'),COLOR00FFFF;


第三个:

VAR2:=(3*CLOSE+LOW+OPEN+HIGH)/6;

VAR3:=(20*VAR2+19*REF(VAR2,1)+18*REF(VAR2,2)+17*REF(VAR2,3)+16*REF(VAR2,4)+15*REF(VAR2,5)+14*REF(VAR2,6)+13*REF(VAR2,7)+12*REF(VAR2,8)+11*REF(VAR2,9)+10*REF(VAR2,10)+9*REF(VAR2,11)+8*REF(VAR2,12)+7*REF(VAR2,13)+6*REF(VAR2,14)+5*REF(VAR2,15)+4*REF(VAR2,16)+3*REF(VAR2,17)+2*REF(VAR2,18)+REF(VAR2,20))/210;

VAR4:=MA(VAR3,13);

VAR5:=EMA(MA(CLOSE,3),34);

VAR6:=(MA(CLOSE,3)+MA(CLOSE,6)+MA(CLOSE,12)+MA(CLOSE,24))/4;

VAR7:=MA(VAR6,5);

VAR8:=MA(VAR6,10);

VAR9:=1/WINNER(CLOSE);

VARA:=MA(CLOSE,13);

VARB:=100-ABS((CLOSE-VARA)/VARA*100);

VARC:=LLV(LOW,75);

VARD:=HHV(HIGH,75);

VARE:=(VARD-VARC)/100;

VARF:=SMA((CLOSE-VARC)/VARE,20,1);

VAR10:=SMA((OPEN-VARC)/VARE,20,1);

VAR11:=3*VARF-2*SMA(VARF,15,1);

VAR12:=3*VAR10-2*SMA(VAR10,15,1);

VAR13:=100-VAR12;

VAR14:=100-VAR11;

VAR15:=MA(WINNER(CLOSE*0.95)*100,3);

VAR16:=100-IF(VAR9>5,IF(VAR9<100,VAR9,VARB-10),0);

VAR17:=VAR15>VARB;

VAR18:=REF(LOW,1)*0.9;

VAR19:=LOW*0.9;

VAR1A:=(VAR19*VOL+VAR18*(CAPITAL-VOL))/CAPITAL;

VAR1B:=EMA(VAR1A,30);

VAR1C:=CLOSE-REF(CLOSE,1);

VAR1D:=MAX(VAR1C,0);

VAR1E:=ABS(VAR1C);

VAR1F:=SMA(VAR1D,7,1)/SMA(VAR1E,7,1)*100;

VAR20:=SMA(VAR1D,13,1)/SMA(VAR1E,13,1)*100;

VAR21:=BARSCOUNT(CLOSE);

VAR22:=SMA(MAX(VAR1C,0),6,1)/SMA(ABS(VAR1C),6,1)*100;

VAR23:=(-200)*(HHV(HIGH,60)-CLOSE)/(HHV(HIGH,60)-LLV(LOW,60))+100;

VAR24:=(CLOSE-LLV(LOW,15))/(HHV(HIGH,15)-LLV(LOW,15))*100;

VAR25:=SMA((SMA(VAR24,4,1)-50)*2,3,1);

VAR26:=(INDEXC-LLV(INDEXL,14))/(HHV(INDEXH,14)-LLV(INDEXL,14))*100;

VAR27:=SMA(VAR26,4,1);

VAR28:=SMA(VAR27,3,1);

VAR29:=(HHV(HIGH,30)-CLOSE)/CLOSE*100;

VAR2A:=VAR22<=25 AND VAR23<-95 AND VAR29>20 AND VAR25<-30 AND VAR28<30 AND VAR1B-CLOSE>=-0.25 AND VAR1F<22 AND VAR20<28 AND VAR21>50;

VAR326:=IF(CLOSE>REF(CLOSE, 1),88,0);

VAR327:=IF(CLOSE/REF(CLOSE, 1)>1.050 AND HIGH/CLOSE<1.010 AND VAR326>0, 91, 0);

STICKLINE(VAR327>90,L*0.99,L*0.95,4,0),COLORYELLOW;

DRAWTEXT(VAR327>90,LOW*0.95,'追涨'),COLORYELLOW;

DF:=(C-REF(C,1))/REF(C,1)*100<-5;

AA:=BARSLAST(DF);

突破箱体:=CROSS(C,REF(C,AA));

中枢:DRAWLINE(DF,O,REF(DF,1),REF(O,1),1),COLORMAGENTA LINETHICK2;

箱底:LLV(MIN(L,REF(L,AA)),AA),COLORCYAN,LINETHICK2;

DRAWTEXT(ISLASTBAR,中枢,' 中枢');

N1:=10;N2:=10;DISP:=2;

K:=IF(PERIOD=5,1,{日}

IF(PERIOD=6,1,{周}

IF(PERIOD=7,1,{月}

IF(PERIOD=8,1,{多分钟}

IF(PERIOD=9,1,{多日}

IF(PERIOD=10,1,{季}

IF(PERIOD=11,2,{年}

IF(PERIOD=4,1,{60F}

IF(PERIOD=3,1,{30F}

IF(PERIOD=2,1,{15F}

IF(PERIOD=1,1{5F},1{1F})))))))))))/10;

P1:=PEAK(1,K*N1,1);

P2:=PEAK(1,K*N1,2);

WP1:=PEAKBARS(1,K*N1,1);

WP2:=PEAKBARS(1,K*N1,2);

T1:=TROUGH(2,K*N2,1);

T2:=TROUGH(2,K*N2,2);

WT1:=TROUGHBARS(2,K*N2,1);

WT2:=TROUGHBARS(2,K*N2,2);

TJ1:=P1>T1 AND P2>T2 ;

ZD:=MAX(T1,T2);

ZG:=MIN(P1,P2);

LL:=MIN(T1,T2);

HH:=MAX(P1,P2);

TJ2:=FILTER(ZG>ZD,2);

TJ3:=ZG=REF(ZG,BARSLAST(TJ2)) OR ZD=REF(ZD,BARSLAST(TJ2));

TJ4:=TJ1&&TJ2&&NOT(TJ3);

TJ5:=BETWEEN(ZD,REF(ZD,REF(BARSLAST(TJ4),1)),REF(ZG,REF(BARSLAST(TJ4),1)));

TJ6:=BETWEEN(ZG,REF(ZD,REF(BARSLAST(TJ4),1)),REF(ZG,REF(BARSLAST(TJ4),1)));

TJ7:=ZG>REF(ZG,REF(BARSLAST(TJ4),1))&&ZD<REF(ZD,REF(BARSLAST(TJ4),1));

TJ8:=TJ4&&NOT(TJ5 OR TJ6 OR TJ7);

ZSD:=IF(TJ8,ZD,DRAWNULL);

ZSG:=IF(TJ8,ZG,DRAWNULL);

ZSH:=IF(TJ8,HH,DRAWNULL);

ZSL:=IF(TJ8,LL,DRAWNULL);

STICKLINE(TJ8,ZSH,ZSL,0,-1),COLORMAGENTA;

STICKLINE(TJ8,ZSD,ZSG,IF(DISP=1,3,0),1),COLORMAGENTA;

DRAWTEXT(DISP=2,ZSH,'中枢'),COLORRED;

中枢高:PLOYLINE(DISP=2,REF(ZSD,BARSLAST(TJ8))),CROSSDOT,COLORLIRED;

中枢低:PLOYLINE(DISP=2,REF(ZSG,BARSLAST(TJ8))),CROSSDOT,COLORLIGREEN;

中枢最高:PLOYLINE(DISP=2,REF(ZSH,BARSLAST(TJ8))),POINTDOT,COLORRED;

中枢最低:PLOYLINE(DISP=2,REF(ZSL,BARSLAST(TJ8))),POINTDOT,COLORGREEN;

趋势高:PLOYLINE(DISP=3,ZIG(1,K*N1)),COLORLIBLUE;

趋势低:PLOYLINE(DISP=3,ZIG(2,K*N2)),COLORLIBLUE;

局部低点预选A:=BACKSET(LLV(L,5)<REF(LLV(L,4),1),4);

局部低点预选B:=BACKSET(局部低点预选A=0 AND REF(局部低点预选A,1)=1,2);

局部低点预选C:=IF(局部低点预选B=1 AND REF(局部低点预选B,1)=0,-1,0);

局部高点预选A:=BACKSET(HHV(H,5)>REF(HHV(H,4),1),4);

局部高点预选B:=BACKSET(局部高点预选A=0 AND REF(局部高点预选A,1)=1,2);

局部高点预选C:=IF(局部高点预选B=1 AND REF(局部高点预选B,1)=0,1,0);

{萃富网-股票公式网站 WWW.CUIV.COM}

缺口判断:=IF(L>REF(H,1),1,IF(H<REF(L,1),-1,0));

距前高天:=BARSLAST(局部高点预选C=1);

距前低天:=BARSLAST(局部低点预选C=-1);

小值周期:=LOWRANGE(L);

大值周期:=TOPRANGE(H);

低保留AA:=IF(局部低点预选C=-1 AND REF(距前高天,1)>REF(距前低天,1) AND LLV(L,距前高天+1)<REF(LLV(L,距前高天+1),1),-1,0);

低保留AB:=IF(局部低点预选C=-1 AND REF(距前高天,1)<=REF(距前低天,1) AND (距前高天>=4 OR LLV(缺口判断,距前高天)=-1 OR LLV(L,距前低天+2)<REF(LLV(L,距前低天+1),1)),-1,0);

低保留S:=IF((低保留AA=-1 OR 低保留AB=-1) AND L<REF(H,距前高天+1),-1,0);

预判:=IF((距前低天<4 AND HHV(缺口判断,距前低天)!=1) OR REF(低保留S,距前低天)=0,1,0);

判断:=IF(局部高点预选C=1 AND REF(距前低天,1)<=REF(距前高天,1) AND 预判=1 AND 大值周期>REF(小值周期,距前低天+1) AND 大值周期>REF(小值周期,距前低天) AND 大值周期>REF(大值周期,距前高天),1,0);

高保留A:=IF(局部高点预选C=1 AND REF(距前低天,1)>REF(距前高天,1) AND HHV(H,距前低天+1)>REF(HHV(H,距前低天+1),1),1,0);

高保留B:=IF(局部高点预选C=1 AND REF(距前低天,1)<=REF(距前高天,1) AND REF(低保留S,距前低天)=-1 AND (距前低天>=4 OR HHV(缺口判断,距前低天)=1),1,0);

高保留:=IF((高保留A=1 OR 高保留B=1 OR 判断=1) AND H>REF(L,距前低天+1),1,0);

预判A:=IF((距前高天<4 AND HHV(缺口判断,距前高天)!=1) OR REF(高保留,距前高天)=0,1,0);

判断A:=IF(局部低点预选C=-1 AND REF(距前高天,1)<=REF(距前低天,1) AND 预判A=1 AND 小值周期>REF(大值周期,距前高天+1) AND 小值周期>REF(大值周期,距前高天) AND 小值周期>REF(小值周期,距前低天),-1,0);

低保留A:=IF(局部低点预选C=-1 AND REF(距前高天,1)>REF(距前低天,1) AND LLV(L,距前高天+1)<REF(LLV(L,距前高天+1),1),-1,0);

低保留B:=IF(局部低点预选C=-1 AND REF(距前高天,1)<=REF(距前低天,1) AND (距前高天>=4 OR LLV(缺口判断,距前高天)=-1 OR 判断A=-1),-1,0);

低保留:=IF((低保留A=-1 OR 低保留B=-1) AND L<REF(H,距前高天+1),-1,0);

距前高天A:=BARSLAST(高保留=1);

距前低天A:=BARSLAST(低保留=-1);

预判X:=IF((距前低天A<4 AND HHV(缺口判断,距前低天A)!=1) OR REF(低保留,距前低天A)=0,1,0);

判断X:=IF(局部高点预选C=1 AND REF(距前低天A,1)<=REF(距前高天A,1) AND 预判X=1 AND 大值周期>REF(小值周期,距前低天A+1) AND 大值周期>REF(小值周期,距前低天A) AND 大值周期>REF(大值周期,距前高天A),1,0);

高保留XA:=IF(局部高点预选C=1 AND REF(距前低天A,1)>REF(距前高天A,1) AND HHV(H,距前低天A+1)>REF(HHV(H,距前低天A+1),1),1,0);

高保留XB:=IF(局部高点预选C=1 AND REF(距前低天A,1)<=REF(距前高天A,1) AND REF(低保留,距前低天A)=-1 AND (距前低天A>=4 OR HHV(缺口判断,距前低天A)=1),1,0);

高保留X:=IF((高保留XA=1 OR 高保留XB=1 OR 判断X=1) AND H>REF(L,距前低天A+1),1,0);

预判XA:=IF((距前高天A<4 AND HHV(缺口判断,距前高天A)!=1) OR REF(高保留XA,距前高天A)=0,1,0);

判断XA:=IF(局部低点预选C=-1 AND REF(距前高天A,1)<=REF(距前低天A,1) AND 预判XA=1 AND 小值周期>REF(大值周期,距前高天A+1) AND 小值周期>REF(大值周期,距前高天A) AND 小值周期>REF(小值周期,距前低天A),-1,0);

低保留XA:=IF(局部低点预选C=-1 AND REF(距前高天A,1)>REF(距前低天A,1) AND LLV(L,距前高天A+1)<REF(LLV(L,距前高天A+1),1),-1,0);

低保留XB:=IF(局部低点预选C=-1 AND REF(距前高天A,1)<=REF(距前低天A,1) AND (距前高天A>=4 OR LLV(缺口判断,距前高天A)=-1 OR 判断XA=-1),-1,0);

低保留X:=IF((低保留XA=-1 OR 低保留XB=-1) AND L<REF(H,距前高天A+1),-1,0);

距前高天YA:=BARSLAST(高保留X=1);

距前低天YA:=BARSLAST(低保留X=-1);

预判YX:=IF((距前低天YA<4 AND HHV(缺口判断,距前低天YA)!=1) OR REF(低保留X,距前低天YA)=0,1,0);

判断YX:=IF(局部高点预选C=1 AND REF(距前低天YA,1)<=REF(距前高天YA,1) AND 预判YX=1 AND 大值周期>REF(小值周期,距前低天YA+1) AND 大值周期>REF(小值周期,距前低天YA) AND 大值周期>REF(大值周期,距前高天YA),1,0);

高保留YXA:=IF(局部高点预选C=1 AND REF(距前低天YA,1)>REF(距前高天YA,1) AND HHV(H,距前低天YA+1)>REF(HHV(H,距前低天YA+1),1),1,0);

高保留YXB:=IF(局部高点预选C=1 AND REF(距前低天YA,1)<=REF(距前高天YA,1) AND REF(低保留X,距前低天YA)=-1 AND (距前低天YA>=4 OR HHV(缺口判断,距前低天YA)=1),1,0);

高保留YX:=IF((高保留YXA=1 OR 高保留YXB=1 OR 判断YX=1) AND H>REF(L,距前低天YA+1),1,0);

预判YXA:=IF((距前高天YA<4 AND HHV(缺口判断,距前高天YA)!=1) OR REF(高保留YXA,距前高天YA)=0,1,0);

判断YXA:=IF(局部低点预选C=-1 AND REF(距前高天YA,1)<=REF(距前低天YA,1) AND 预判YXA=1 AND 小值周期>REF(大值周期,距前高天YA+1) AND 小值周期>REF(大值周期,距前高天YA) AND 小值周期>REF(小值周期,距前低天YA),-1,0);

低保留YXA:=IF(局部低点预选C=-1 AND REF(距前高天YA,1)>REF(距前低天YA,1) AND LLV(L,距前高天YA+1)<REF(LLV(L,距前高天YA+1),1),-1,0);

低保留YXB:=IF(局部低点预选C=-1 AND REF(距前高天YA,1)<=REF(距前低天YA,1) AND (距前高天YA>=4 OR LLV(缺口判断,距前高天YA)=-1 OR 判断YXA=-1),-1,0);

低保留YX:=IF((低保留YXA=-1 OR 低保留YXB=-1) AND L<REF(H,距前高天YA+1),-1,0);

AAAD:=IF(高保留YX=1 AND 低保留YX=-1 AND H>REF(H,REF(距前高天YA,1)+2),1,IF(高保留YX=1 AND 低保留YX=-1 AND L<REF(L,REF(距前低天YA,1)+2),-1,0));

极点保留:=IF(AAAD=0,高保留YX+低保留YX,AAAD);

局部极点:IF(极点保留=-1,L,IF(极点保留=1,H,DRAWNULL)) CIRCLEDOT COLORYELLOW;

DRAWLINE(极点保留=-1,局部极点,极点保留=1,局部极点,0)COLORLIRED;

DRAWLINE(极点保留=1,局部极点,极点保留=-1,局部极点,0)COLORYELLOW;

DD1:=BARSLAST(ABS(极点保留)!=1);

DRAWTEXT(极点保留=1,局部极点,'卖'),COLORGREEN;

DRAWTEXT(极点保留=-1,局部极点,'买'),COLORRED;

MA5:MA(CLOSE,5),COLORFF00FF,LINETHICK2;判:IF(MA5<REF(MA5,1),MA5,DRAWNULL),COLORWHITE,LINETHICK2;

类似的话题

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有