news 2026/10/21 22:58:43

文华财经公式拆解:用BACKSET与BARSLAST构建局部高低点识别逻辑

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
文华财经公式拆解:用BACKSET与BARSLAST构建局部高低点识别逻辑

简介:这份文档收录了一套文华财经期货软件指标公式,由一位资深期货交易者编写,面向使用文华财经平台、希望借助程序化指标辅助研判行情的期货投资者与量化爱好者。文件为单个doc文档,压缩包约58KB,内容以公式源码与逻辑注释为主,可直接导入软件进行编译与调试。从节选代码看,公式围绕局部高低点预选、缺口判断、距前高天与距前低天、小值周期与大值周期等变量层层递进,构建低保留、高保留、预判与判断等信号,用于识别趋势转折与关键支撑压力位,逻辑结构完整,适合研究其算法思路并二次修改。目前已有133人学习下载,可作为学习文华公式编写、理解高低点识别与信号过滤机制的参考素材,帮助读者在实盘中验证并优化自己的交易策略。

1. 一份把“局部高低点”写进公式的文档:它到底在算什么

如果你做期货日内或者波段,大概率经历过这种场景:行情走完一段,回头看图上那些转折点清清楚楚,可盘中就是抓不住。这份文档里的指标公式,核心目标只有一个——把“局部高点”和“局部低点”用可复现的规则标出来,而不是靠眼睛去猜。它基于文华财经的公式语法,用BACKSET、BARSLAST、LLV、HHV这些函数,把高低点的确认、缺口判断、保留逻辑串成一条链。适合谁?适合已经能看懂基础公式、想研究一套完整转折点识别逻辑的人。它不是拿来直接挂上就能盈利的“圣杯”,而是一份可以拆开、改参数、做二次开发的公式文档。你拿到手,先别急着跑,先看懂它怎么定义“前高”“前低”和“保留”。

2. 拆解公式骨架:从局部预选到极点保留的四层逻辑

2.1 第一层:局部高低点预选,用 BACKSET 做“事后确认”

公式开头那段局部低点预选A和局部高点预选A,是整个体系的起点。它用BACKSET(条件, 4)把满足条件的K线往前标记4根。什么意思?就是当LLV(L,5) < REF(LLV(L,4),1)成立时,说明最近5根的最低价创了新低,于是把当前K线往前数4根都标记为“预选低点”。这不是实时信号,而是等行情走完几根之后才回填的确认逻辑。

{局部低点预选A} A:=BACKSET(LLV(L,5)<REF(LLV(L,4),1),4); {局部低点预选B:找A从0变1的那根} B:=BACKSET(A=0 AND REF(A,1)=1,2); {局部低点预选C:只在B=1且前一根B=0时输出-1} C:=IF(B=1 AND REF(B,1)=0,-1,0);

逻辑说明:BACKSET是文华公式里典型的“未来函数”类操作,它会把满足条件的K线往回标记。参数4表示回填4根,2表示回填2根。这里的关键是C只在B从0变1的那一根输出-1,相当于给低点打一个唯一标记。参数怎么改?如果你做更短的周期,可以把LLV(L,5)改成LLV(L,3),回填根数从4改成2,但要注意:回填越短,信号越灵敏,假信号也越多。

2.2 第二层:缺口判断与距离计算,把“前高前低”量化

有了预选高低点,下一步是算“距前高天”和“距前低天”。公式里用BARSLAST(局部高点预选C=1)来统计距离上一次高点标记的K线数。同时引入缺口判断:IF(L>REF(H,1),1,IF(H<REF(L,1),-1,0)),向上跳空记1,向下跳空记-1,没有缺口记0。

{缺口判断} 缺口:=IF(L>REF(H,1),1,IF(H<REF(L,1),-1,0)); {距前高天、距前低天} 距前高:=BARSLAST(局部高点预选C=1); 距前低:=BARSLAST(局部低点预选C=-1); {小值周期、大值周期} 小周期:=LOWRANGE(L); 大周期:=TOPRANGE(H);

这里LOWRANGE和TOPRANGE是文华特有的周期函数,分别返回当前K线在近期低点和高点区间中的位置。参数说明:LOWRANGE(L)默认统计最近10根,如果你想拉长到20根,可以写成LOWRANGE(L,20)。这一步的作用是把“前高前低”从抽象概念变成可比较的数值,后面所有保留逻辑都依赖这两个距离。

2.3 第三层:低保留与高保留,用嵌套 IF 做条件过滤

公式最核心的部分是低保留AA、低保留AB、低保留S这一串。它要解决的问题是:预选出来的低点,到底值不值得保留?条件包括:距前高天是否大于距前低天、LLV(L,距前高天+1)是否继续创新低、缺口方向是否配合。只有同时满足,才输出-1表示保留。

{低保留AA:距前高天大于距前低天,且低点继续下移} 低保留AA:=IF(局部低点预选C=-1 AND REF(距前高天,1)>REF(距前低天,1) AND LLV(L,距前高天+1)<REF(LLV(L,距前高天+1),1),-1,0); {低保留AB:距前高天小于等于距前低天,但满足缺口或周期条件} 低保留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:最终确认,价格必须低于前高对应的价格} 低保留S:=IF((低保留AA=-1 OR 低保留AB=-1) AND L<REF(H,距前高天+1),-1,0);

逻辑说明:REF(距前高天,1)是取上一根K线的距离值,避免用当前未完成的数据。LLV(缺口判断,距前高天)是在距离区间内找是否存在向下缺口。参数怎么调?距前高天>=4这个阈值可以改,改成>=3会更宽松,改成>=5更严格。我一般会先用默认值跑一遍,看信号密度,再决定要不要放宽。

2.4 第四层:极点保留与画线,把信号落到图表上

经过前面三层,公式已经能输出高保留和低保留的标记。最后一步是AAAD和极点保留:当高保留和低保留同时出现,且价格突破前高或跌破前低时,输出1或-1。然后用DRAWLINE和DRAWICON把极点连成蓝色线段,并在低点画1号图标、高点画2号图标。

{极点保留:同时满足高保留和低保留,且价格突破} 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)); {极点保留:如果AAAD为0,就用高保留+低保留} 极点保留:=IF(AAAD=0,高保留YX+低保留YX,AAAD); {画线} 局部极点:IF(极点保留=-1,L,IF(极点保留=1,H,DRAWNULL)),CIRCLEDOT,COLORYELLOW; DRAWLINE(极点保留=-1,局部极点,极点保留=1,局部极点,0),COLORBLUE; DRAWLINE(极点保留=1,局部极点,极点保留=-1,局部极点,0),COLORBLUE; DRAWICON(极点保留=-1,L-0.03,1); DRAWICON(极点保留=1,H+0.03,2);

参数说明:DRAWLINE的最后一个参数0表示线段不延伸,1表示向右延伸。DRAWICON里的L-0.03是图标偏移量,如果你觉得图标离K线太远,可以改成L-0.01。这一步做完,图表上就能看到黄色的极点和蓝色的连线,直观判断转折结构。

3. 把公式装进文华:从新建指标到参数调试的完整步骤

3.1 新建公式并粘贴代码

打开文华财经客户端,进入“公式管理器”,选择“新建指标”,类型选“主图指标”。把文档里的代码整段复制进去,注意去掉多余的空格和换行。文华公式对中文变量名支持没问题,但变量名里不能有空格,比如低保留 AA要写成低保留AA。粘贴后点“测试公式”,如果提示BACKSET未定义,说明你的版本不支持这个函数,需要升级到较新的版本。

{操作路径} 公式管理器 -> 新建 -> 主图指标 -> 粘贴代码 -> 测试公式 -> 保存 {常见报错} 错误1:变量名重复 -> 检查是否有两个同名变量 错误2:括号不匹配 -> 用编辑器的括号匹配功能逐行检查 错误3:函数不支持 -> 确认版本是否支持 BACKSET、LOWRANGE

逻辑说明:文华的公式编辑器对语法要求严格,尤其是嵌套IF的括号。我一般会先把代码粘贴到外部编辑器,用括号高亮检查一遍,再贴回去。保存时给公式起个名字,比如“局部极点V1”,方便后续调用。

3.2 参数调试:三个关键阈值

公式里有三个地方需要根据你的交易周期调整。第一个是BACKSET的回填根数,默认是4和2。第二个是距前高天>=4里的阈值4。第三个是HHV(H,120)和LLV(L,120)里的120周期。如果你做的是5分钟短线,120周期就是10小时,差不多两个交易日;如果你做日线,120周期就是半年。

参数默认值短线建议中线建议作用
BACKSET回填4/23/15/3控制信号灵敏度
距前高天阈值435过滤近端噪音
HHV/LLV周期12060240定义高低点区间

调整方法:在公式编辑器里直接改数字,改完点“测试公式”,然后应用到图表上看信号变化。注意,改完参数后历史信号会全部重算,不要被突然增多的信号吓到。

3.3 叠加到主图并观察信号

保存后,在K线图上右键“叠加指标”,选择你刚建的公式。如果信号太多,可以在公式里加一个FILTER函数过滤重复信号,比如FILTER(极点保留=-1,5)表示5根K线内只保留第一个低点信号。这一步是实战中最常用的优化手段。

{过滤重复信号} 极点保留过滤:=FILTER(极点保留=-1,5); DRAWICON(极点保留过滤,L-0.03,1);

逻辑说明:FILTER的第一个参数是条件,第二个参数是周期数。参数越大,信号越少。我一般会先用FILTER(...,3)跑一遍,看看信号密度是否合适,再决定要不要加大。

4. 避坑与排查:这份公式文档里最容易翻车的五个地方

4.1 现象:信号忽多忽少,同一段行情两次加载结果不一样

原因:BACKSET是未来函数,它会根据后续K线回填标记。如果你在盘中加载公式,最后一根K线还没走完,回填结果会随价格变化。解决:只在收盘后或者K线走完后再看信号,盘中不要依赖最后一根K线的标记。我一般会在公式里加CURRBARSCOUNT>1来屏蔽最后一根K线的信号。

4.2 现象:图表上只有高点没有低点,或者反过来

原因:高保留和低保留的条件不对称,尤其是距前高天>=4和距前低天>=4这两个阈值。如果行情单边上涨,低点条件很难满足。解决:检查低保留AB里的LLV(缺口判断,距前高天)=-1是否被触发,如果行情没有向下缺口,这个条件永远为假。可以临时把缺口条件去掉,只保留周期条件。

4.3 现象:公式测试通过,但图表上不显示画线

原因:DRAWLINE和DRAWICON需要至少两个极点才能连线。如果当前图表加载的K线数量太少,或者极点保留没有输出1和-1,画线就不会出现。解决:把图表缩放到足够多的K线,至少200根以上。另外检查极点保留是否被AAAD覆盖,如果AAAD一直为0,就用高保留YX+低保留YX的输出。

4.4 现象:变量名冲突导致公式无法保存

原因:文华公式里变量名不能重复,也不能和内置函数同名。比如你定义了MA5,又定义了MA5,就会报错。解决:把所有自定义变量加前缀,比如V_MA5、V_低保留。另外注意中文变量名里不要有空格,低保留 AA要写成低保留AA。

4.5 现象:信号出现后价格继续反向走,止损被打掉

原因:这份公式识别的是“局部极点”,不是“趋势反转”。局部低点出现后,价格可能继续下跌,形成新的低点。解决:不要把极点信号当成入场信号,而是当成结构参考。我一般会结合均线或者成交量过滤,比如只在C>MA(C,20)时关注高点信号,只在C<MA(C,20)时关注低点信号。

5. 进阶用法:把极点信号改成可回测的选股条件

5.1 从画线信号到条件选股

原始公式是主图指标,输出的是画线和图标。如果你想做回测或者选股,需要把极点保留转成条件。比如低点信号出现时,输出1,否则输出0。然后把这个条件放到文华的“条件选股”里,筛选出最近出现低点信号的品种。

{低点信号条件} 低点信号:IF(极点保留=-1,1,0); {高点信号条件} 高点信号:IF(极点保留=1,1,0); {选股条件:最近3根内出现低点信号} 选股:COUNT(低点信号,3)>=1;

逻辑说明:COUNT(低点信号,3)>=1表示最近3根K线里至少出现一次低点信号。参数3可以改成5或者10,取决于你的交易频率。注意,选股条件里不能用DRAWICON和DRAWLINE,只能输出数值。

5.2 结合成交量过滤假信号

公式本身没有成交量条件,但实战中极点信号配合缩量更可靠。我一般会加一个V<MA(V,5)的条件,过滤掉放量下跌产生的低点信号。

{缩量低点信号} 缩量低点:IF(极点保留=-1 AND V<MA(V,5),1,0); {放量高点信号} 放量高点:IF(极点保留=1 AND V>MA(V,5),1,0);

参数说明:MA(V,5)是5周期均量,你可以改成10周期。缩量条件在震荡市里效果更好,在单边市里可能会漏掉信号。

5.3 验证方法:用历史数据跑一遍

把公式加载到不同品种的日线图上,从最近一年往前翻,统计低点信号出现后5根K线的涨跌情况。如果上涨概率超过55%,说明信号有参考价值;如果低于50%,说明需要调整参数或者加过滤条件。我一般会拿三个品种分别跑,避免过拟合。

验证项方法合格标准
信号密度统计每100根K线的信号数5-15个
方向准确率信号后5根K线涨跌统计>55%
最大回撤连续错误信号的最大亏损<5%

5.4 一个我踩过的坑

最早我把这份公式直接挂在5分钟图上跑,信号密密麻麻,一天能出几十个。后来发现BACKSET的回填根数在短周期上太敏感,把4改成6之后信号少了一半,但准确率明显提升。从那以后我每次拿到新公式,都强制先跑一遍不同周期的信号密度统计,再决定用哪个周期。希望这份拆解能帮你少走点弯路,把这份文档里的逻辑真正用起来。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/21 22:58:39

React实战:基于Vite和Redux Toolkit搭建任务协作看板项目

1. 项目概述&#xff1a;从一个奇怪的命名到完整的前端实战 先说个有意思的事。我第一次看到"rea"这个项目名时&#xff0c;第一反应是"Real"拼错了。后来拿到项目正文才知道&#xff0c;这是某位开发者给自己练手项目起的代号&#xff0c;全称其实是"…

作者头像 李华
网站建设 2026/10/21 22:57:26

AI证件照API落地全指南:从人像分割到服务化部署

证件照这个东西&#xff0c;听起来不复杂&#xff0c;做起来是真麻烦。无论是考试报名、简历投递、签证申请还是入职登记&#xff0c;规格要求五花八门&#xff0c;一寸、二寸、小一寸、大一寸&#xff0c;背景颜色白蓝红&#xff0c;头部占比、像素尺寸各有标准。随手翻出一张…

作者头像 李华
网站建设 2026/10/21 22:57:01

CARLA经纬度到全局俯视图像素坐标变换详解

做自动驾驶仿真&#xff0c;很多人一开始都会被CARLA里那套坐标系统绕晕。明明传感器里拿到了车辆的经度、纬度&#xff0c;地图上看位置却对不上&#xff1b;明明想画一张全局俯视图&#xff0c;结果目标框全都飞到了地图外面。我在做某跨平台系统的全局感知融合模块时&#x…

作者头像 李华
网站建设 2026/10/21 22:54:44

技能拆解与训练方法论:从模糊到精通的系统化实践

1. 从“skills”这个标题说起&#xff1a;一个被低估的硬核命题“skills”这个词&#xff0c;单独拎出来当项目标题&#xff0c;信息量其实极低。它不像“XX管理系统”或者“XX识别算法”那样自带场景&#xff0c;也不像“从零实现XX”那样自带路径。但恰恰是这种极简的标题&am…

作者头像 李华
网站建设 2026/10/21 22:52:40

Python+PyQt5+泰克示波器:自动化测试方案与实时波形刷新

简介&#xff1a;这是一份面向自动化测试初学者与仪器控制开发者的PythonPyQt5实战项目源码&#xff0c;围绕泰克MDO3014示波器展开&#xff0c;解决上位机界面实时显示波形、保存图像与读取日志的问题。资源包共16个文件&#xff0c;约139KB&#xff0c;以py主程序、ui界面文件…

作者头像 李华