博杰股份(002975) 股票行情
基金开户 2020-11-17 14:14基金知识www.xyhndec.cn
|
博杰股份(002975) 股票行情
在设计公式时,我们经常遇到这样的问题,如何使买卖信号一一对应?
比如下面的代码
input:n(26,5,300),p(2,0.1,10);
close;
mid : ma(close,n);
upper: mid + pstd(close,n);
loer: mid - pstd(close,n);
tjb:=cross(close,loer);
tjs:=cross(upper,close);
draicon(tjb,close,4);
draicon(tjs,close,5);
图示如下,可以看出,买入信号连续发出多次后,才出现卖出信号,卖出信号连续发出多次后,才发出买入信号。 容易想到的是使用过滤函数filter(),但这个函数是难以实现的,因为未来有多少个连续的买入(或卖出)信号是未知的。
另一种方法是,从前一次卖出(或买入)信号开始累加买入(或卖出)信号,如果累加次数等于1,则发出真正的买入(或卖出)信号。
但这里还有一个问题,如果信号是卖出信号的话,也应该过滤,因为没有买入哪来卖出?应让信号是买入信号才合理。方法是,在第1根K线的位置,虚拟一个卖出信号。
以下是实现上述想法的常规函数代码
input:n(26,5,300),p(2,0.1,10);
close;
mid : ma(close,n);
upper: mid + pstd(close,n);
loer: mid - pstd(close,n);
//以下为常规函数处理代码//
tjb:=cross(close,loer);//初始买入信号,可换成其它任意买入条件
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; //卖出信号
draicon(tjbuy,lo,4);
draicon(tjsell,high,5);
|
上一篇:亿利达(002686) 股票股价 下一篇:至纯科技(603690) 股票股价
基金交易
- 基金贴水率高低(基金回撤率)
- 可转债转股股票是增发的吗(可转债转股步骤)
- 国债的稳定性受哪些因素影响(影响国债规模的因素有哪些)
- 文明现代化价值投资与中国在线阅读(中国投资论坛)
- 基金中的基金又叫(基金是什么)
- 军工概念排行榜-军工概念走势活跃!
- 国海证券实力怎么样(国海证券合并传闻2020)
- 杭州宋城股票代码(宋城股份股票)
- 603030最低多少钱(603030诊股)
- 中天城投股吧最新评论(中天股份股票行情)
- 基金代码a和c的区别(c类基金为什么不能长期持有)
- 发改委:明年起全面放开食盐价格 价格由企业确定
- 河北电缆上市公司有哪些(中国十大电缆上市公司)
- 券商到信托(券商信托代码)
- 大飞机概念当天上涨0.2% 主力资金净流入-7981.25万元
- 按定额5元征收印花税的有(印花税核定征收的条件)