我发现我用于文华财经的程序不能在金狐和金字塔中正常运行。仔细研究后发现问题主要是由于barslast函数的差异造成的。 在文华中,barslast返回满足条件的除了当前K线以外的最近K线距当前K线的计数; 在金字塔(金狐也一样)中,barslast返回满足条件的包含当前K线在内的最近K线距当前K线的计数。 也就是说,在当前K线满足条件时,文华的barslast和金字塔的barslast返回值不同。 为便利文华用户的顺利评议,建议增加一个wh_barslast函数,该函数与文华的barslast函数完全兼容。
你再仔细观察一下,“在金字塔(金狐也一样)中,barslast返回满足条件的包含当前K线在内的最近K线距当前K线的计数。”这句话有误。 如果是这样的话当然有办法解决,用REF(BARSLAST(),1)
经测试,文华的 barslast(x) 等价于就金字塔的 barslast(ref(x,1))+1 尽管如此还是建议金字塔增加一个与文华barslast完全兼容的函数,原因是 1) 当文化的程序向金字塔移植时,barslast改写改写成 barslast(ref(x,1))+1,程序的可读性大为降低,特别当x是一个表达式的时候; 2) 如果有完全兼容的函数,只需copy paste就能快速完成关于barslast的转换。