分析家公式网,提供指标公式,股票软件 用户登录  |  用户 注册

软件名称:[B]关于如何过滤连续信号专贴[/B]
软件类型:国产软件
运行环境:Win2000/WinXP/Win2003/WinVista
软件语言:简体中文
授权方式:共享软件
软件大小:2.00 KB
官方主页:Home Page
更新时间:2011-12-07 02:52:04
软件简介:

如何过滤连续的买入、卖出信号,使买入后只要没有发出卖出信号,就不再发出买入信号;同样,卖出后只要没有出现买入信号,就不再发出卖出信号。即买入、卖出信号一一对应。
  容易想到的是使用过滤函数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]<tjb[datacount] then begin
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);


这个过滤方法很好,不知道有没有高人转成通达信的。

 

交易系统信号过滤问题,如何避免连续信号
{rh为原来的入货条件,ch为原来出货条件}
{多头买入} enterlong: count(rh,barslast(ch))=1 and rh;
{多头卖出} exitlong: count(ch,barslast(rh))=1 and ch;


[url=http://www.70822.com/soft/sort013/sort02/down-41754.html]关于如何过滤连续信号专贴[/url]

关于本站 | 网站帮助 | 广告合作 | 声明 | 友情连接 | 网站地图 |
分析家公式网声明:本站所有股票公式软件资料均网上公开收集,如侵权请联系删帖。站内所有广告,均与本站无关!
Copyright © 2003-2024 70822.Com. All Rights Reserved .
页面执行时间:62.01172 毫秒