PineScript 的条件表述?
PineScript formulation of condition?
假设我有 3 个条件,如果满足其中 2 个条件,我想执行一些操作。有几个组合,比如 3,解决方案可能是这样的:
c1=...
c2=...
c3=...
if (c1==true and c2==true) then
elseif (c1==true and c3==true) then
elseif (c2==true and c3==true) then
这不是很实用,比如说,有 100 个条件,其中 90 个应该满足。
在 PineScript 中有没有更紧凑的实现方式?
如果您将条件的布尔值 true/false
表示为 1/0
整数,您可以计算它们以查看有多少为真。
我能想到的最短的方法是将它们放在一个数组中,然后计算该数组的总和。
//@version=5
indicator("My Script")
var int c0 = 1
var int c1 = 0
var int c2 = 1
var int c3 = 1
var int c4 = 1
var int c5 = 0
var int c6 = 0
var int c7 = 1
var int c8 = 1
var int c9 = 1
var int[] a = array.from(c0,c1,c2,c3,c4,c5,c6,c7,c8,c9)
mySum = array.sum(a)
plot(mySum)
假设我有 3 个条件,如果满足其中 2 个条件,我想执行一些操作。有几个组合,比如 3,解决方案可能是这样的:
c1=...
c2=...
c3=...
if (c1==true and c2==true) then
elseif (c1==true and c3==true) then
elseif (c2==true and c3==true) then
这不是很实用,比如说,有 100 个条件,其中 90 个应该满足。 在 PineScript 中有没有更紧凑的实现方式?
如果您将条件的布尔值 true/false
表示为 1/0
整数,您可以计算它们以查看有多少为真。
我能想到的最短的方法是将它们放在一个数组中,然后计算该数组的总和。
//@version=5
indicator("My Script")
var int c0 = 1
var int c1 = 0
var int c2 = 1
var int c3 = 1
var int c4 = 1
var int c5 = 0
var int c6 = 0
var int c7 = 1
var int c8 = 1
var int c9 = 1
var int[] a = array.from(c0,c1,c2,c3,c4,c5,c6,c7,c8,c9)
mySum = array.sum(a)
plot(mySum)