pinescript — ожидается ошибка простой строки: как вызвать защиту с помощью элемента массива строк?

#pine-script #pinescript-v5

#сосна-сценарий #pinescript-v5

Вопрос:

Я пытаюсь упростить свой код, используя массив для хранения значений тикера. Однако, когда я вызываю функцию безопасности, используя элемент этого массива в качестве аргумента символа, я получаю ошибку:

 Cannot call 'request.security' with argument 'symbol'='ticker'. An argument of 'series string' type was used but a 'simple string' is expected  

Вот как выглядит код

 period = timeframe.period arr = str.split("FB AAPL TSLA MSFT AMZN NFLX GOOG NVDA", " ") for i = 0 to array.size(arr) -1   ticker = array.get(arr, i)  series = request.security(ticker, period)  plot(series)  

Кто-нибудь знает рекомендуемый способ справиться с этим?

Ответ №1:

Вы не можете этого сделать из-за правил кастинга. str.split() возвращается series string , и вы не можете бросить это simple string .

введите описание изображения здесь

Вы должны вызывать security() функцию отдельно для каждого тикера.

Комментарии:

1. вы имеете в виду, что я должен жестко кодировать тикеры один за другим one..no способ циклического перебора общей структуры данных, такой как массив, содержащий строки? Я попытался создать «input_string» из элементов массива … похоже, та же ошибка.

2. К сожалению, да. Кроме того, вы не можете использовать plot() в локальной области, поэтому ваш код все равно не будет работать.

3. ой..первый день игры с pinescript..кажется очень ограниченным. спасибо за попытку помочь