pine 脚本如何在每个 session 开始时将 barssince 重置为零
pine script how to reset barssince to zero at the beginning of every session
我希望在蜡烛满足以下条件后跟踪柱数:
交易量 > 3x sma(交易量)
我正在为此目的使用 barssince。但是我不想把这个值转到第二天的 session
有什么方法可以使用 barssince
谢谢
代码:
strategy(title="Test", overlay=true)
var highvolbar=0
VolLen = input(title="Vol MA Length", type=input.integer, defval=50)
sess = input(defval = "0915-1530", title="Trading Session")
t = time(timeframe.period, sess)
sessionOpen = na(t) ? false : true
if(sessionOpen)
smavolcompare = volume > 3 * sma(volume,VolLen)
highvolbar := barssince(smavolcompare)
last_bar = timestamp(year, month, dayofmonth + 1, 15, 15, 0) == time_close
if (last_bar)
highvolbar:=0
plot(highvolbar)
我希望 highvolbar 在每个 session
结束时重置为 0
这里我们用 var
声明 highvolbar
变量以使其持久化并手动跟踪计数,而不使用 barsince()
:
//@version=4
strategy(title="Test")
var int highvolbar=na
VolLen = input(title="Vol MA Length", type=input.integer, defval=50)
sess = input(defval = "0915-1530", title="Trading Session")
t = time(timeframe.period, sess)
sessionOpen = not na(t)
newSession = sessionOpen and not sessionOpen[1]
smavolcompare = volume > 3 * sma(volume,VolLen)
if newSession
// Reset.
highvolbar := na
if smavolcompare
// Begin count.
highvolbar := 0
else if not na(highvolbar)
// A count is happening; increment it.
highvolbar := highvolbar + 1
last_bar = timestamp(year, month, dayofmonth + 1, 15, 15, 0) == time_close
if (last_bar)
highvolbar:=0
plot(highvolbar)
我希望在蜡烛满足以下条件后跟踪柱数:
交易量 > 3x sma(交易量)
我正在为此目的使用 barssince。但是我不想把这个值转到第二天的 session
有什么方法可以使用 barssince
谢谢
代码:
strategy(title="Test", overlay=true)
var highvolbar=0
VolLen = input(title="Vol MA Length", type=input.integer, defval=50)
sess = input(defval = "0915-1530", title="Trading Session")
t = time(timeframe.period, sess)
sessionOpen = na(t) ? false : true
if(sessionOpen)
smavolcompare = volume > 3 * sma(volume,VolLen)
highvolbar := barssince(smavolcompare)
last_bar = timestamp(year, month, dayofmonth + 1, 15, 15, 0) == time_close
if (last_bar)
highvolbar:=0
plot(highvolbar)
我希望 highvolbar 在每个 session
结束时重置为 0这里我们用 var
声明 highvolbar
变量以使其持久化并手动跟踪计数,而不使用 barsince()
:
//@version=4
strategy(title="Test")
var int highvolbar=na
VolLen = input(title="Vol MA Length", type=input.integer, defval=50)
sess = input(defval = "0915-1530", title="Trading Session")
t = time(timeframe.period, sess)
sessionOpen = not na(t)
newSession = sessionOpen and not sessionOpen[1]
smavolcompare = volume > 3 * sma(volume,VolLen)
if newSession
// Reset.
highvolbar := na
if smavolcompare
// Begin count.
highvolbar := 0
else if not na(highvolbar)
// A count is happening; increment it.
highvolbar := highvolbar + 1
last_bar = timestamp(year, month, dayofmonth + 1, 15, 15, 0) == time_close
if (last_bar)
highvolbar:=0
plot(highvolbar)