Pine Script实现仅在最后K线单次打印日志异常问题求助
Pine Script日志仅在最后一根K线打印一次的问题
我在Pine Script里遇到问题:希望日志仅在最后一根K线打印一次,但实际表现不符合预期。
符合预期的代码
以下代码表现符合预期,日志在第一根K线打印一次后停止:
var bool logged = false if not logged logged := true log.warning("bar_index: {0}, logged: {1}", bar_index, logged)
不符合预期的代码
但使用以下代码时,日志持续打印,达不到仅在最后一根K线打印一次的预期:
var bool logged = false if not logged and barstate.islast logged := true log.warning("bar_index: {0}, logged: {1}", bar_index, logged)
尝试过的其他写法
我尝试了多种写法,均无效,日志仍在每次实时数据更新时输出:
- 写法1:
var logged = false if not logged and barstate.isrealtime logged := true log.warning("bar_index: {0}, logged: {1}", bar_index, logged)
- 写法2:
var logged = false if not logged[1] and barstate.islast logged := true log.warning("bar_index: {0}, logged: {1}", bar_index, logged)
- 写法3:
var int last_logged_index = -1 if barstate.islast and bar_index != last_logged_index last_logged_index := bar_index log.warning("bar_index: {0}", bar_index)
- 写法4:
var int last_logged_index = -1 if barstate.islast and barstate.isrealtime and bar_index != last_logged_index last_logged_index := bar_index log.warning("bar_index: {0}", bar_index)
更新内容
感谢回复,但问题仍未解决:
- 以下代码仍仅在第一根历史K线打印一次日志:
var logged = false if not logged and barstate.isconfirmed logged := true log.warning("bar_index: {0}, logged: {1}", bar_index, logged)
- 以下代码完全无日志输出:
var logged = false if not logged and barstate.isrealtime and barstate.isconfirmed logged := true log.warning("bar_index: {0}, logged: {1}", bar_index, logged)
内容的提问来源于stack exchange,提问作者Rostfrei
相关产品推荐
相关产品推荐

