Pine script 我想要一个交叉使条件为真,直到另一个交叉使其为假

Pine script 我想要一个交叉使条件为真,直到另一个交叉使其为假,pine-script,Pine Script,我很难弄明白这一点 基本上,我有一个指标,我试图为看涨和看跌创造条件 组成部分是一个通道和一个移动平均线,我想让交叉点(sma,下界)使看涨条件变为真,直到移动平均线在上界上方交叉,让看跌条件在交叉点下方变为真(sma,上界) 我尝试了几种不同的方法,但最终的结果是,看涨的情况只发生在交叉杆上,并且不会持续到交叉杆下方 TLDR我需要设置一个一次性条件(交叉)打开一个状态并继续,直到另一个交叉关闭它 提前感谢您需要使用一个var声明的变量,该变量跨条持续存在,直到更改为止。像这样: var bo

我很难弄明白这一点

基本上,我有一个指标,我试图为看涨和看跌创造条件

组成部分是一个通道和一个移动平均线,我想让交叉点(sma,下界)使看涨条件变为真,直到移动平均线在上界上方交叉,让看跌条件在交叉点下方变为真(sma,上界)

我尝试了几种不同的方法,但最终的结果是,看涨的情况只发生在交叉杆上,并且不会持续到交叉杆下方

TLDR我需要设置一个一次性条件(交叉)打开一个状态并继续,直到另一个交叉关闭它


提前感谢

您需要使用一个
var
声明的变量,该变量跨条持续存在,直到更改为止。像这样:

var bool bullish = false

bull_start = crossover(sma, lower_bound)
bull_stop = crossover(sma, upper_bound)

if bull_start
    bullish := true
else if bull_stop
    bullish := false

你是救命恩人。非常感谢你,这让我发疯,我知道我忘记了一些简单的事情。我对编程真的很陌生,但我已经做了很长时间的技术分析,并涉足quant。再次感谢。