- 精华
- 0
- 在线时间
- 29 小时
- UID
- 4584
- 积分
- 251
- 帖子
- 59
- 阅读权限
- 50
- 注册时间
- 2009-6-8
- 最后登录
- 2011-1-13
- 精华
- 0
- UID
- 4584
- 积分
- 251
- 帖子
- 59
- 主题
- 21
- 阅读权限
- 50
- 注册时间
- 2009-6-8
- 最后登录
- 2011-1-13
|
有关BAR数据延续的弊病问题,就是空白无效BAR却使用最后一个有效BAR数据。
相当于最后一个有效BAR数据一直划直线,直到重新遇到有效BAR。
http://www.tradeblazer.net/forum/thread-6975-1-1.html
BAR数据延续的弊病
// 输出: 一条指标线
//------------------------------------------------------------------------
Begin
If(Data0.Close != InvalidNumeric && Data1.Close != InvalidNumeric && Data2.Close != InvalidNumeric)
{
PlotNumeric("(1Y+4M)-5A=", Data2.C + 4*Data1.C - 5*Data0.C);
}
End
//------------------------------------------------------------------------
这是很简单的大豆榨油利润计算公式,第一个语句是判断空白BAR,三个合约的BAR同时存在,才能输出数据。
但是实际使用中,这个语句根本无效,就算是Data1粕和Data2豆油的BAR是空白,仍然输出计算结果,当然计算结果是严重的错误。
同一个日期,M和Y的BAR空白,仅Data0的大豆A有BAR,我根据输出结果反推计算,使用的是最后一个M和Y的BAR,
也相当于,当M和Y的BAR没有了,那么最后一个BAR的的数据变成直线而一直继续延续,直到遇到新BAR。
最后,使用EXCEL制作的图表真实可靠。TB还要在这方面努力。
因为多个商品叠加,空白和有效BAR的判断剔除是很重要的,而TB却没有这方面的函数。
TB完全可以增加一个BAR有效的函数,比如
If(Data0.Close == 有效 && Data1.Close == Value && Data2.Close == 有效)
如何才能避免BAR数据延续这个弊病呢?????
|
|