指标公式——飞狐公式:如何使买入信号、卖出信号一一对应--股票

飞狐公式:如何使买入信号、卖出信号一一对应

在设计公式时,我们经常遇到这样的问题,如何使买卖信号一一对应?
比如下面的代码:
input:n(26,5,300),p(2,0.1,10);
close;
mid :ma(close,n);
upper: mid + p*std(close,n);
lower: mid - p*std(close,n);
tjb:=cross(close,lower);
tjs:=cross(upper,close);
drawicon(tjb,close,4);
drawicon(tjs,close,5);
图示如下,可以看出,买入信号连续发出多次后,才出现卖出信号,卖出信号连续发出多次后,才发出买入信号。

[图]

如何过滤连续的买入、卖出信号,使买入后只要没有发出卖出信号,就不再发出买入信号;同样,卖出后只要没有出现买入信号,就不再发出卖出信号。即买入、卖出信号一一对应。
容易想到的是使用过滤函数filter(),但这个函数是难以实现的,因为未来有多少个连续的买入(或卖出)信号是未知的。
另一种方法是,从前一次卖出(或买入)信号开始累加买入(或卖出)信号,如果累加次数等于1,则发出真正的买入(或卖出)信号。
但这里还有一个问题,如果首次信号是卖出信号的话,也应该过滤,因为没有买入哪来卖出?应让首次信号是买入信号才合理。方法是,在第1根K线的位置,虚拟一个卖出信号。
以下是实现上述想法的常规函数代码:
input:n(26,5,300),p(2,0.1,10);
close;
mid :ma(close,n);
upper: mid + p*std(close,n);
lower: mid - p*std(close,n);
//以下为常规函数处理代码//
tjb:=cross(close,lower);//初始买入信号,可换成其它任意买入条件
tjs:=cross(upper,close);//初始卖出信号,可换成其它任意卖出条件
{以下代码,使买、卖信号一一对应}
tsb:=barssince(tjb);
tss:=barssince(tjs);
if tjs[datacount] a:=setlbound(tjs,1);
tjs:=tjs or barpos=1;
end;
tjbuy:=count(tjb,barslast(tjs))=1 and tjb;//买入信号
tjsell:=count(tjs,barslast(tjb))=1 and tjs; //卖出信号
drawicon(tjbuy,low,4);
drawicon(tjsell,high,5);
图示如下:

[图]
点赞 0 次 · 收藏 0 次 已复制本页地址,可粘贴到书签收藏

AI 评论

文章关键词:飞狐公式

核心观点归纳

本文的核心观点可归纳为:

  • 另一种方法是,从前一次卖出(或买入)信号开始累加买入(或卖出)信号,如果累加次数等于1,则发出真正的买入(或卖出)信号
  • 但这里还有一个问题,如果首次信号是卖出信号的话,也应该过滤,因为没有买入哪来卖出
  • 方法是,在第1根K线的位置,虚拟一个卖出信号

技术要点补充

飞狐公式:该词在本文中为核心主题,具体含义可结合文中语境理解。

AI 研判

综合来看,本篇以「飞狐公式」「飞狐公式」为主要分析线索,属于指标公式范畴,实证数据与案例较多;其价值集中在上述两个层面的实操认知,可结合自身持仓与当前行情对照验证。

时效性

未标注发布时间,时效性无法直接核实,建议结合当前市场环境验证。

本评论由 AI 基于文章正文自动生成(关键词/观点提取 + 术语补充),仅供学习研究参考,不构成任何投资建议。

"