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

如何为不同货币对设置独立的price.input参数?

解决Pine Script输入参数跨货币对同步的问题

问题根源是Pine Script默认的input参数为全局共享状态——同一个脚本在不同货币对图表使用时,参数修改会同步到所有关联图表。要实现每个货币对保留独立的PRICE参数,你可以用字典存储各品种的独立参数值,具体修改如下:

修改后的完整代码

indicator("2 Candle Continuation", overlay = true)

// 初始化全局字典,存储每个货币对的价格参数
var dict priceDict = dict.new(string, float)
// 获取当前货币对的唯一标识ticker
currentTicker = syminfo.ticker
// 从字典中读取当前货币对的价格,无记录则用0作为默认值
defaultPrice = dict.get(priceDict, currentTicker, 0.0)

// 创建价格输入框,默认值为字典中存储的当前货币对价格
PRICE = float(input.price(defval=defaultPrice, title='SELECT PRICE', confirm=true))

// 如果输入值发生变化,更新字典中对应货币对的记录
if PRICE != defaultPrice
    dict.set(priceDict, currentTicker, PRICE)

// 以下为原逻辑代码,无需修改
openBarPrevious = open[1]
closeBarPrevious = close[1]
openBarCurrent = open
closeBarCurrent = close

UP_CONTINUATION = (closeBarPrevious > openBarPrevious ) and (closeBarCurrent > openBarCurrent) and (openBarCurrent >= closeBarPrevious) and (closeBarPrevious > PRICE)

DOWN_CONTINUATION = (closeBarPrevious < openBarPrevious ) and (closeBarCurrent < openBarCurrent) and (closeBarCurrent <= openBarPrevious) and (openBarPrevious < PRICE)

UP_BAR_COLOUR = if UP_CONTINUATION == true
    color.rgb(0, 255, 0)

DOWN_BAR_COLOUR = if DOWN_CONTINUATION == true
    color.purple

barcolor(color=UP_BAR_COLOUR,show_last = 10)
barcolor(color=DOWN_BAR_COLOUR,show_last = 10)

alertcondition(UP_CONTINUATION, title = "2 CANDLE UP", message = '[CurrencyPair], 2 CANDLE UP')
alertcondition(DOWN_CONTINUATION, title = "2 CANDLE DOWN", message = "[CurrencyPair], 2 CANDLE DOWN")

核心逻辑说明

  1. 全局字典存储:用var声明的字典会在脚本运行时持续存在,不会随K线刷新重置,专门用来保存每个货币对的PRICE参数。
  2. 货币对唯一标识:通过syminfo.ticker获取当前图表的货币对标识,作为字典的键,确保每个品种的参数独立存储、互不干扰。
  3. 参数读取与更新:打开图表时从字典中读取对应货币对的历史参数作为输入框默认值;修改参数后自动更新字典中的记录,下次打开该货币对图表时会直接加载保存的值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 21:05:16