通达信近似缠论公式下载:实现方法与插件区别
本页提供免费的通达信缠论指标源码、主图自动画线公式,可显示分型、笔、线段和中枢。公式独立编写,无需 DLL,采用局部近似规则;与 Struct Guide 网页插件使用不同的计算方式。
下载通达信近似缠论公式
v1.0.0 · 2026年10月10日 · 约39KB · 无需登录或插件会员。 文件为含中文注释的 UTF-8 文本,可查看和修改。
本公式用于通达信电脑版,不支持通达信手机版。使用未来函数,会补画或修改历史标注。
通达信主图公式怎么导入?
- 下载 TXT,用文本编辑器打开,复制全文。
- 在通达信公式管理器中新建技术指标公式,选择主图叠加。
- 输入未使用的名称,例如
SG近似缠论,粘贴源码并执行公式测试。 - 测试通过后保存,添加到 K 线主图。
TXT 不是 .tn6 或 .tne 打包文件;若文件导入窗口不接受 TXT,请在公式编辑器中粘贴。参数已写在源码开头,无需另建参数表。
图层开关与参数怎么改?
| 设置 | 默认值 | 作用 |
|---|---|---|
SF | 1 | 分型箭头:顶为红色下箭头,底为绿色上箭头 |
SP | 1 | 笔:蓝色细线 |
SS | 1 | 线段:上行红色、下行绿色 |
SZ | 1 | 中枢:紫色线框,不填充 |
MG | 4 | 两端分型所在合并组末根的原始 K 线编号差下限;小于4按4处理 |
EW | 40 | 笔端点整理的单轮范围,以原始 K 线根数计;小于4按4处理 |
前四项设为0可隐藏对应图层,不停止计算。MG、EW会影响计算结果,不是严格笔/宽松笔切换;EW也不是一笔的最大长度。
两种环境下的画线效果
两张截图均为上证指数日线,点击可放大。
两图的部分线段端点与中枢范围不同。插件图选择了严格笔,公式没有等价模式;两边的数据来源、复权和历史范围也尚未逐项对齐。这组图用于展示各自的显示效果,不能仅凭外观判断某处差异的原因。
通达信公式与网页插件有什么区别?
| 对照项 | 通达信近似公式 | Struct Guide 网页插件 |
|---|---|---|
| 使用环境 | 导入通达信,使用客户端 K 线数据 | 安装浏览器扩展,使用适配网页已加载的数据 |
| 包含与分型 | 每组最多5根的局部合并;分型标在组末 | 合并后持续回查,标记映射到原始极值来源 |
| 笔 | 有限范围整理端点,按组末位置计数 | 严格/宽松两种模式,分别按标准 K 线或原始极值来源计数 |
| 线段 | 按局部端点变化分组、取组内极值 | 按特征序列、缺口及直接破坏条件检查结束点 |
| 中枢 | 局部三段分组,初始上下沿固定 | 按已确认线段、成员归属及返回条件检查延伸 |
| 历史回写与更新 | 使用未来函数补画或修改历史标注,历史显示可随数据变化 | 待确认对象随数据更新;历史数据或设置改变时,相关结构可重算 |
| 更新与维护 | 随源码和客户端版本核对 | 随扩展版本和网页适配维护 |
两者都按线段覆盖的原始 K 线高低价求共同区间,但线段划分与成员选择不同,矩形可以不同。表中只说明这两份实现的规则,不代表通达信或浏览器的能力上限。
需要在网页上画线、使用结构快照与回放,可安装 Struct Guide;插件的具体规则见画线规则与参数总览。
分型、笔、线段和中枢怎样近似计算?
分型:先合并包含,再比较三组
每个包含组最多5根原始 K 线,经过有限轮合并后,比较连续三个已结束的有效组:中间组的高点、低点同时严格高于两侧为顶分型,同时严格低于两侧为底分型,相等不通过。超出范围或仍有未解决包含的组不参与比较。
按时间保留不共用合并组的分型,标记放在中间组末根 K 线上,价格取合并高点或低点。标记因此可能偏离该根原始 K 线自身的高低点;右侧组结束后才补画标记。
笔:整理端点后连接
在 EW 范围内择取同类极值,最多整理12轮,再连接相邻的顶底分型。两端不能共用合并组,默认绘制位置之间至少隔3根原始 K 线;顶的标记价格和中心组最高价,还须分别高于底的标记价格和中心组最高价。不满足条件或跨过无效组时留空。
蓝色实线表示后面已有紧接的合法反向笔;蓝色虚线表示尚无这个依据。不能跳过无效连接,因此历史断点前也可能有虚线。这是本公式的近似状态,不对应插件的严格笔或宽松笔模式。
线段:按局部端点变化分组
最近四个笔端点中,两组同类高低点同时抬高或降低时,据此确定分组方向;方向改变时开始新组,组内选择相应极值。整理后还须满足至少三笔、起始三笔有正宽度共同区间、途中没有无效笔,才连接成近似线段。
粗实线表示该分组已有后续方向变化依据,细虚线表示尚未结束的尾部分组;尾段不参与中枢计算。本公式不使用特征序列与缺口第二序列确认,不设线段总条数上限。这里的方向仅指连线方向。
中枢:初始三段定上下沿,后续延长时间
取连续三条有效近似线段覆盖的原始 K 线最高、最低价,包含连接端点:上沿取三段高点的最小值,下沿取三段低点的最大值;上沿严格高于下沿才输出矩形。
初始上下沿固定,后续线段与区间重叠或触边时延长时间范围;完全不交、输入无效或局部分组重开时停止。局部分组在滚动三段交集失效或与前一交集完全分离时重开;每组只取一次初始窗口,停止后等待新分组的三段依据。
矩形从初始第一段起点画到最后纳入的线段终点,尾部细虚线不计入。不设中枢总个数上限。
常见问题
为什么叫近似公式,是插件的通达信移植版吗?
不是移植版。为便于直接导入并控制源码体积,本公式采用有限范围整理与局部分组,没有移植插件的全部状态处理。这是本版的实现选择,不代表其他通达信公式只能采用相同方式。
使用未来函数吗?历史画线会变化吗?
会。本公式使用 BACKSET、DRAWLINE、BARSNEXT 和 REFX,相关定义见通达信官方函数列表。它们用于补画历史或读取后续数据;新增、修订或补载 K 线,以及修改参数,都可能改变已有标记和连线。图上端点的位置不等于取得确认依据的时间。
可以免费使用、修改源码吗?
可以,无需注册或购买插件会员。修改后请记录版本与参数,方便核对。
手机版通达信也能用吗?
不支持通达信手机版,请在电脑版使用。
能与网页插件同步吗?
不能。两者可分别使用,但不共用数据、参数或确认记录;Struct Guide 不执行通达信公式,也不读取客户端图表。
可以复制到同花顺、文华财经或博易大师吗?
本页没有验证这些环境;不同软件的公式语言、函数及导入格式不能直接视为兼容。
同一品种的画线不同,怎样核对?
先记录以下条件,再逐项比较计算规则。
| 记录项 | 核对内容 |
|---|---|
| 品种与数据来源 | 代码、报价来源是否相同 |
| 周期与时段 | K 线周期、时段划分是否一致 |
| 复权方式 | 是否采用相同设置 |
| 历史范围 | 加载多少数据,是否补载或修订 |
| 版本与参数 | 客户端、公式、插件版本,以及MG、EW和笔模式 |
具体步骤见画线差异核对顺序。输入一致后,仍需考虑两套实现规则的差异。
导入报错或没有图形,怎么排查?
| 现象 | 先检查 |
|---|---|
| TXT无法导入 | 改用公式编辑器粘贴全文 |
| 编译报错或源码超长 | 是否使用本页v1.0.0完整文本,是否混入网页说明;记录报错行和客户端版本 |
| 中文乱码 | 重新下载,用支持UTF-8的文本编辑器打开 |
| 通过编译但不显示 | 是否选择主图叠加、已添加到图表、相应图层开关为1,以及历史数据是否充足 |
| 分型少、连线有空白 | 包含组是否有效,间隔与价格条件是否满足;可先恢复默认MG=4、EW=40 |
| 没有中枢 | 是否已有三条有效的粗实线线段,其实际覆盖范围是否有正宽度交集;尾部虚线不计入 |
| 矩形或坐标显示异常 | 核对版本,保留完整截图与输入条件反馈 |
仍无法定位时,将公式版本、客户端版本、品种、周期、复权、历史范围、参数、操作步骤及报错发至 structguide@outlook.com。如附截图,发送前请留意截图中是否包含个人账户信息。
查看本版完整源码
展开查看通达信近似公式源码
txt
{Struct Guide 通达信近似缠论公式 v1.0.0 - 2026-10-10}
{本公式由 Struct Guide 独立编写,采用近似计算规则。}
{本公式采用近似规则。BACKSET 和 DRAWLINE 会回写历史显示。}
{仅用于结构学习与复盘,不提供投资建议。}
{本公式与通达信无隶属或合作关系。}
{REFX 和 BARSNEXT 读取后续数据;历史画线不等同于插件的确认状态。}
{线段按局部方向分组,中枢按局部区间分组;不设固定输出数量上限。}
{包含合并每组最多5根K线;EW=40,笔整理12轮,线段整理12轮。}
{中枢上下沿由初始三段固定,只延长时间范围;待完成尾段不计入。}
{笔实线:已有紧接的合法反向笔;笔虚线:尚无此依据。}
{用于通达信电脑版,不支持通达信手机版。}
SF:=1;
SP:=1;
SS:=1;
SZ:=1;
MG:=4;
EW:=40;
BN:=BARSCOUNT(C);
CI:=BN>1 AND((H>=REF(H,1)AND L<=REF(L,1))OR(H<=REF(H,1)AND L>=REF(L,1)));
R0GS:=BN=1 OR CI=0;
R0GN:=COUNT(R0GS,0);
R0GR:=BARSLAST(R0GS)+1;
R0NR:=MIN(R0GR,5);
R0AH:=REF(H,R0NR-1);
R0AL:=REF(L,R0NR-1);
R0BH:=REF(H,MAX(R0NR-2,0));
R0BL:=REF(L,MAX(R0NR-2,0));
R0GU:=IF(BN>R0GR,R0AH>REF(H,R0NR),IF(R0BH+R0BL<>R0AH+R0AL,R0BH+R0BL>R0AH+R0AL,REF(C,MAX(R0NR-2,0))>=REF(C,R0NR-1)));
R0RHH:=IF(R0GU,HHV(H,R0NR),LLV(H,R0NR));
R0RLL:=IF(R0GU,HHV(L,R0NR),LLV(L,R0NR));
R0WH:=IF(R0GU,HHV(REF(H,1),MAX(R0NR-1,1)),LLV(REF(H,1),MAX(R0NR-1,1)));
R0WL:=IF(R0GU,HHV(REF(L,1),MAX(R0NR-1,1)),LLV(REF(L,1),MAX(R0NR-1,1)));
R0BF:=R0GR>1 AND((R0WH>=H AND R0WL<=L)OR(R0WH<=H AND R0WL>=L))=0;
R0GV:=R0GR<=5 AND COUNT(R0BF,R0NR)=0;
R1GS:=R0GS OR(R0BF AND R0GR<=5);
R1GN:=COUNT(R1GS,0);
R1GR:=BARSLAST(R1GS)+1;
R1NR:=MIN(R1GR,5);
R1AH:=REF(H,R1NR-1);
R1AL:=REF(L,R1NR-1);
R1BH:=REF(H,MAX(R1NR-2,0));
R1BL:=REF(L,MAX(R1NR-2,0));
R1GU:=IF(BN>R1GR,R1AH>REF(H,R1NR),IF(R1BH+R1BL<>R1AH+R1AL,R1BH+R1BL>R1AH+R1AL,REF(C,MAX(R1NR-2,0))>=REF(C,R1NR-1)));
R1RHH:=IF(R1GU,HHV(H,R1NR),LLV(H,R1NR));
R1RLL:=IF(R1GU,HHV(L,R1NR),LLV(L,R1NR));
R1WH:=IF(R1GU,HHV(REF(H,1),MAX(R1NR-1,1)),LLV(REF(H,1),MAX(R1NR-1,1)));
R1WL:=IF(R1GU,HHV(REF(L,1),MAX(R1NR-1,1)),LLV(REF(L,1),MAX(R1NR-1,1)));
R1BF:=R1GR>1 AND((R1WH>=H AND R1WL<=L)OR(R1WH<=H AND R1WL>=L))=0;
R1GV:=R1GR<=5 AND COUNT(R1BF,R1NR)=0;
R2GS:=R1GS OR(R1BF AND R1GR<=5);
R2GN:=COUNT(R2GS,0);
R2GR:=BARSLAST(R2GS)+1;
R2NR:=MIN(R2GR,5);
R2AH:=REF(H,R2NR-1);
R2AL:=REF(L,R2NR-1);
R2BH:=REF(H,MAX(R2NR-2,0));
R2BL:=REF(L,MAX(R2NR-2,0));
R2GU:=IF(BN>R2GR,R2AH>REF(H,R2NR),IF(R2BH+R2BL<>R2AH+R2AL,R2BH+R2BL>R2AH+R2AL,REF(C,MAX(R2NR-2,0))>=REF(C,R2NR-1)));
R2RHH:=IF(R2GU,HHV(H,R2NR),LLV(H,R2NR));
R2RLL:=IF(R2GU,HHV(L,R2NR),LLV(L,R2NR));
R2WH:=IF(R2GU,HHV(REF(H,1),MAX(R2NR-1,1)),LLV(REF(H,1),MAX(R2NR-1,1)));
R2WL:=IF(R2GU,HHV(REF(L,1),MAX(R2NR-1,1)),LLV(REF(L,1),MAX(R2NR-1,1)));
R2BF:=R2GR>1 AND((R2WH>=H AND R2WL<=L)OR(R2WH<=H AND R2WL>=L))=0;
R2GV:=R2GR<=5 AND COUNT(R2BF,R2NR)=0;
R3GS:=R2GS OR(R2BF AND R2GR<=5);
R3GN:=COUNT(R3GS,0);
R3GR:=BARSLAST(R3GS)+1;
R3NR:=MIN(R3GR,5);
R3AH:=REF(H,R3NR-1);
R3AL:=REF(L,R3NR-1);
R3BH:=REF(H,MAX(R3NR-2,0));
R3BL:=REF(L,MAX(R3NR-2,0));
R3GU:=IF(BN>R3GR,R3AH>REF(H,R3NR),IF(R3BH+R3BL<>R3AH+R3AL,R3BH+R3BL>R3AH+R3AL,REF(C,MAX(R3NR-2,0))>=REF(C,R3NR-1)));
R3RHH:=IF(R3GU,HHV(H,R3NR),LLV(H,R3NR));
R3RLL:=IF(R3GU,HHV(L,R3NR),LLV(L,R3NR));
R3WH:=IF(R3GU,HHV(REF(H,1),MAX(R3NR-1,1)),LLV(REF(H,1),MAX(R3NR-1,1)));
R3WL:=IF(R3GU,HHV(REF(L,1),MAX(R3NR-1,1)),LLV(REF(L,1),MAX(R3NR-1,1)));
R3BF:=R3GR>1 AND((R3WH>=H AND R3WL<=L)OR(R3WH<=H AND R3WL>=L))=0;
R3GV:=R3GR<=5 AND COUNT(R3BF,R3NR)=0;
GS:=R3GS OR(R3BF AND R3GR<=5);
GN:=COUNT(GS,0);
GR:=BARSLAST(GS)+1;
NR:=MIN(GR,5);
AH:=REF(H,NR-1);
AL:=REF(L,NR-1);
BH:=REF(H,MAX(NR-2,0));
BL:=REF(L,MAX(NR-2,0));
GU:=IF(BN>GR,AH>REF(H,NR),IF(BH+BL<>AH+AL,BH+BL>AH+AL,REF(C,MAX(NR-2,0))>=REF(C,NR-1)));
RHH:=IF(GU,HHV(H,NR),LLV(H,NR));
RLL:=IF(GU,HHV(L,NR),LLV(L,NR));
WH:=IF(GU,HHV(REF(H,1),MAX(NR-1,1)),LLV(REF(H,1),MAX(NR-1,1)));
WL:=IF(GU,HHV(REF(L,1),MAX(NR-1,1)),LLV(REF(L,1),MAX(NR-1,1)));
BF:=GR>1 AND((WH>=H AND WL<=L)OR(WH<=H AND WL>=L))=0;
GV:=GR<=5 AND COUNT(BF,NR)=0;
G0A:=GS AND BN>1 AND MOD(GN,2)=0;
G0B:=GS AND BN>1 AND MOD(GN,2)=1;
G0E:=(BACKSET(G0A,2)-BACKSET(G0A,1)>0)OR(BACKSET(G0B,2)-BACKSET(G0B,1)>0);
G0H:=RHH;
G0L:=RLL;
G0S:=GR;
G1N:=COUNT(G0E,0);
G1D:=MIN(BARSLAST(REF(G0E,1))+1,BN-1);
G1A:=MIN(G1D+REF(G1D,G1D),BN-1);
G1W:=G1D+REF(G0S,G1D);
G1I:=(G0H>=REF(G0H,G1D)AND G0L<=REF(G0L,G1D))OR(G0H<=REF(G0H,G1D)AND G0L>=REF(G0L,G1D));
G1M:=G0E AND G1N>=2 AND MOD(G1N-0,2)=0 AND GV AND REF(GV,G1D)AND G1W<=5 AND G1I;
G1U:=IF(G1N>=3,REF(G0H,G1D)>=REF(G0H,G1A),IF(G0H+G0L<>REF(G0H+G0L,G1D),G0H+G0L>REF(G0H+G0L,G1D),C>=REF(C,G1D)));
G1T:=BACKSET(G1M,2)-BACKSET(G1M,1)>0;
G1B:=BACKSET(G1T,BARSLAST(G0E)+1);
G1E:=G0E AND G1B=0;
G1H:=IF(G1M,IF(G1U,MAX(G0H,REF(G0H,G1D)),MIN(G0H,REF(G0H,G1D))),G0H);
G1L:=IF(G1M,IF(G1U,MAX(G0L,REF(G0L,G1D)),MIN(G0L,REF(G0L,G1D))),G0L);
G1S:=IF(G1M,G1W,G0S);
G2N:=COUNT(G1E,0);
G2D:=MIN(BARSLAST(REF(G1E,1))+1,BN-1);
G2A:=MIN(G2D+REF(G2D,G2D),BN-1);
G2W:=G2D+REF(G1S,G2D);
G2I:=(G1H>=REF(G1H,G2D)AND G1L<=REF(G1L,G2D))OR(G1H<=REF(G1H,G2D)AND G1L>=REF(G1L,G2D));
G2M:=G1E AND G2N>=3 AND MOD(G2N-1,2)=0 AND GV AND REF(GV,G2D)AND G2W<=5 AND G2I;
G2U:=IF(G2N>=3,REF(G1H,G2D)>=REF(G1H,G2A),IF(G1H+G1L<>REF(G1H+G1L,G2D),G1H+G1L>REF(G1H+G1L,G2D),C>=REF(C,G2D)));
G2T:=BACKSET(G2M,2)-BACKSET(G2M,1)>0;
G2B:=BACKSET(G2T,BARSLAST(G1E)+1);
G2E:=G1E AND G2B=0;
G2H:=IF(G2M,IF(G2U,MAX(G1H,REF(G1H,G2D)),MIN(G1H,REF(G1H,G2D))),G1H);
G2L:=IF(G2M,IF(G2U,MAX(G1L,REF(G1L,G2D)),MIN(G1L,REF(G1L,G2D))),G1L);
G2S:=IF(G2M,G2W,G1S);
G3N:=COUNT(G2E,0);
G3D:=MIN(BARSLAST(REF(G2E,1))+1,BN-1);
G3A:=MIN(G3D+REF(G3D,G3D),BN-1);
G3W:=G3D+REF(G2S,G3D);
G3I:=(G2H>=REF(G2H,G3D)AND G2L<=REF(G2L,G3D))OR(G2H<=REF(G2H,G3D)AND G2L>=REF(G2L,G3D));
G3M:=G2E AND G3N>=2 AND MOD(G3N-0,2)=0 AND GV AND REF(GV,G3D)AND G3W<=5 AND G3I;
G3U:=IF(G3N>=3,REF(G2H,G3D)>=REF(G2H,G3A),IF(G2H+G2L<>REF(G2H+G2L,G3D),G2H+G2L>REF(G2H+G2L,G3D),C>=REF(C,G3D)));
G3T:=BACKSET(G3M,2)-BACKSET(G3M,1)>0;
G3B:=BACKSET(G3T,BARSLAST(G2E)+1);
G3E:=G2E AND G3B=0;
G3H:=IF(G3M,IF(G3U,MAX(G2H,REF(G2H,G3D)),MIN(G2H,REF(G2H,G3D))),G2H);
G3L:=IF(G3M,IF(G3U,MAX(G2L,REF(G2L,G3D)),MIN(G2L,REF(G2L,G3D))),G2L);
G3S:=IF(G3M,G3W,G2S);
G4N:=COUNT(G3E,0);
G4D:=MIN(BARSLAST(REF(G3E,1))+1,BN-1);
G4A:=MIN(G4D+REF(G4D,G4D),BN-1);
G4W:=G4D+REF(G3S,G4D);
G4I:=(G3H>=REF(G3H,G4D)AND G3L<=REF(G3L,G4D))OR(G3H<=REF(G3H,G4D)AND G3L>=REF(G3L,G4D));
G4M:=G3E AND G4N>=3 AND MOD(G4N-1,2)=0 AND GV AND REF(GV,G4D)AND G4W<=5 AND G4I;
G4U:=IF(G4N>=3,REF(G3H,G4D)>=REF(G3H,G4A),IF(G3H+G3L<>REF(G3H+G3L,G4D),G3H+G3L>REF(G3H+G3L,G4D),C>=REF(C,G4D)));
G4T:=BACKSET(G4M,2)-BACKSET(G4M,1)>0;
G4B:=BACKSET(G4T,BARSLAST(G3E)+1);
G4E:=G3E AND G4B=0;
G4H:=IF(G4M,IF(G4U,MAX(G3H,REF(G3H,G4D)),MIN(G3H,REF(G3H,G4D))),G3H);
G4L:=IF(G4M,IF(G4U,MAX(G3L,REF(G3L,G4D)),MIN(G3L,REF(G3L,G4D))),G3L);
G4S:=IF(G4M,G4W,G3S);
G5N:=COUNT(G4E,0);
G5D:=MIN(BARSLAST(REF(G4E,1))+1,BN-1);
G5A:=MIN(G5D+REF(G5D,G5D),BN-1);
G5W:=G5D+REF(G4S,G5D);
G5I:=(G4H>=REF(G4H,G5D)AND G4L<=REF(G4L,G5D))OR(G4H<=REF(G4H,G5D)AND G4L>=REF(G4L,G5D));
G5M:=G4E AND G5N>=2 AND MOD(G5N-0,2)=0 AND GV AND REF(GV,G5D)AND G5W<=5 AND G5I;
G5U:=IF(G5N>=3,REF(G4H,G5D)>=REF(G4H,G5A),IF(G4H+G4L<>REF(G4H+G4L,G5D),G4H+G4L>REF(G4H+G4L,G5D),C>=REF(C,G5D)));
G5T:=BACKSET(G5M,2)-BACKSET(G5M,1)>0;
G5B:=BACKSET(G5T,BARSLAST(G4E)+1);
G5E:=G4E AND G5B=0;
G5H:=IF(G5M,IF(G5U,MAX(G4H,REF(G4H,G5D)),MIN(G4H,REF(G4H,G5D))),G4H);
G5L:=IF(G5M,IF(G5U,MAX(G4L,REF(G4L,G5D)),MIN(G4L,REF(G4L,G5D))),G4L);
G5S:=IF(G5M,G5W,G4S);
G6N:=COUNT(G5E,0);
G6D:=MIN(BARSLAST(REF(G5E,1))+1,BN-1);
G6A:=MIN(G6D+REF(G6D,G6D),BN-1);
G6W:=G6D+REF(G5S,G6D);
G6I:=(G5H>=REF(G5H,G6D)AND G5L<=REF(G5L,G6D))OR(G5H<=REF(G5H,G6D)AND G5L>=REF(G5L,G6D));
G6M:=G5E AND G6N>=3 AND MOD(G6N-1,2)=0 AND GV AND REF(GV,G6D)AND G6W<=5 AND G6I;
G6U:=IF(G6N>=3,REF(G5H,G6D)>=REF(G5H,G6A),IF(G5H+G5L<>REF(G5H+G5L,G6D),G5H+G5L>REF(G5H+G5L,G6D),C>=REF(C,G6D)));
G6T:=BACKSET(G6M,2)-BACKSET(G6M,1)>0;
G6B:=BACKSET(G6T,BARSLAST(G5E)+1);
G6E:=G5E AND G6B=0;
G6H:=IF(G6M,IF(G6U,MAX(G5H,REF(G5H,G6D)),MIN(G5H,REF(G5H,G6D))),G5H);
G6L:=IF(G6M,IF(G6U,MAX(G5L,REF(G5L,G6D)),MIN(G5L,REF(G5L,G6D))),G5L);
G6S:=IF(G6M,G6W,G5S);
G7N:=COUNT(G6E,0);
G7D:=MIN(BARSLAST(REF(G6E,1))+1,BN-1);
G7A:=MIN(G7D+REF(G7D,G7D),BN-1);
G7W:=G7D+REF(G6S,G7D);
G7I:=(G6H>=REF(G6H,G7D)AND G6L<=REF(G6L,G7D))OR(G6H<=REF(G6H,G7D)AND G6L>=REF(G6L,G7D));
G7M:=G6E AND G7N>=2 AND MOD(G7N-0,2)=0 AND GV AND REF(GV,G7D)AND G7W<=5 AND G7I;
G7U:=IF(G7N>=3,REF(G6H,G7D)>=REF(G6H,G7A),IF(G6H+G6L<>REF(G6H+G6L,G7D),G6H+G6L>REF(G6H+G6L,G7D),C>=REF(C,G7D)));
G7T:=BACKSET(G7M,2)-BACKSET(G7M,1)>0;
G7B:=BACKSET(G7T,BARSLAST(G6E)+1);
G7E:=G6E AND G7B=0;
G7H:=IF(G7M,IF(G7U,MAX(G6H,REF(G6H,G7D)),MIN(G6H,REF(G6H,G7D))),G6H);
G7L:=IF(G7M,IF(G7U,MAX(G6L,REF(G6L,G7D)),MIN(G6L,REF(G6L,G7D))),G6L);
G7S:=IF(G7M,G7W,G6S);
G8N:=COUNT(G7E,0);
G8D:=MIN(BARSLAST(REF(G7E,1))+1,BN-1);
G8A:=MIN(G8D+REF(G8D,G8D),BN-1);
G8W:=G8D+REF(G7S,G8D);
G8I:=(G7H>=REF(G7H,G8D)AND G7L<=REF(G7L,G8D))OR(G7H<=REF(G7H,G8D)AND G7L>=REF(G7L,G8D));
G8M:=G7E AND G8N>=3 AND MOD(G8N-1,2)=0 AND GV AND REF(GV,G8D)AND G8W<=5 AND G8I;
G8U:=IF(G8N>=3,REF(G7H,G8D)>=REF(G7H,G8A),IF(G7H+G7L<>REF(G7H+G7L,G8D),G7H+G7L>REF(G7H+G7L,G8D),C>=REF(C,G8D)));
G8T:=BACKSET(G8M,2)-BACKSET(G8M,1)>0;
G8B:=BACKSET(G8T,BARSLAST(G7E)+1);
G8E:=G7E AND G8B=0;
G8H:=IF(G8M,IF(G8U,MAX(G7H,REF(G7H,G8D)),MIN(G7H,REF(G7H,G8D))),G7H);
G8L:=IF(G8M,IF(G8U,MAX(G7L,REF(G7L,G8D)),MIN(G7L,REF(G7L,G8D))),G7L);
G8S:=IF(G8M,G8W,G7S);
GE:=G8E;
MH:=G8H;
ML:=G8L;
GC:=COUNT(GE,0);
Q1:=MIN(BARSLAST(REF(GE,1))+1,BN-1);
Q2:=MIN(Q1+REF(Q1,Q1),BN-1);
CH:=REF(MH,Q1);
CL:=REF(ML,Q1);
LH:=REF(MH,Q2);
LL:=REF(ML,Q2);
BC:=GE AND GC>=2 AND((MH>=CH AND ML<=CL)OR(MH<=CH AND ML>=CL));
GX:=GE AND(GV=0 OR BC);
OK:=GE AND GC>=3 AND GV AND REF(GV,Q1)AND REF(GV,Q2);
T0:=OK AND CH>LH AND CH>MH AND CL>LL AND CL>ML;
B0:=OK AND CH<LH AND CH<MH AND CL<LL AND CL<ML;
TT:=BACKSET(T0,2)-BACKSET(T0,1)>0;
BT:=BACKSET(B0,2)-BACKSET(B0,1)>0;
FRT:=(TT AND GE)OR(BACKSET(TT AND GE=0,BARSLAST(GE)+1)-BACKSET(TT AND GE=0,MAX(BARSLAST(GE),1))>0);
FRB:=(BT AND GE)OR(BACKSET(BT AND GE=0,BARSLAST(GE)+1)-BACKSET(BT AND GE=0,MAX(BARSLAST(GE),1))>0);
F0A:=IF(FRT OR FRB,2,0);
F0B:=IF(GE,0,1);
F0C:=IF(GE,1,2);
F1D:=MIN(1,BN-1);
F1A:=IF(BN<=1,F0A,IF(REF(F0A,F1D)=0,F0A,IF(REF(F0A,F1D)=1,F0B,F0C)));
F1B:=IF(BN<=1,F0B,IF(REF(F0B,F1D)=0,F0A,IF(REF(F0B,F1D)=1,F0B,F0C)));
F1C:=IF(BN<=1,F0C,IF(REF(F0C,F1D)=0,F0A,IF(REF(F0C,F1D)=1,F0B,F0C)));
F2D:=MIN(2,BN-1);
F2A:=IF(BN<=2,F1A,IF(REF(F1A,F2D)=0,F1A,IF(REF(F1A,F2D)=1,F1B,F1C)));
F2B:=IF(BN<=2,F1B,IF(REF(F1B,F2D)=0,F1A,IF(REF(F1B,F2D)=1,F1B,F1C)));
F2C:=IF(BN<=2,F1C,IF(REF(F1C,F2D)=0,F1A,IF(REF(F1C,F2D)=1,F1B,F1C)));
F3D:=MIN(4,BN-1);
F3A:=IF(BN<=4,F2A,IF(REF(F2A,F3D)=0,F2A,IF(REF(F2A,F3D)=1,F2B,F2C)));
F3B:=IF(BN<=4,F2B,IF(REF(F2B,F3D)=0,F2A,IF(REF(F2B,F3D)=1,F2B,F2C)));
F3C:=IF(BN<=4,F2C,IF(REF(F2C,F3D)=0,F2A,IF(REF(F2C,F3D)=1,F2B,F2C)));
F4D:=MIN(8,BN-1);
F4A:=IF(BN<=8,F3A,IF(REF(F3A,F4D)=0,F3A,IF(REF(F3A,F4D)=1,F3B,F3C)));
F4B:=IF(BN<=8,F3B,IF(REF(F3B,F4D)=0,F3A,IF(REF(F3B,F4D)=1,F3B,F3C)));
F4C:=IF(BN<=8,F3C,IF(REF(F3C,F4D)=0,F3A,IF(REF(F3C,F4D)=1,F3B,F3C)));
F5D:=MIN(16,BN-1);
F5A:=IF(BN<=16,F4A,IF(REF(F4A,F5D)=0,F4A,IF(REF(F4A,F5D)=1,F4B,F4C)));
F5B:=IF(BN<=16,F4B,IF(REF(F4B,F5D)=0,F4A,IF(REF(F4B,F5D)=1,F4B,F4C)));
F5C:=IF(BN<=16,F4C,IF(REF(F4C,F5D)=0,F4A,IF(REF(F4C,F5D)=1,F4B,F4C)));
F6D:=MIN(32,BN-1);
F6A:=IF(BN<=32,F5A,IF(REF(F5A,F6D)=0,F5A,IF(REF(F5A,F6D)=1,F5B,F5C)));
F6B:=IF(BN<=32,F5B,IF(REF(F5B,F6D)=0,F5A,IF(REF(F5B,F6D)=1,F5B,F5C)));
F6C:=IF(BN<=32,F5C,IF(REF(F5C,F6D)=0,F5A,IF(REF(F5C,F6D)=1,F5B,F5C)));
F7D:=MIN(64,BN-1);
F7A:=IF(BN<=64,F6A,IF(REF(F6A,F7D)=0,F6A,IF(REF(F6A,F7D)=1,F6B,F6C)));
F7B:=IF(BN<=64,F6B,IF(REF(F6B,F7D)=0,F6A,IF(REF(F6B,F7D)=1,F6B,F6C)));
F7C:=IF(BN<=64,F6C,IF(REF(F6C,F7D)=0,F6A,IF(REF(F6C,F7D)=1,F6B,F6C)));
F8D:=MIN(128,BN-1);
F8A:=IF(BN<=128,F7A,IF(REF(F7A,F8D)=0,F7A,IF(REF(F7A,F8D)=1,F7B,F7C)));
F8B:=IF(BN<=128,F7B,IF(REF(F7B,F8D)=0,F7A,IF(REF(F7B,F8D)=1,F7B,F7C)));
F8C:=IF(BN<=128,F7C,IF(REF(F7C,F8D)=0,F7A,IF(REF(F7C,F8D)=1,F7B,F7C)));
F9D:=MIN(256,BN-1);
F9A:=IF(BN<=256,F8A,IF(REF(F8A,F9D)=0,F8A,IF(REF(F8A,F9D)=1,F8B,F8C)));
F9B:=IF(BN<=256,F8B,IF(REF(F8B,F9D)=0,F8A,IF(REF(F8B,F9D)=1,F8B,F8C)));
F9C:=IF(BN<=256,F8C,IF(REF(F8C,F9D)=0,F8A,IF(REF(F8C,F9D)=1,F8B,F8C)));
F10D:=MIN(512,BN-1);
F10A:=IF(BN<=512,F9A,IF(REF(F9A,F10D)=0,F9A,IF(REF(F9A,F10D)=1,F9B,F9C)));
F10B:=IF(BN<=512,F9B,IF(REF(F9B,F10D)=0,F9A,IF(REF(F9B,F10D)=1,F9B,F9C)));
F10C:=IF(BN<=512,F9C,IF(REF(F9C,F10D)=0,F9A,IF(REF(F9C,F10D)=1,F9B,F9C)));
F11D:=MIN(1024,BN-1);
F11A:=IF(BN<=1024,F10A,IF(REF(F10A,F11D)=0,F10A,IF(REF(F10A,F11D)=1,F10B,F10C)));
F11B:=IF(BN<=1024,F10B,IF(REF(F10B,F11D)=0,F10A,IF(REF(F10B,F11D)=1,F10B,F10C)));
F11C:=IF(BN<=1024,F10C,IF(REF(F10C,F11D)=0,F10A,IF(REF(F10C,F11D)=1,F10B,F10C)));
F12D:=MIN(2048,BN-1);
F12A:=IF(BN<=2048,F11A,IF(REF(F11A,F12D)=0,F11A,IF(REF(F11A,F12D)=1,F11B,F11C)));
F12B:=IF(BN<=2048,F11B,IF(REF(F11B,F12D)=0,F11A,IF(REF(F11B,F12D)=1,F11B,F11C)));
F12C:=IF(BN<=2048,F11C,IF(REF(F11C,F12D)=0,F11A,IF(REF(F11C,F12D)=1,F11B,F11C)));
F13D:=MIN(4096,BN-1);
F13A:=IF(BN<=4096,F12A,IF(REF(F12A,F13D)=0,F12A,IF(REF(F12A,F13D)=1,F12B,F12C)));
F13B:=IF(BN<=4096,F12B,IF(REF(F12B,F13D)=0,F12A,IF(REF(F12B,F13D)=1,F12B,F12C)));
F13C:=IF(BN<=4096,F12C,IF(REF(F12C,F13D)=0,F12A,IF(REF(F12C,F13D)=1,F12B,F12C)));
F14D:=MIN(8192,BN-1);
F14A:=IF(BN<=8192,F13A,IF(REF(F13A,F14D)=0,F13A,IF(REF(F13A,F14D)=1,F13B,F13C)));
F14B:=IF(BN<=8192,F13B,IF(REF(F13B,F14D)=0,F13A,IF(REF(F13B,F14D)=1,F13B,F13C)));
F14C:=IF(BN<=8192,F13C,IF(REF(F13C,F14D)=0,F13A,IF(REF(F13C,F14D)=1,F13B,F13C)));
F15D:=MIN(16384,BN-1);
F15A:=IF(BN<=16384,F14A,IF(REF(F14A,F15D)=0,F14A,IF(REF(F14A,F15D)=1,F14B,F14C)));
F15B:=IF(BN<=16384,F14B,IF(REF(F14B,F15D)=0,F14A,IF(REF(F14B,F15D)=1,F14B,F14C)));
F15C:=IF(BN<=16384,F14C,IF(REF(F14C,F15D)=0,F14A,IF(REF(F14C,F15D)=1,F14B,F14C)));
F16D:=MIN(32768,BN-1);
F16A:=IF(BN<=32768,F15A,IF(REF(F15A,F16D)=0,F15A,IF(REF(F15A,F16D)=1,F15B,F15C)));
F16B:=IF(BN<=32768,F15B,IF(REF(F15B,F16D)=0,F15A,IF(REF(F15B,F16D)=1,F15B,F15C)));
F16C:=IF(BN<=32768,F15C,IF(REF(F15C,F16D)=0,F15A,IF(REF(F15C,F16D)=1,F15B,F15C)));
F17D:=MIN(65536,BN-1);
F17A:=IF(BN<=65536,F16A,IF(REF(F16A,F17D)=0,F16A,IF(REF(F16A,F17D)=1,F16B,F16C)));
F17B:=IF(BN<=65536,F16B,IF(REF(F16B,F17D)=0,F16A,IF(REF(F16B,F17D)=1,F16B,F16C)));
F17C:=IF(BN<=65536,F16C,IF(REF(F16C,F17D)=0,F16A,IF(REF(F16C,F17D)=1,F16B,F16C)));
F18D:=MIN(131072,BN-1);
F18A:=IF(BN<=131072,F17A,IF(REF(F17A,F18D)=0,F17A,IF(REF(F17A,F18D)=1,F17B,F17C)));
F18B:=IF(BN<=131072,F17B,IF(REF(F17B,F18D)=0,F17A,IF(REF(F17B,F18D)=1,F17B,F17C)));
F18C:=IF(BN<=131072,F17C,IF(REF(F17C,F18D)=0,F17A,IF(REF(F17C,F18D)=1,F17B,F17C)));
F19D:=MIN(262144,BN-1);
F19A:=IF(BN<=262144,F18A,IF(REF(F18A,F19D)=0,F18A,IF(REF(F18A,F19D)=1,F18B,F18C)));
F19B:=IF(BN<=262144,F18B,IF(REF(F18B,F19D)=0,F18A,IF(REF(F18B,F19D)=1,F18B,F18C)));
F19C:=IF(BN<=262144,F18C,IF(REF(F18C,F19D)=0,F18A,IF(REF(F18C,F19D)=1,F18B,F18C)));
F20D:=MIN(524288,BN-1);
F20A:=IF(BN<=524288,F19A,IF(REF(F19A,F20D)=0,F19A,IF(REF(F19A,F20D)=1,F19B,F19C)));
F20B:=IF(BN<=524288,F19B,IF(REF(F19B,F20D)=0,F19A,IF(REF(F19B,F20D)=1,F19B,F19C)));
F20C:=IF(BN<=524288,F19C,IF(REF(F19C,F20D)=0,F19A,IF(REF(F19C,F20D)=1,F19B,F19C)));
F21D:=MIN(1048576,BN-1);
F21A:=IF(BN<=1048576,F20A,IF(REF(F20A,F21D)=0,F20A,IF(REF(F20A,F21D)=1,F20B,F20C)));
F21B:=IF(BN<=1048576,F20B,IF(REF(F20B,F21D)=0,F20A,IF(REF(F20B,F21D)=1,F20B,F20C)));
F21C:=IF(BN<=1048576,F20C,IF(REF(F20C,F21D)=0,F20A,IF(REF(F20C,F21D)=1,F20B,F20C)));
F22D:=MIN(2097152,BN-1);
F22A:=IF(BN<=2097152,F21A,IF(REF(F21A,F22D)=0,F21A,IF(REF(F21A,F22D)=1,F21B,F21C)));
F22B:=IF(BN<=2097152,F21B,IF(REF(F21B,F22D)=0,F21A,IF(REF(F21B,F22D)=1,F21B,F21C)));
F22C:=IF(BN<=2097152,F21C,IF(REF(F21C,F22D)=0,F21A,IF(REF(F21C,F22D)=1,F21B,F21C)));
F23D:=MIN(4194304,BN-1);
F23A:=IF(BN<=4194304,F22A,IF(REF(F22A,F23D)=0,F22A,IF(REF(F22A,F23D)=1,F22B,F22C)));
F23B:=IF(BN<=4194304,F22B,IF(REF(F22B,F23D)=0,F22A,IF(REF(F22B,F23D)=1,F22B,F22C)));
F23C:=IF(BN<=4194304,F22C,IF(REF(F22C,F23D)=0,F22A,IF(REF(F22C,F23D)=1,F22B,F22C)));
F24D:=MIN(8388608,BN-1);
F24A:=IF(BN<=8388608,F23A,IF(REF(F23A,F24D)=0,F23A,IF(REF(F23A,F24D)=1,F23B,F23C)));
F24B:=IF(BN<=8388608,F23B,IF(REF(F23B,F24D)=0,F23A,IF(REF(F23B,F24D)=1,F23B,F23C)));
F24C:=IF(BN<=8388608,F23C,IF(REF(F23C,F24D)=0,F23A,IF(REF(F23C,F24D)=1,F23B,F23C)));
F25D:=MIN(16777216,BN-1);
F25A:=IF(BN<=16777216,F24A,IF(REF(F24A,F25D)=0,F24A,IF(REF(F24A,F25D)=1,F24B,F24C)));
F25B:=IF(BN<=16777216,F24B,IF(REF(F24B,F25D)=0,F24A,IF(REF(F24B,F25D)=1,F24B,F24C)));
F25C:=IF(BN<=16777216,F24C,IF(REF(F24C,F25D)=0,F24A,IF(REF(F24C,F25D)=1,F24B,F24C)));
F26D:=MIN(33554432,BN-1);
F26A:=IF(BN<=33554432,F25A,IF(REF(F25A,F26D)=0,F25A,IF(REF(F25A,F26D)=1,F25B,F25C)));
F26B:=IF(BN<=33554432,F25B,IF(REF(F25B,F26D)=0,F25A,IF(REF(F25B,F26D)=1,F25B,F25C)));
F26C:=IF(BN<=33554432,F25C,IF(REF(F25C,F26D)=0,F25A,IF(REF(F25C,F26D)=1,F25B,F25C)));
F27D:=MIN(67108864,BN-1);
F27A:=IF(BN<=67108864,F26A,IF(REF(F26A,F27D)=0,F26A,IF(REF(F26A,F27D)=1,F26B,F26C)));
F27B:=IF(BN<=67108864,F26B,IF(REF(F26B,F27D)=0,F26A,IF(REF(F26B,F27D)=1,F26B,F26C)));
F27C:=IF(BN<=67108864,F26C,IF(REF(F26C,F27D)=0,F26A,IF(REF(F26C,F27D)=1,F26B,F26C)));
F28D:=MIN(134217728,BN-1);
F28A:=IF(BN<=134217728,F27A,IF(REF(F27A,F28D)=0,F27A,IF(REF(F27A,F28D)=1,F27B,F27C)));
F28B:=IF(BN<=134217728,F27B,IF(REF(F27B,F28D)=0,F27A,IF(REF(F27B,F28D)=1,F27B,F27C)));
F28C:=IF(BN<=134217728,F27C,IF(REF(F27C,F28D)=0,F27A,IF(REF(F27C,F28D)=1,F27B,F27C)));
F29D:=MIN(268435456,BN-1);
F29A:=IF(BN<=268435456,F28A,IF(REF(F28A,F29D)=0,F28A,IF(REF(F28A,F29D)=1,F28B,F28C)));
F29B:=IF(BN<=268435456,F28B,IF(REF(F28B,F29D)=0,F28A,IF(REF(F28B,F29D)=1,F28B,F28C)));
F29C:=IF(BN<=268435456,F28C,IF(REF(F28C,F29D)=0,F28A,IF(REF(F28C,F29D)=1,F28B,F28C)));
F30D:=MIN(536870912,BN-1);
F30A:=IF(BN<=536870912,F29A,IF(REF(F29A,F30D)=0,F29A,IF(REF(F29A,F30D)=1,F29B,F29C)));
F30B:=IF(BN<=536870912,F29B,IF(REF(F29B,F30D)=0,F29A,IF(REF(F29B,F30D)=1,F29B,F29C)));
F30C:=IF(BN<=536870912,F29C,IF(REF(F29C,F30D)=0,F29A,IF(REF(F29C,F30D)=1,F29B,F29C)));
F31D:=MIN(1073741824,BN-1);
F31A:=IF(BN<=1073741824,F30A,IF(REF(F30A,F31D)=0,F30A,IF(REF(F30A,F31D)=1,F30B,F30C)));
F31B:=IF(BN<=1073741824,F30B,IF(REF(F30B,F31D)=0,F30A,IF(REF(F30B,F31D)=1,F30B,F30C)));
F31C:=IF(BN<=1073741824,F30C,IF(REF(F30C,F31D)=0,F30A,IF(REF(F30C,F31D)=1,F30B,F30C)));
FS:=BN=1 OR REF(F31A,1)=0;
FT:=FRT AND FS;
FB:=FRB AND FS;
FE:=FT OR FB;
FK:=IF(FT,1,-1);
FC:=COUNT(FE,0);
ES:=FE AND(FC=1 OR FK<>REF(VALUEWHEN(FE,FK),1));
ER:=BARSLAST(ES)+1;
EH:=HHV(VALUEWHEN(FE,MH),MIN(ER,MAX(EW,4)));
EL:=LLV(VALUEWHEN(FE,ML),MIN(ER,MAX(EW,4)));
EX:=FE AND ES=0 AND ER<=MAX(EW,4)AND COUNT(GX,ER)=0 AND IF(FT,MH>REF(EH,1),ML<REF(EL,1));
EA:=ES OR EX;
EB:=BACKSET(EX,2)-BACKSET(EX,1)>0;
EC:=BACKSET(EB,BARSLAST(EA)+1);
KE0:=EA AND EC=0;
J1N:=COUNT(KE0,0);
J1D:=MIN(BARSLAST(REF(KE0,1))+1,BN-1);
J1A:=MIN(J1D+REF(J1D,J1D),BN-1);
J1P:=VALUEWHEN(KE0,IF(FT,MH,ML));
J1V:=KE0 AND J1N>=2 AND J1D>=MAX(MG,4)AND GC-REF(GC,J1D)>=3 AND IF(FT,MH>REF(J1P,J1D)AND MH>REF(MH,J1D),REF(J1P,J1D)>ML AND REF(MH,J1D)>MH);
J1C:=KE0 AND J1N>=3 AND MOD(J1N-0,3)=0 AND J1A<=MAX(EW,4)AND COUNT(GX,J1A+1)=0 AND REF(J1V,J1D)=0;
J1K:=IF(FT,MH>REF(MH,J1A),ML<REF(ML,J1A));
J1B:=BACKSET(J1C AND J1K=0,J1D+1);
J1T:=BACKSET(J1C AND J1K,2)-BACKSET(J1C AND J1K,1)>0;
J1R:=BACKSET(J1T,MIN(BARSLAST(KE0)+REF(J1D,BARSLAST(KE0))+1,BN));
KE1:=KE0 AND J1B=0 AND J1R=0;
J2N:=COUNT(KE1,0);
J2D:=MIN(BARSLAST(REF(KE1,1))+1,BN-1);
J2A:=MIN(J2D+REF(J2D,J2D),BN-1);
J2P:=VALUEWHEN(KE1,IF(FT,MH,ML));
J2V:=KE1 AND J2N>=2 AND J2D>=MAX(MG,4)AND GC-REF(GC,J2D)>=3 AND IF(FT,MH>REF(J2P,J2D)AND MH>REF(MH,J2D),REF(J2P,J2D)>ML AND REF(MH,J2D)>MH);
J2C:=KE1 AND J2N>=4 AND MOD(J2N-1,3)=0 AND J2A<=MAX(EW,4)AND COUNT(GX,J2A+1)=0 AND REF(J2V,J2D)=0;
J2K:=IF(FT,MH>REF(MH,J2A),ML<REF(ML,J2A));
J2B:=BACKSET(J2C AND J2K=0,J2D+1);
J2T:=BACKSET(J2C AND J2K,2)-BACKSET(J2C AND J2K,1)>0;
J2R:=BACKSET(J2T,MIN(BARSLAST(KE1)+REF(J2D,BARSLAST(KE1))+1,BN));
KE2:=KE1 AND J2B=0 AND J2R=0;
J3N:=COUNT(KE2,0);
J3D:=MIN(BARSLAST(REF(KE2,1))+1,BN-1);
J3A:=MIN(J3D+REF(J3D,J3D),BN-1);
J3P:=VALUEWHEN(KE2,IF(FT,MH,ML));
J3V:=KE2 AND J3N>=2 AND J3D>=MAX(MG,4)AND GC-REF(GC,J3D)>=3 AND IF(FT,MH>REF(J3P,J3D)AND MH>REF(MH,J3D),REF(J3P,J3D)>ML AND REF(MH,J3D)>MH);
J3C:=KE2 AND J3N>=5 AND MOD(J3N-2,3)=0 AND J3A<=MAX(EW,4)AND COUNT(GX,J3A+1)=0 AND REF(J3V,J3D)=0;
J3K:=IF(FT,MH>REF(MH,J3A),ML<REF(ML,J3A));
J3B:=BACKSET(J3C AND J3K=0,J3D+1);
J3T:=BACKSET(J3C AND J3K,2)-BACKSET(J3C AND J3K,1)>0;
J3R:=BACKSET(J3T,MIN(BARSLAST(KE2)+REF(J3D,BARSLAST(KE2))+1,BN));
KE3:=KE2 AND J3B=0 AND J3R=0;
J4N:=COUNT(KE3,0);
J4D:=MIN(BARSLAST(REF(KE3,1))+1,BN-1);
J4A:=MIN(J4D+REF(J4D,J4D),BN-1);
J4P:=VALUEWHEN(KE3,IF(FT,MH,ML));
J4V:=KE3 AND J4N>=2 AND J4D>=MAX(MG,4)AND GC-REF(GC,J4D)>=3 AND IF(FT,MH>REF(J4P,J4D)AND MH>REF(MH,J4D),REF(J4P,J4D)>ML AND REF(MH,J4D)>MH);
J4C:=KE3 AND J4N>=3 AND MOD(J4N-0,3)=0 AND J4A<=MAX(EW,4)AND COUNT(GX,J4A+1)=0 AND REF(J4V,J4D)=0;
J4K:=IF(FT,MH>REF(MH,J4A),ML<REF(ML,J4A));
J4B:=BACKSET(J4C AND J4K=0,J4D+1);
J4T:=BACKSET(J4C AND J4K,2)-BACKSET(J4C AND J4K,1)>0;
J4R:=BACKSET(J4T,MIN(BARSLAST(KE3)+REF(J4D,BARSLAST(KE3))+1,BN));
KE4:=KE3 AND J4B=0 AND J4R=0;
J5N:=COUNT(KE4,0);
J5D:=MIN(BARSLAST(REF(KE4,1))+1,BN-1);
J5A:=MIN(J5D+REF(J5D,J5D),BN-1);
J5P:=VALUEWHEN(KE4,IF(FT,MH,ML));
J5V:=KE4 AND J5N>=2 AND J5D>=MAX(MG,4)AND GC-REF(GC,J5D)>=3 AND IF(FT,MH>REF(J5P,J5D)AND MH>REF(MH,J5D),REF(J5P,J5D)>ML AND REF(MH,J5D)>MH);
J5C:=KE4 AND J5N>=4 AND MOD(J5N-1,3)=0 AND J5A<=MAX(EW,4)AND COUNT(GX,J5A+1)=0 AND REF(J5V,J5D)=0;
J5K:=IF(FT,MH>REF(MH,J5A),ML<REF(ML,J5A));
J5B:=BACKSET(J5C AND J5K=0,J5D+1);
J5T:=BACKSET(J5C AND J5K,2)-BACKSET(J5C AND J5K,1)>0;
J5R:=BACKSET(J5T,MIN(BARSLAST(KE4)+REF(J5D,BARSLAST(KE4))+1,BN));
KE5:=KE4 AND J5B=0 AND J5R=0;
J6N:=COUNT(KE5,0);
J6D:=MIN(BARSLAST(REF(KE5,1))+1,BN-1);
J6A:=MIN(J6D+REF(J6D,J6D),BN-1);
J6P:=VALUEWHEN(KE5,IF(FT,MH,ML));
J6V:=KE5 AND J6N>=2 AND J6D>=MAX(MG,4)AND GC-REF(GC,J6D)>=3 AND IF(FT,MH>REF(J6P,J6D)AND MH>REF(MH,J6D),REF(J6P,J6D)>ML AND REF(MH,J6D)>MH);
J6C:=KE5 AND J6N>=5 AND MOD(J6N-2,3)=0 AND J6A<=MAX(EW,4)AND COUNT(GX,J6A+1)=0 AND REF(J6V,J6D)=0;
J6K:=IF(FT,MH>REF(MH,J6A),ML<REF(ML,J6A));
J6B:=BACKSET(J6C AND J6K=0,J6D+1);
J6T:=BACKSET(J6C AND J6K,2)-BACKSET(J6C AND J6K,1)>0;
J6R:=BACKSET(J6T,MIN(BARSLAST(KE5)+REF(J6D,BARSLAST(KE5))+1,BN));
KE6:=KE5 AND J6B=0 AND J6R=0;
J7N:=COUNT(KE6,0);
J7D:=MIN(BARSLAST(REF(KE6,1))+1,BN-1);
J7A:=MIN(J7D+REF(J7D,J7D),BN-1);
J7P:=VALUEWHEN(KE6,IF(FT,MH,ML));
J7V:=KE6 AND J7N>=2 AND J7D>=MAX(MG,4)AND GC-REF(GC,J7D)>=3 AND IF(FT,MH>REF(J7P,J7D)AND MH>REF(MH,J7D),REF(J7P,J7D)>ML AND REF(MH,J7D)>MH);
J7C:=KE6 AND J7N>=3 AND MOD(J7N-0,3)=0 AND J7A<=MAX(EW,4)AND COUNT(GX,J7A+1)=0 AND REF(J7V,J7D)=0;
J7K:=IF(FT,MH>REF(MH,J7A),ML<REF(ML,J7A));
J7B:=BACKSET(J7C AND J7K=0,J7D+1);
J7T:=BACKSET(J7C AND J7K,2)-BACKSET(J7C AND J7K,1)>0;
J7R:=BACKSET(J7T,MIN(BARSLAST(KE6)+REF(J7D,BARSLAST(KE6))+1,BN));
KE7:=KE6 AND J7B=0 AND J7R=0;
J8N:=COUNT(KE7,0);
J8D:=MIN(BARSLAST(REF(KE7,1))+1,BN-1);
J8A:=MIN(J8D+REF(J8D,J8D),BN-1);
J8P:=VALUEWHEN(KE7,IF(FT,MH,ML));
J8V:=KE7 AND J8N>=2 AND J8D>=MAX(MG,4)AND GC-REF(GC,J8D)>=3 AND IF(FT,MH>REF(J8P,J8D)AND MH>REF(MH,J8D),REF(J8P,J8D)>ML AND REF(MH,J8D)>MH);
J8C:=KE7 AND J8N>=4 AND MOD(J8N-1,3)=0 AND J8A<=MAX(EW,4)AND COUNT(GX,J8A+1)=0 AND REF(J8V,J8D)=0;
J8K:=IF(FT,MH>REF(MH,J8A),ML<REF(ML,J8A));
J8B:=BACKSET(J8C AND J8K=0,J8D+1);
J8T:=BACKSET(J8C AND J8K,2)-BACKSET(J8C AND J8K,1)>0;
J8R:=BACKSET(J8T,MIN(BARSLAST(KE7)+REF(J8D,BARSLAST(KE7))+1,BN));
KE8:=KE7 AND J8B=0 AND J8R=0;
J9N:=COUNT(KE8,0);
J9D:=MIN(BARSLAST(REF(KE8,1))+1,BN-1);
J9A:=MIN(J9D+REF(J9D,J9D),BN-1);
J9P:=VALUEWHEN(KE8,IF(FT,MH,ML));
J9V:=KE8 AND J9N>=2 AND J9D>=MAX(MG,4)AND GC-REF(GC,J9D)>=3 AND IF(FT,MH>REF(J9P,J9D)AND MH>REF(MH,J9D),REF(J9P,J9D)>ML AND REF(MH,J9D)>MH);
J9C:=KE8 AND J9N>=5 AND MOD(J9N-2,3)=0 AND J9A<=MAX(EW,4)AND COUNT(GX,J9A+1)=0 AND REF(J9V,J9D)=0;
J9K:=IF(FT,MH>REF(MH,J9A),ML<REF(ML,J9A));
J9B:=BACKSET(J9C AND J9K=0,J9D+1);
J9T:=BACKSET(J9C AND J9K,2)-BACKSET(J9C AND J9K,1)>0;
J9R:=BACKSET(J9T,MIN(BARSLAST(KE8)+REF(J9D,BARSLAST(KE8))+1,BN));
KE9:=KE8 AND J9B=0 AND J9R=0;
J10N:=COUNT(KE9,0);
J10D:=MIN(BARSLAST(REF(KE9,1))+1,BN-1);
J10A:=MIN(J10D+REF(J10D,J10D),BN-1);
J10P:=VALUEWHEN(KE9,IF(FT,MH,ML));
J10V:=KE9 AND J10N>=2 AND J10D>=MAX(MG,4)AND GC-REF(GC,J10D)>=3 AND IF(FT,MH>REF(J10P,J10D)AND MH>REF(MH,J10D),REF(J10P,J10D)>ML AND REF(MH,J10D)>MH);
J10C:=KE9 AND J10N>=3 AND MOD(J10N-0,3)=0 AND J10A<=MAX(EW,4)AND COUNT(GX,J10A+1)=0 AND REF(J10V,J10D)=0;
J10K:=IF(FT,MH>REF(MH,J10A),ML<REF(ML,J10A));
J10B:=BACKSET(J10C AND J10K=0,J10D+1);
J10T:=BACKSET(J10C AND J10K,2)-BACKSET(J10C AND J10K,1)>0;
J10R:=BACKSET(J10T,MIN(BARSLAST(KE9)+REF(J10D,BARSLAST(KE9))+1,BN));
KE10:=KE9 AND J10B=0 AND J10R=0;
J11N:=COUNT(KE10,0);
J11D:=MIN(BARSLAST(REF(KE10,1))+1,BN-1);
J11A:=MIN(J11D+REF(J11D,J11D),BN-1);
J11P:=VALUEWHEN(KE10,IF(FT,MH,ML));
J11V:=KE10 AND J11N>=2 AND J11D>=MAX(MG,4)AND GC-REF(GC,J11D)>=3 AND IF(FT,MH>REF(J11P,J11D)AND MH>REF(MH,J11D),REF(J11P,J11D)>ML AND REF(MH,J11D)>MH);
J11C:=KE10 AND J11N>=4 AND MOD(J11N-1,3)=0 AND J11A<=MAX(EW,4)AND COUNT(GX,J11A+1)=0 AND REF(J11V,J11D)=0;
J11K:=IF(FT,MH>REF(MH,J11A),ML<REF(ML,J11A));
J11B:=BACKSET(J11C AND J11K=0,J11D+1);
J11T:=BACKSET(J11C AND J11K,2)-BACKSET(J11C AND J11K,1)>0;
J11R:=BACKSET(J11T,MIN(BARSLAST(KE10)+REF(J11D,BARSLAST(KE10))+1,BN));
KE11:=KE10 AND J11B=0 AND J11R=0;
J12N:=COUNT(KE11,0);
J12D:=MIN(BARSLAST(REF(KE11,1))+1,BN-1);
J12A:=MIN(J12D+REF(J12D,J12D),BN-1);
J12P:=VALUEWHEN(KE11,IF(FT,MH,ML));
J12V:=KE11 AND J12N>=2 AND J12D>=MAX(MG,4)AND GC-REF(GC,J12D)>=3 AND IF(FT,MH>REF(J12P,J12D)AND MH>REF(MH,J12D),REF(J12P,J12D)>ML AND REF(MH,J12D)>MH);
J12C:=KE11 AND J12N>=5 AND MOD(J12N-2,3)=0 AND J12A<=MAX(EW,4)AND COUNT(GX,J12A+1)=0 AND REF(J12V,J12D)=0;
J12K:=IF(FT,MH>REF(MH,J12A),ML<REF(ML,J12A));
J12B:=BACKSET(J12C AND J12K=0,J12D+1);
J12T:=BACKSET(J12C AND J12K,2)-BACKSET(J12C AND J12K,1)>0;
J12R:=BACKSET(J12T,MIN(BARSLAST(KE11)+REF(J12D,BARSLAST(KE11))+1,BN));
KE12:=KE11 AND J12B=0 AND J12R=0;
PE:=KE12;
PC:=COUNT(PE,0);
PP:=VALUEWHEN(PE,IF(FT,MH,ML));
PH:=VALUEWHEN(PE,MH);
D1:=MIN(BARSLAST(REF(PE,1))+1,BN-1);
D2:=MIN(D1+REF(D1,D1),BN-1);
D3:=MIN(D2+REF(D1,D2),BN-1);
P1:=REF(PP,D1);
P2:=REF(PP,D2);
P3:=REF(PP,D3);
PV:=PE AND PC>=2 AND D1>=MAX(MG,4)AND COUNT(GX,D1+1)=0 AND GC-REF(GC,D1)>=3 AND IF(FT,MH>P1 AND MH>REF(PH,D1),P1>ML AND REF(PH,D1)>MH);
PNHAS:=BN<CONST(VALUEWHEN(PE,BN));
PNDIST:=IF(PNHAS,MIN(MAX(REFX(BARSNEXT(PE),1)+1,0),MAX(CONST(BN)-BN,0)),0);
PCONF:=PV AND PNHAS AND PNDIST>0 AND REFX(PE,PNDIST)AND REFX(PV,PNDIST)AND REFX(D1,PNDIST)=PNDIST AND FT<>REFX(FT,PNDIST);
PWAIT:=PV AND PCONF=0;
STOTAL:=CONST(BN);
PG:=MIN(MIN(MAX(PP,P1),MAX(P1,P2)),MAX(P2,P3));
PD:=MAX(MAX(MIN(PP,P1),MIN(P1,P2)),MIN(P2,P3));
SDUP:=PE AND PC>=4 AND PP>P2 AND P1>P3;
SDDN:=PE AND PC>=4 AND PP<P2 AND P1<P3;
SDE:=SDUP OR SDDN OR(PE AND PV=0);
SDV:=VALUEWHEN(SDE,IF(PE AND PV=0,0,IF(SDUP,1,-1)));
SCHANGE:=SDE AND SDV<>REF(SDV,1);
SRLEN:=BARSLAST(SCHANGE)+1;
SMAX:=HHV(PP,SRLEN);
SMIN:=LLV(PP,SRLEN);
SHASN:=BN<CONST(VALUEWHEN(SCHANGE,BN));
SNEXT:=IF(SHASN,MIN(MAX(REFX(BARSNEXT(SCHANGE),1)+1,0),MAX(STOTAL-BN,0)),MAX(STOTAL-BN,0));
SRTO:=IF(SHASN,SNEXT-1,STOTAL-BN);
SRHIGH:=REFX(SMAX,SRTO);
SRLOW:=REFX(SMIN,SRTO);
SRAW:=PE AND IF(SDV=1,FT AND PP=SRHIGH,SDV=-1 AND FB AND PP=SRLOW);
SPICK:=SRAW AND COUNT(SRAW,SRLEN)=1;
SRSTART:=SCHANGE AND SDV<>0 AND REF(SDV,1)=0 AND PC>=4 AND COUNT(PE AND PV=0,D3)=0;
SSEEK:=IF(BN<=CONST(VALUEWHEN(SRSTART,BN)),MAX(BARSNEXT(SRSTART),0),MAX(STOTAL-BN,0));
SSEED:=PE AND BN<=CONST(VALUEWHEN(SRSTART,BN))AND REFX(SRSTART,SSEEK)AND BN=REFX(BN-D3,SSEEK);
SE0:=SPICK OR SSEED;
SN1:=IF(BN<CONST(VALUEWHEN(PE,BN)),MIN(MAX(REFX(BARSNEXT(PE),1)+1,0),MAX(STOTAL-BN,0)),MAX(STOTAL-BN,0));
SN2:=MIN(SN1+REFX(SN1,SN1),MAX(STOTAL-BN,0));
SN3:=MIN(SN2+REFX(SN1,SN2),MAX(STOTAL-BN,0));
SINIT:=REFX(PG>PD,SN3)AND REFX(PC,SN3)-PC=3;
Q1N:=COUNT(SE0,0);
Q1D:=MIN(BARSLAST(REF(SE0,1))+1,BN-1);
Q1A:=MIN(Q1D+REF(Q1D,Q1D),BN-1);
Q1P:=VALUEWHEN(SE0,PP);
Q1V:=SE0 AND Q1N>=2 AND PC-REF(PC,Q1D)>=3 AND FT<>REF(FT,Q1D)AND COUNT(PE AND PV=0,Q1D)=0 AND REF(SINIT,Q1D)AND IF(FT,PP>REF(Q1P,Q1D),PP<REF(Q1P,Q1D));
Q1C:=SE0 AND Q1N>=3 AND MOD(Q1N-0,3)=0 AND FT=REF(FT,Q1A)AND COUNT(PE AND PV=0,Q1A)=0 AND REF(Q1V,Q1D)=0;
Q1K:=REF(SINIT,Q1A)=0 OR IF(FT,PP>REF(PP,Q1A),PP<REF(PP,Q1A));
Q1B:=BACKSET(Q1C AND Q1K=0,Q1D+1);
Q1T:=BACKSET(Q1C AND Q1K,2)-BACKSET(Q1C AND Q1K,1)>0;
Q1R:=BACKSET(Q1T,MIN(BARSLAST(SE0)+REF(Q1D,BARSLAST(SE0))+1,BN));
SE1:=SE0 AND Q1B=0 AND Q1R=0;
Q2N:=COUNT(SE1,0);
Q2D:=MIN(BARSLAST(REF(SE1,1))+1,BN-1);
Q2A:=MIN(Q2D+REF(Q2D,Q2D),BN-1);
Q2P:=VALUEWHEN(SE1,PP);
Q2V:=SE1 AND Q2N>=2 AND PC-REF(PC,Q2D)>=3 AND FT<>REF(FT,Q2D)AND COUNT(PE AND PV=0,Q2D)=0 AND REF(SINIT,Q2D)AND IF(FT,PP>REF(Q2P,Q2D),PP<REF(Q2P,Q2D));
Q2C:=SE1 AND Q2N>=4 AND MOD(Q2N-1,3)=0 AND FT=REF(FT,Q2A)AND COUNT(PE AND PV=0,Q2A)=0 AND REF(Q2V,Q2D)=0;
Q2K:=REF(SINIT,Q2A)=0 OR IF(FT,PP>REF(PP,Q2A),PP<REF(PP,Q2A));
Q2B:=BACKSET(Q2C AND Q2K=0,Q2D+1);
Q2T:=BACKSET(Q2C AND Q2K,2)-BACKSET(Q2C AND Q2K,1)>0;
Q2R:=BACKSET(Q2T,MIN(BARSLAST(SE1)+REF(Q2D,BARSLAST(SE1))+1,BN));
SE2:=SE1 AND Q2B=0 AND Q2R=0;
Q3N:=COUNT(SE2,0);
Q3D:=MIN(BARSLAST(REF(SE2,1))+1,BN-1);
Q3A:=MIN(Q3D+REF(Q3D,Q3D),BN-1);
Q3P:=VALUEWHEN(SE2,PP);
Q3V:=SE2 AND Q3N>=2 AND PC-REF(PC,Q3D)>=3 AND FT<>REF(FT,Q3D)AND COUNT(PE AND PV=0,Q3D)=0 AND REF(SINIT,Q3D)AND IF(FT,PP>REF(Q3P,Q3D),PP<REF(Q3P,Q3D));
Q3C:=SE2 AND Q3N>=5 AND MOD(Q3N-2,3)=0 AND FT=REF(FT,Q3A)AND COUNT(PE AND PV=0,Q3A)=0 AND REF(Q3V,Q3D)=0;
Q3K:=REF(SINIT,Q3A)=0 OR IF(FT,PP>REF(PP,Q3A),PP<REF(PP,Q3A));
Q3B:=BACKSET(Q3C AND Q3K=0,Q3D+1);
Q3T:=BACKSET(Q3C AND Q3K,2)-BACKSET(Q3C AND Q3K,1)>0;
Q3R:=BACKSET(Q3T,MIN(BARSLAST(SE2)+REF(Q3D,BARSLAST(SE2))+1,BN));
SE3:=SE2 AND Q3B=0 AND Q3R=0;
Q4N:=COUNT(SE3,0);
Q4D:=MIN(BARSLAST(REF(SE3,1))+1,BN-1);
Q4A:=MIN(Q4D+REF(Q4D,Q4D),BN-1);
Q4P:=VALUEWHEN(SE3,PP);
Q4V:=SE3 AND Q4N>=2 AND PC-REF(PC,Q4D)>=3 AND FT<>REF(FT,Q4D)AND COUNT(PE AND PV=0,Q4D)=0 AND REF(SINIT,Q4D)AND IF(FT,PP>REF(Q4P,Q4D),PP<REF(Q4P,Q4D));
Q4C:=SE3 AND Q4N>=3 AND MOD(Q4N-0,3)=0 AND FT=REF(FT,Q4A)AND COUNT(PE AND PV=0,Q4A)=0 AND REF(Q4V,Q4D)=0;
Q4K:=REF(SINIT,Q4A)=0 OR IF(FT,PP>REF(PP,Q4A),PP<REF(PP,Q4A));
Q4B:=BACKSET(Q4C AND Q4K=0,Q4D+1);
Q4T:=BACKSET(Q4C AND Q4K,2)-BACKSET(Q4C AND Q4K,1)>0;
Q4R:=BACKSET(Q4T,MIN(BARSLAST(SE3)+REF(Q4D,BARSLAST(SE3))+1,BN));
SE4:=SE3 AND Q4B=0 AND Q4R=0;
Q5N:=COUNT(SE4,0);
Q5D:=MIN(BARSLAST(REF(SE4,1))+1,BN-1);
Q5A:=MIN(Q5D+REF(Q5D,Q5D),BN-1);
Q5P:=VALUEWHEN(SE4,PP);
Q5V:=SE4 AND Q5N>=2 AND PC-REF(PC,Q5D)>=3 AND FT<>REF(FT,Q5D)AND COUNT(PE AND PV=0,Q5D)=0 AND REF(SINIT,Q5D)AND IF(FT,PP>REF(Q5P,Q5D),PP<REF(Q5P,Q5D));
Q5C:=SE4 AND Q5N>=4 AND MOD(Q5N-1,3)=0 AND FT=REF(FT,Q5A)AND COUNT(PE AND PV=0,Q5A)=0 AND REF(Q5V,Q5D)=0;
Q5K:=REF(SINIT,Q5A)=0 OR IF(FT,PP>REF(PP,Q5A),PP<REF(PP,Q5A));
Q5B:=BACKSET(Q5C AND Q5K=0,Q5D+1);
Q5T:=BACKSET(Q5C AND Q5K,2)-BACKSET(Q5C AND Q5K,1)>0;
Q5R:=BACKSET(Q5T,MIN(BARSLAST(SE4)+REF(Q5D,BARSLAST(SE4))+1,BN));
SE5:=SE4 AND Q5B=0 AND Q5R=0;
Q6N:=COUNT(SE5,0);
Q6D:=MIN(BARSLAST(REF(SE5,1))+1,BN-1);
Q6A:=MIN(Q6D+REF(Q6D,Q6D),BN-1);
Q6P:=VALUEWHEN(SE5,PP);
Q6V:=SE5 AND Q6N>=2 AND PC-REF(PC,Q6D)>=3 AND FT<>REF(FT,Q6D)AND COUNT(PE AND PV=0,Q6D)=0 AND REF(SINIT,Q6D)AND IF(FT,PP>REF(Q6P,Q6D),PP<REF(Q6P,Q6D));
Q6C:=SE5 AND Q6N>=5 AND MOD(Q6N-2,3)=0 AND FT=REF(FT,Q6A)AND COUNT(PE AND PV=0,Q6A)=0 AND REF(Q6V,Q6D)=0;
Q6K:=REF(SINIT,Q6A)=0 OR IF(FT,PP>REF(PP,Q6A),PP<REF(PP,Q6A));
Q6B:=BACKSET(Q6C AND Q6K=0,Q6D+1);
Q6T:=BACKSET(Q6C AND Q6K,2)-BACKSET(Q6C AND Q6K,1)>0;
Q6R:=BACKSET(Q6T,MIN(BARSLAST(SE5)+REF(Q6D,BARSLAST(SE5))+1,BN));
SE6:=SE5 AND Q6B=0 AND Q6R=0;
Q7N:=COUNT(SE6,0);
Q7D:=MIN(BARSLAST(REF(SE6,1))+1,BN-1);
Q7A:=MIN(Q7D+REF(Q7D,Q7D),BN-1);
Q7P:=VALUEWHEN(SE6,PP);
Q7V:=SE6 AND Q7N>=2 AND PC-REF(PC,Q7D)>=3 AND FT<>REF(FT,Q7D)AND COUNT(PE AND PV=0,Q7D)=0 AND REF(SINIT,Q7D)AND IF(FT,PP>REF(Q7P,Q7D),PP<REF(Q7P,Q7D));
Q7C:=SE6 AND Q7N>=3 AND MOD(Q7N-0,3)=0 AND FT=REF(FT,Q7A)AND COUNT(PE AND PV=0,Q7A)=0 AND REF(Q7V,Q7D)=0;
Q7K:=REF(SINIT,Q7A)=0 OR IF(FT,PP>REF(PP,Q7A),PP<REF(PP,Q7A));
Q7B:=BACKSET(Q7C AND Q7K=0,Q7D+1);
Q7T:=BACKSET(Q7C AND Q7K,2)-BACKSET(Q7C AND Q7K,1)>0;
Q7R:=BACKSET(Q7T,MIN(BARSLAST(SE6)+REF(Q7D,BARSLAST(SE6))+1,BN));
SE7:=SE6 AND Q7B=0 AND Q7R=0;
Q8N:=COUNT(SE7,0);
Q8D:=MIN(BARSLAST(REF(SE7,1))+1,BN-1);
Q8A:=MIN(Q8D+REF(Q8D,Q8D),BN-1);
Q8P:=VALUEWHEN(SE7,PP);
Q8V:=SE7 AND Q8N>=2 AND PC-REF(PC,Q8D)>=3 AND FT<>REF(FT,Q8D)AND COUNT(PE AND PV=0,Q8D)=0 AND REF(SINIT,Q8D)AND IF(FT,PP>REF(Q8P,Q8D),PP<REF(Q8P,Q8D));
Q8C:=SE7 AND Q8N>=4 AND MOD(Q8N-1,3)=0 AND FT=REF(FT,Q8A)AND COUNT(PE AND PV=0,Q8A)=0 AND REF(Q8V,Q8D)=0;
Q8K:=REF(SINIT,Q8A)=0 OR IF(FT,PP>REF(PP,Q8A),PP<REF(PP,Q8A));
Q8B:=BACKSET(Q8C AND Q8K=0,Q8D+1);
Q8T:=BACKSET(Q8C AND Q8K,2)-BACKSET(Q8C AND Q8K,1)>0;
Q8R:=BACKSET(Q8T,MIN(BARSLAST(SE7)+REF(Q8D,BARSLAST(SE7))+1,BN));
SE8:=SE7 AND Q8B=0 AND Q8R=0;
Q9N:=COUNT(SE8,0);
Q9D:=MIN(BARSLAST(REF(SE8,1))+1,BN-1);
Q9A:=MIN(Q9D+REF(Q9D,Q9D),BN-1);
Q9P:=VALUEWHEN(SE8,PP);
Q9V:=SE8 AND Q9N>=2 AND PC-REF(PC,Q9D)>=3 AND FT<>REF(FT,Q9D)AND COUNT(PE AND PV=0,Q9D)=0 AND REF(SINIT,Q9D)AND IF(FT,PP>REF(Q9P,Q9D),PP<REF(Q9P,Q9D));
Q9C:=SE8 AND Q9N>=5 AND MOD(Q9N-2,3)=0 AND FT=REF(FT,Q9A)AND COUNT(PE AND PV=0,Q9A)=0 AND REF(Q9V,Q9D)=0;
Q9K:=REF(SINIT,Q9A)=0 OR IF(FT,PP>REF(PP,Q9A),PP<REF(PP,Q9A));
Q9B:=BACKSET(Q9C AND Q9K=0,Q9D+1);
Q9T:=BACKSET(Q9C AND Q9K,2)-BACKSET(Q9C AND Q9K,1)>0;
Q9R:=BACKSET(Q9T,MIN(BARSLAST(SE8)+REF(Q9D,BARSLAST(SE8))+1,BN));
SE9:=SE8 AND Q9B=0 AND Q9R=0;
Q10N:=COUNT(SE9,0);
Q10D:=MIN(BARSLAST(REF(SE9,1))+1,BN-1);
Q10A:=MIN(Q10D+REF(Q10D,Q10D),BN-1);
Q10P:=VALUEWHEN(SE9,PP);
Q10V:=SE9 AND Q10N>=2 AND PC-REF(PC,Q10D)>=3 AND FT<>REF(FT,Q10D)AND COUNT(PE AND PV=0,Q10D)=0 AND REF(SINIT,Q10D)AND IF(FT,PP>REF(Q10P,Q10D),PP<REF(Q10P,Q10D));
Q10C:=SE9 AND Q10N>=3 AND MOD(Q10N-0,3)=0 AND FT=REF(FT,Q10A)AND COUNT(PE AND PV=0,Q10A)=0 AND REF(Q10V,Q10D)=0;
Q10K:=REF(SINIT,Q10A)=0 OR IF(FT,PP>REF(PP,Q10A),PP<REF(PP,Q10A));
Q10B:=BACKSET(Q10C AND Q10K=0,Q10D+1);
Q10T:=BACKSET(Q10C AND Q10K,2)-BACKSET(Q10C AND Q10K,1)>0;
Q10R:=BACKSET(Q10T,MIN(BARSLAST(SE9)+REF(Q10D,BARSLAST(SE9))+1,BN));
SE10:=SE9 AND Q10B=0 AND Q10R=0;
Q11N:=COUNT(SE10,0);
Q11D:=MIN(BARSLAST(REF(SE10,1))+1,BN-1);
Q11A:=MIN(Q11D+REF(Q11D,Q11D),BN-1);
Q11P:=VALUEWHEN(SE10,PP);
Q11V:=SE10 AND Q11N>=2 AND PC-REF(PC,Q11D)>=3 AND FT<>REF(FT,Q11D)AND COUNT(PE AND PV=0,Q11D)=0 AND REF(SINIT,Q11D)AND IF(FT,PP>REF(Q11P,Q11D),PP<REF(Q11P,Q11D));
Q11C:=SE10 AND Q11N>=4 AND MOD(Q11N-1,3)=0 AND FT=REF(FT,Q11A)AND COUNT(PE AND PV=0,Q11A)=0 AND REF(Q11V,Q11D)=0;
Q11K:=REF(SINIT,Q11A)=0 OR IF(FT,PP>REF(PP,Q11A),PP<REF(PP,Q11A));
Q11B:=BACKSET(Q11C AND Q11K=0,Q11D+1);
Q11T:=BACKSET(Q11C AND Q11K,2)-BACKSET(Q11C AND Q11K,1)>0;
Q11R:=BACKSET(Q11T,MIN(BARSLAST(SE10)+REF(Q11D,BARSLAST(SE10))+1,BN));
SE11:=SE10 AND Q11B=0 AND Q11R=0;
Q12N:=COUNT(SE11,0);
Q12D:=MIN(BARSLAST(REF(SE11,1))+1,BN-1);
Q12A:=MIN(Q12D+REF(Q12D,Q12D),BN-1);
Q12P:=VALUEWHEN(SE11,PP);
Q12V:=SE11 AND Q12N>=2 AND PC-REF(PC,Q12D)>=3 AND FT<>REF(FT,Q12D)AND COUNT(PE AND PV=0,Q12D)=0 AND REF(SINIT,Q12D)AND IF(FT,PP>REF(Q12P,Q12D),PP<REF(Q12P,Q12D));
Q12C:=SE11 AND Q12N>=5 AND MOD(Q12N-2,3)=0 AND FT=REF(FT,Q12A)AND COUNT(PE AND PV=0,Q12A)=0 AND REF(Q12V,Q12D)=0;
Q12K:=REF(SINIT,Q12A)=0 OR IF(FT,PP>REF(PP,Q12A),PP<REF(PP,Q12A));
Q12B:=BACKSET(Q12C AND Q12K=0,Q12D+1);
Q12T:=BACKSET(Q12C AND Q12K,2)-BACKSET(Q12C AND Q12K,1)>0;
Q12R:=BACKSET(Q12T,MIN(BARSLAST(SE11)+REF(Q12D,BARSLAST(SE11))+1,BN));
SE12:=SE11 AND Q12B=0 AND Q12R=0;
SA:=SE12;
SXD:=MIN(BARSLAST(REF(SA,1))+1,BN-1);
SVALID:=SA AND COUNT(SA,0)>=2 AND PC-REF(PC,SXD)>=3 AND FT<>REF(FT,SXD)AND COUNT(PE AND PV=0,SXD)=0 AND REF(SINIT,SXD)AND IF(FT,PP>REF(PP,SXD),PP<REF(PP,SXD));
SV:=SVALID AND SHASN;
SPEND:=SVALID AND SHASN=0 AND SPICK;
SPBACK:=BACKSET(SPEND,SXD+1);
SPSTART:=SPBACK AND(BN=1 OR REF(SPBACK,1)=0);
SPSTOP:=SPEND;
SPREADY:=COUNT(SPEND,0)>0;
SGTDIR:=IF(VALUEWHEN(SPSTART,FT),-1,1);
SH:=MAX(HHV(H,SXD+1),MAX(PP,REF(PP,SXD)));
SL:=MIN(LLV(L,SXD+1),MIN(PP,REF(PP,SXD)));
PU:DRAWLINE(SP=1 AND PE AND FB,ML,SP=1 AND PCONF AND FT,MH,0),COLORFF9933,LINETHICK1;
PN:DRAWLINE(SP=1 AND PE AND FT,MH,SP=1 AND PCONF AND FB,ML,0),COLORFF9933,LINETHICK1;
PUP:DRAWLINE(SP=1 AND PE AND FB,ML,SP=1 AND PWAIT AND FT,MH,0),COLORFF9933,LINETHICK1,DOTLINE;
PNP:DRAWLINE(SP=1 AND PE AND FT,MH,SP=1 AND PWAIT AND FB,ML,0),COLORFF9933,LINETHICK1,DOTLINE;
SU:DRAWLINE(SS=1 AND SA AND FB,ML,SS=1 AND SV AND FT,MH,0),COLOR0000FF,LINETHICK3;
SN:DRAWLINE(SS=1 AND SA AND FT,MH,SS=1 AND SV AND FB,ML,0),COLOR00FF00,LINETHICK3;
SUP:DRAWLINE(SS=1 AND SPSTART AND SGTDIR=1,PP,SS=1 AND SPSTOP AND SGTDIR=1,PP,0),COLOR0000FF,LINETHICK1,DOTLINE;
SNP:DRAWLINE(SS=1 AND SPSTART AND SGTDIR=-1,PP,SS=1 AND SPSTOP AND SGTDIR=-1,PP,0),COLOR00FF00,LINETHICK1,DOTLINE;
FH:=IF(SF=1 AND FT,MH,DRAWNULL);
FL:=IF(SF=1 AND FB,ML,DRAWNULL);
FHU:=FH*0.0004;
FLU:=FL*0.0004;
STICKLINE(SF=1 AND FT,IF(SF=1 AND FT,FH,DRAWNULL),IF(SF=1 AND FT,FH+FHU,DRAWNULL),0.4,0),COLOR0000FF;
STICKLINE(SF=1 AND FT,IF(SF=1 AND FT,FH+FHU,DRAWNULL),IF(SF=1 AND FT,FH+2*FHU,DRAWNULL),1.4,0),COLOR0000FF;
STICKLINE(SF=1 AND FT,IF(SF=1 AND FT,FH+2*FHU,DRAWNULL),IF(SF=1 AND FT,FH+3*FHU,DRAWNULL),2.4,0),COLOR0000FF;
STICKLINE(SF=1 AND FT,IF(SF=1 AND FT,FH+3*FHU,DRAWNULL),IF(SF=1 AND FT,FH+6*FHU,DRAWNULL),0.4,0),COLOR0000FF;
STICKLINE(SF=1 AND FB,IF(SF=1 AND FB,FL,DRAWNULL),IF(SF=1 AND FB,FL-FLU,DRAWNULL),0.4,0),COLOR00FF00;
STICKLINE(SF=1 AND FB,IF(SF=1 AND FB,FL-FLU,DRAWNULL),IF(SF=1 AND FB,FL-2*FLU,DRAWNULL),1.4,0),COLOR00FF00;
STICKLINE(SF=1 AND FB,IF(SF=1 AND FB,FL-2*FLU,DRAWNULL),IF(SF=1 AND FB,FL-3*FLU,DRAWNULL),2.4,0),COLOR00FF00;
STICKLINE(SF=1 AND FB,IF(SF=1 AND FB,FL-3*FLU,DRAWNULL),IF(SF=1 AND FB,FL-6*FLU,DRAWNULL),0.4,0),COLOR00FF00;
SC:=COUNT(SA,0);
E1:=MIN(BARSLAST(REF(SA,1))+1,BN-1);
E2:=MIN(E1+REF(E1,E1),BN-1);
E3:=MIN(E2+REF(E1,E2),BN-1);
ZG0:=MIN(SH,MIN(REF(SH,E1),REF(SH,E2)));
ZD0:=MAX(SL,MAX(REF(SL,E1),REF(SL,E2)));
ZC:=SA AND SC>=4 AND SV AND REF(SV,E1)AND REF(SV,E2)AND ZG0>ZD0;
ZRESET:=SA AND(SV=0 OR(SC>=4 AND(ZG0<=ZD0 OR(REF(ZC,E1)AND(ZG0<REF(ZD0,E1)OR ZD0>REF(ZG0,E1))))));
ZRANGE:=BARSLAST(ZRESET)+1;
ZELIG:=ZC AND SC-VALUEWHEN(ZRESET,SC)>=3;
ZSTART:=ZELIG AND COUNT(ZELIG,ZRANGE)=1;
ZID:=VALUEWHEN(ZSTART,BN);
ZLEFT:=VALUEWHEN(ZSTART,BN-E3);
ZGH:=VALUEWHEN(ZSTART,ZG0);
ZDL:=VALUEWHEN(ZSTART,ZD0);
ZSEE:=COUNT(ZSTART,ZRANGE)>0;
ZBAD:=SA AND ZSEE AND BN>ZID AND(SV=0 OR SH<ZDL OR SL>ZGH);
ZOK:=ZSEE AND COUNT(ZBAD,ZRANGE)=0;
ZEND:=(ZBAD AND COUNT(ZBAD,ZRANGE)=1)OR(ZRESET AND REF(ZOK,1));
ZMEM:=SA AND SV AND ZOK;
ZNEXT:=IF(BN<=CONST(VALUEWHEN(ZMEM,BN)),MIN(MAX(BARSNEXT(ZMEM),0),MAX(CONST(BN)-BN,0)),MAX(CONST(BN)-BN,0));
ZFOUND:=REFX(ZMEM,ZNEXT);
ZGROUP:=REFX(ZID,ZNEXT);
ZFIRST:=REFX(ZLEFT,ZNEXT);
ZSHOW:=SZ=1 AND ZFOUND AND BN>=ZFIRST;
ZEDGE:=ZSHOW AND(BN=ZFIRST OR ISLASTBAR OR REFX(ZSHOW,1)=0 OR REFX(ZGROUP,1)<>ZGROUP);
ZPH:=IF(ZSHOW,REFX(ZGH,ZNEXT),DRAWNULL);
ZPL:=IF(ZSHOW,REFX(ZDL,ZNEXT),DRAWNULL);
ZG:DRAWLINE(ZSHOW AND BN=ZFIRST,ZPH,ZEDGE AND BN<>ZFIRST,ZPH,0),COLORCC66CC;
ZD:DRAWLINE(ZSHOW AND BN=ZFIRST,ZPL,ZEDGE AND BN<>ZFIRST,ZPL,0),COLORCC66CC;
ZFRAME:=ZEDGE AND ZG>ZD AND ZG=ZPH AND ZD=ZPL;
STICKLINE(ZFRAME,IF(ZFRAME,ZG,DRAWNULL),IF(ZFRAME,ZD,DRAWNULL),0.1,0),COLORCC66CC;通达信仅用于说明公式运行环境,与本产品无隶属或合作关系。
通达信使用路径总览 · 安装说明 · 支持网站与周期 · 缠论自动画线软件怎么选
Struct Guide 用于结构识别、学习与复盘,不提供投资建议,不预测行情,也不承诺任何投资收益。
