Пользовательская функция Tradingview с безопасностью () - PullRequest
0 голосов
/ 30 декабря 2018

Я смотрю руководство по миграции Pine версии 3, и есть пример, показывающий пользовательскую функцию и использующий security () для вызова этой функции.https://www.tradingview.com/wiki/Pine_Version_3_Migration_Guide

Теперь я попытался изменить свою пользовательскую функцию, чтобы она возвращала два значения вместо одного, но по какой-то причине она больше не работает.Ошибка находится в строке 10 («[t, i] = ...») и говорит: variableType.itemType не является функцией .

Мой код ниже, кто-нибудь может посоветовать, в чем проблема, пожалуйста?

//@version=3
study("My Script")

calcS() =>
    s = 0.0
    j = 0.0
    s := close + 1
    j := close + 2
    [s, j]
[t, i] = security(tickerid, '120', calcS())
plot(t, color=red, transp=0)
plot(i, color=blue, transp=0)

1 Ответ

0 голосов
/ 29 января 2019

Это известная проблема.Вы не можете вернуть кортеж из безопасности.В наших планах исправить эту ошибку.

Теперь вы можете использовать следующий обходной путь:

//@version=3
study("My Script")

calcS() =>
    s = 0.0
    j = 0.0
    s := close + 1
    j := close + 2
    [s, j]

calcSs() =>
    [s, j] = calcS()
    s

calcSj() =>
    [s, j] = calcS()
    j

t = security(tickerid, '120', calcSs())
i = security(tickerid, '120', calcSj())
plot(t, color=red, transp=0)
plot(i, color=blue, transp=0)
...