You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pine Script自定义星期高亮遇类型转换错误求助(附代码)

问题原因

你的代码报错是因为类型不匹配:

  • Pine Script 内置的 dayofweek 返回的是数值类型(0=周日, 1=周一, 2=周二, 3=周三, 4=周四, 5=周五, 6=周六)
  • 你自定义的 days 枚举是字符串类型,直接用 == 比较数值和字符串会触发类型转换错误
解决方案

提供两种可行方案,选一种即可:

方案1:将自定义枚举改为数值型(推荐,效率更高)

把枚举值改成对应 dayofweek 的数值,直接比较数值就不会有类型问题:

enum days
    monday = 1
    tuesday = 2
    wednesday = 3
    thursday = 4
    friday = 5

aDay = input.enum(days.monday, 'Day', group = 'A')
bgcolor((dayofweek == aDay) ? color.rgb(0, 0, 0, 75) : na, title = "A")

方案2:把dayofweek转换为字符串再比较

用 dayofweek.str() 函数将数值型的 dayofweek 转换成字符串,再和自定义枚举的字符串值比较:

enum days
    monday = "Monday"
    tuesday = "Tuesday"
    wednesday = "Wednesday"
    thursday = "Thursday"
    friday = "Friday"

aDay = input.enum(days.monday, 'Day', group = 'A')
bgcolor((dayofweek.str(dayofweek) == aDay) ? color.rgb(0, 0, 0, 75) : na, title = "A")
补充说明
  • 方案1直接用数值比较,性能更优;方案2更直观,和你最初的字符串枚举逻辑一致
  • 注意 Pine Script 中 dayofweek 的数值对应关系:0=周日,1=周一,以此类推,别搞混对应数值

内容的提问来源于stack exchange,提问作者Whip

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 16:13:12