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

如何从策略中获取自定义研究值?如何免引入源码调用公共研究/指标?

从策略中获取自定义研究的值

如果你想在策略里读取自己编写的自定义研究(指标)的计算值,按以下步骤操作:

  • 步骤1:配置自定义研究
    在你的自定义研究脚本中,确保要暴露的值被明确定义为输出变量,可选通过plot()可视化以便验证。例如:
    //@version=5
    indicator("我的自定义研究")
    // 定义要传递给策略的计算值
    my_custom_value = close * 2
    // 可选:将值可视化
    plot(my_custom_value, title="自定义输出值")
    
  • 步骤2:在策略中获取值
    在策略脚本中,使用request.security()函数读取自定义研究的输出变量。因为研究和策略属于同一标的、同一时间周期,直接传入当前标的和周期参数即可:
    //@version=5
    strategy("我的策略")
    // 获取自定义研究的计算值
    custom_value = request.security(syminfo.tickerid, timeframe.period, my_custom_value)
    // 示例:用该值触发交易
    if custom_value > close
        strategy.entry("多单", strategy.long)
    
在策略中调用公共研究/指标(无需嵌入源代码)

Trading Pine Script没有直接的ta.externalstudy()函数,但可以通过两种方式实现类似效果:

1. 调用内置公共指标

对于TradingView官方内置的指标(如RSI、MACD、SMA等),直接使用ta命名空间下的函数即可,无需复制源代码:

//@version=5
strategy("我的策略")
// 直接调用内置RSI指标
rsi_value = ta.rsi(close, 14)
// 用RSI值做交易判断
if rsi_value < 30
    strategy.entry("多单", strategy.long)

2. 调用社区发布的公共指标

如果你想用社区分享的第三方公共指标,按以下方式操作:

  • 获取指标脚本ID:打开该指标的TradingView页面,从URL中提取脚本ID(例如https://www.tradingview.com/script/ABC123-第三方指标/中的ABC123-第三方指标)。
  • 在策略中加载指标:使用indicator()函数直接加载该指标,然后读取其输出值:
    //@version=5
    strategy("我的策略")
    // 加载第三方公共指标,无需复制源代码
    third_party_ind = indicator("ABC123-第三方指标", overlay=false)
    // 获取指标的最新输出值
    ind_value = third_party_ind[0]
    // 使用指标值执行策略逻辑
    if ind_value > ta.sma(close, 20)
        strategy.exit("平仓多单")
    
  • 若需跨周期调用,可使用request.security()函数:
    //@version=5
    strategy("我的策略")
    // 读取1小时周期的第三方指标值
    ind_value_h1 = request.security(syminfo.tickerid, "60", third_party_ind[0])
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 23:30:49