使用Pine Logs来debug您的Pine Script®代码

Aug 29, 2023

使用我们的新log.*()函数将您的Pine Script® debug提升到另一个水平,该函数会在脚本执行时在新的Pine日志窗格中显示文本。 三个新的日志记录功能是:

  • log.error() 创建以红色显示的“错误”类型消息。
  • log.info() 创建以灰色显示的“信息”类型的消息。
  • log.warning() 创建以橙色显示的“警告”类型的消息。

您可以通过从编辑器的“更多”菜单中选择“Pine Logs…”,或者从图表上加载的脚本的“更多”菜单(如果该脚本使用log.*()函数)来查看Pine日志。

Pine Logs 在任何地方都可以工作:在历史K线上、实时、以及回放模式。可以从任何类型的脚本(指标、策略或库)以及脚本中的任何位置调用日志记录函数,包括本地块、循环以及从内部request.security()和类似函数。 您可以通过两种方式调用日志记录函数:仅使用字符串参数,或以str.format()方式使用格式化字符串和值列表。

使用日志的脚本必须是个人脚本;私密或公开发布的脚本无法生成日志,即使它们包含对log.*()函数的调用。

以下代码示例使用所有三个日志记录函数:

//@version=5
indicator("Pine Logs")
if barstate.ishistory
    if bar_index % 100 == 0
        log.warning("\nBar index: {0,number,#}", bar_index)
else
    // Realtime bar processing.
    varip lastTime = timenow
    varip updateNo = 0
    if barstate.isnew
        updateNo := 0
        log.error("\nNew bar")
    else
        log.info("\nUpdate no: {0}\nclose: {1}\nSeconds elapsed: {2}", updateNo, close, (timenow - lastTime) / 1000)
        updateNo += 1
    lastTime := timenow
plot(timenow)

该示例使用橙色警告消息显示每一百根历史K线的K线索引。它会实时为每根新K线显示一条红色错误消息,并且对于每个实时更新,它都会创建一条灰色信息消息,显示更新编号、close价以及自上次图表更新以来经过的时间。

要查看Pine Logs的运行情况:

  1. 将上述代码示例保存到个人脚本中,并将其添加到具有活跃市场的图表中。
  2. 使用编辑器的“更多”菜单,或图表上指标的“更多”菜单打开“Pine Logs”窗格。

每个日志条目前面都有一个时间戳。对于历史K线,它是K线的开盘time;对于实时消息,它是当前时间。较新的消息出现在窗格底部。历史K线仅显示最后10,000条消息; 实时消息附加到这些消息上。

窗格顶部包含允许您启动/停止日志记录、指定开始日期、按消息类型过滤日志以及搜索日志的图标。搜索字段包含一个子菜单,允许您匹配大小写、整个单词并使用正则表达式。

当您将鼠标悬停在日志消息上时,会出现图标,允许您查看生成该消息的源代码或跳转到相应的图表栏:

当图表上的多个脚本使用日志时,每个脚本都会保留自己的一组消息。您可以使用Pine Logs窗格顶部的下拉菜单在每个脚本的日志之间切换:

要了解最新的Pine Script®功能,请关注用户手册的发行说明PineCoders帐户还通过Telegram上的Squawk BoxTwitter帐户以及TradingView上的Pine Script® Q&A公共聊天广播更新。

我们希望您发现这个备受期待的功能像我们认为的那样有用,并请继续向我们发送您的反馈和建议,以便我们成为最好的平台。我们为您打造TradingView,始终渴望听到您的想法。

— TradingView团队


 

还没有关注我们的中文微信公众号?快来扫二维码吧!

Look first Then leap

TradingView专门为您而打造,请确保您充分利用我们出色的功能
开启图表