函数BarsSince()将返回自第一次出现条件为true以来,ARRAY为true(或1)以来经过的柱线(时间段)。 https://www.amibroker.com/guide/afl/barssince.html
例如,我有一个像这样的数组;
arr_test = [1 0 0 0 1 0 0 1 0 0 1 0 0];
BarsSince(arr_test)将返回3,因为这是第一次出现1。
如果我想找出第n次出现真实条件所经过的小节数怎么办?作为说明,我想具有这样一个功能
BarsSince_N(arr_test, n=2)
将返回6。
谢谢。
我正在使用Amibroker ver6.30.5
答案 0 :(得分:1)
您可能想看看Valuewhen。
因此,您可以执行以下操作:
bi = ValueWhen(arr_test > 0, BarIndex(), "nth occurence - 0 is the latest");
bars_since = LastValue(Close) - bi;
在这里,我只是使用LastValue来获取整个价格系列的最后一个条形码。这未经测试,但是您应该知道。