【问题标题】:Do you have an example code for pinescript str.split() function?你有 pinescript str.split() 函数的示例代码吗?
【发布时间】:2022-07-02 11:29:10
【问题描述】:

有人有 pine 脚本str.split() 函数的示例代码吗? 该功能不像java脚本那样工作。它返回一个“字符串系列”类型,似乎没有办法在 pine 脚本中定义一系列字符串。提前谢谢你。

【问题讨论】:

    标签: pine-script


    【解决方案1】:

    str.split() 不返回“一系列字符串”。
    它返回 array 字符串的 id。

    这个例子会很清楚。

    //@version=5
    indicator("My Script", overlay=true)
    
    var string      myString        = 'my example text'
    var string      separator_none  = ''
    var string      separator_space = ' '
    
    
    if barstate.islast
        array1 = str.split(myString, separator_none)    // no split character, so each letter in the string will be an element in the array
        array2 = str.split(myString, separator_space)   // split by space character so there will be 3 elements in the array
        
        var string labelText = na
        labelText := 'str.length(myString) = ' + str.tostring(str.length(myString))
        labelText += '\narray.size(array1) = ' + str.tostring(array.size(array1))
        labelText += '\nContent of array1 = '  + str.tostring(array1)
        labelText += '\narray.size(array2) = ' + str.tostring(array.size(array2))
        labelText += '\nContent of array2 = '  + str.tostring(array2)
        
        label.new(bar_index, close, labelText, style=label.style_label_left, textalign=text.align_left)
    

    产量

    【讨论】:

    • 谢谢,实际上当我想绘制该字符串数组时,错误消息会上升并说它是“字符串系列”。例如:c=str.tostring(close) plotchar(ta.ema (close,200),title="close",char=c)
    • 是的,因为c 在每个柱上都会发生变化,它是一个“字符串系列”,但plotchar() 需要char 参数的常量。如果您需要在图表上放置更改文本,则应使用标签来完成。请参阅参考手册中的Labels
    【解决方案2】:

    这将在最后一个栏的标签上返回“hello”

    if barstate.islast
        txt = "hello,there"
        label.new(x=bar_index, y=low, text=array.get(str.split(txt, ","),0))
    

    【讨论】:

      猜你喜欢
      • 2018-05-21
      • 2017-03-12
      • 1970-01-01
      • 1970-01-01
      • 2010-10-30
      • 1970-01-01
      • 2021-09-05
      • 2014-03-01
      • 2021-03-02
      相关资源
      最近更新 更多