0

函数 BarsSince() 将返回自 ARRAY 第一次出现条件为真(或 1)为真(或 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

4

1 回答 1

1

您可能想查看Valuewhen

因此,您可以执行以下操作:

bi = ValueWhen(arr_test > 0, BarIndex(), "nth occurence - 0 is the latest");
bars_since = LastValue(Close) - bi;

在这里,我只是使用 LastValue 来获取整个价格系列的最后一个条码。这是未经测试的,但你应该明白。

于 2019-05-27T15:38:07.980 回答