Pine Script v5自定义assert库函数无报错,问题出在哪?
问题原因及解决方法
你的自定义assert库未生效的核心问题是库的overlay=true设置不合理,同时需确保脚本执行路径正确。
1. 错误的overlay参数设置
overlay=true是用于控制指标是否覆盖在K线图上的参数,你的库仅导出工具函数,完全不需要这个配置。错误的overlay设置会导致库函数的执行上下文异常,进而使得runtime.error()无法正常触发。
2. 修正后的库代码
将库的overlay参数改为false,同时简化条件判断逻辑:
//@version=5 library(title="TestLibrary", overlay=false) export assert(bool condition, string error_msg) => if not condition runtime.error(error_msg)
3. 正确的测试脚本示例
确保测试脚本正确导入库,并在正常计算路径中调用assert函数:
//@version=5 indicator("Test Assert", overlay=true) // 导入库,可使用别名简化调用 import TestLibrary as tl // 直接调用assert,触发错误 tl.assert(false, "OwnLibTestError")
补充说明
runtime.error()会立即终止脚本执行,并在编辑器底部的Console标签中输出错误信息,注意查看控制台反馈。- 确认库代码已正确保存,测试脚本使用的是最新版本的库文件。
内容的提问来源于stack exchange,提问作者FDL
相关产品推荐
相关产品推荐

