#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..кажется очень ограниченным. спасибо за попытку помочь