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

如何将脚本转换为Pine Script v4/v5并在TradingView发布

Pine Script v5 转换后的时区标记脚本

下面是转换好的Pine Script v5版本代码,同时修正了旧版本里的语法问题,适配TradingView的最新规则:

//@version=5
indicator("时区杀区与警报栏标记", overlay=true)

// **** 复选框与自定义时段设置
iKZNY = input.bool(true, title="纽约杀区")
iOpenKZLondon = input.bool(true, title="伦敦开盘杀区")
iCloseKZLondon = input.bool(true, title="伦敦收盘杀区")
iAsiaKZ = input.bool(true, title="亚洲杀区")

KZNY = input.session('1230-1430', title="纽约杀区时段")
LondonOpenKZ = input.session('0600-1000', title="伦敦开盘杀区时段")
LondonCloseKZ = input.session('1500-1700', title="伦敦收盘杀区时段")
AsiaKZ = input.session('2300-0300', title="亚洲杀区时段")

iRealOpenSessionAlertBar = input.bool(true, title="真实开盘警报栏")
NYOpenAlertBar = input.session('1330-1345', title="纽约开盘警报时段")
LondonOpenAlertBar = input.session('0700-0715', title="伦敦开盘警报时段")
LondonCloseAlertBar = input.session('1545-1600', title="伦敦收盘警报时段")
AsiaOpenAlertBar = input.session('0000-0015', title="亚洲开盘警报时段")

// **** 逻辑判断
sessToUse = iKZNY ? KZNY : '0000-0000'
sessToUse2 = iRealOpenSessionAlertBar ? NYOpenAlertBar : '0000-0000'
sessToUse3 = iOpenKZLondon ? LondonOpenKZ : '0000-0000'
sessToUse4 = iRealOpenSessionAlertBar ? LondonOpenAlertBar : '0000-0000'
sessToUse5 = iCloseKZLondon ? LondonCloseKZ : '0000-0000'
sessToUse6 = iRealOpenSessionAlertBar ? LondonCloseAlertBar : '0000-0000'
sessToUse7 = iAsiaKZ ? AsiaKZ : '0000-0000'
sessToUse8 = iRealOpenSessionAlertBar ? AsiaOpenAlertBar : '0000-0000'

// *** 应用自定义规则
bgPlot = iKZNY ? time(timeframe.period, sessToUse) : time(timeframe.period)
bgPlot2 = iRealOpenSessionAlertBar ? time(timeframe.period, sessToUse2) : time(timeframe.period)
bgPlot3 = iOpenKZLondon ? time(timeframe.period, sessToUse3) : time(timeframe.period)
bgPlot4 = iRealOpenSessionAlertBar ? time(timeframe.period, sessToUse4) : time(timeframe.period)
bgPlot5 = iCloseKZLondon ? time(timeframe.period, sessToUse5) : time(timeframe.period)
bgPlot6 = iRealOpenSessionAlertBar ? time(timeframe.period, sessToUse6) : time(timeframe.period)
bgPlot7 = iAsiaKZ ? time(timeframe.period, sessToUse7) : time(timeframe.period)
bgPlot8 = iRealOpenSessionAlertBar ? time(timeframe.period, sessToUse8) : time(timeframe.period)

//**** 绘制背景色
bgcolor(iKZNY and bgPlot > 0 ? color.red : na, transp=90)
bgcolor(iKZNY and iRealOpenSessionAlertBar and bgPlot2 > 0 ? color.red : na, transp=70)
bgcolor(iOpenKZLondon and bgPlot3 > 0 ? color.green : na, transp=90)
bgcolor(iOpenKZLondon and iRealOpenSessionAlertBar and bgPlot4 > 0 ? color.green : na, transp=70)
bgcolor(iCloseKZLondon and bgPlot5 > 0 ? color.olive : na, transp=90)
bgcolor(iCloseKZLondon and iRealOpenSessionAlertBar and bgPlot6 > 0 ? color.olive : na, transp=70)
bgcolor(iAsiaKZ and bgPlot7 > 0 ? color.orange : na, transp=90)
bgcolor(iAsiaKZ and iRealOpenSessionAlertBar and bgPlot8 > 0 ? color.orange : na, transp=70)

关键修改说明

  • 改用v5标准声明头//@version=5,添加indicator()函数指定脚本名称与叠加属性
  • 替换旧版input语法:用input.bool()定义复选框,input.session()定义时段输入,符合v5类型系统
  • 布尔值判断简化:直接用变量(如iKZNY)代替iKZNY ==1,避免类型不匹配错误
  • 时间函数参数更新:用timeframe.period替换旧版period,适配v5时间周期规范
  • 颜色常量前缀修正:所有颜色添加color.前缀(如color.red),符合v5颜色调用规则
  • 移除未使用的timeinrange函数,精简代码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 18:40:56