开拓者期货期权程序化系统交易论坛

标题: BAR数据延续的弊病 [打印本页]

作者: NEW青年    时间: 2010-2-17 22:29:11     标题: 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数据延续这个弊病呢?????
[attach]2779[/attach]

[ 本帖最后由 NEW青年 于 2010-2-18 13:50 编辑 ]
作者: yangtse010    时间: 2010-2-20 12:53:48

用DataHistoryExist 尝试下
作者: NEW青年    时间: 2010-2-20 23:46:02

If(Data0.HistoryDataExist == True)
{
}
以及
If(Data0.HistoryDataExist != False)
{
}
仍然是老故障,
调换了TURE与FALSE就不输出指标线了。
这表明延续的BAR数据,被软件认为是有效的。
作者: NEW青年    时间: 2010-2-22 14:12:56

各种方法用尽,仍然不行,从管理员不敢出来解释就能明白,这属于软件的设计缺陷。
作者: NEW青年    时间: 2010-2-23 15:16:27

应当做出官方解释,确是软件设计缺陷,我就耐心等待新版本推出,不再牵挂此事。




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2