Pinescript: объединение двух индикаторов

Код и сообщение об ошибке найдены здесь:

Итак, я пытаюсь объединить два индикатора в один, чтобы использовать условный оператор для совершения сделок. Но я получаю это сообщение об ошибке. Может ли это быть связано с тем, что источник определяется по-разному для двух разных индикаторов? есть ли способ заставить его работать, когда он определяется по-другому?


person Alanna Mueller    schedule 10.11.2018    source источник
comment
Пожалуйста, не используйте скриншоты. Скопируйте и вставьте свой код и сообщение об ошибке в исходный вопрос и используйте теги code.   -  person Baris Yakut    schedule 10.11.2018
comment
Кроме того, номера строк в сообщении об ошибке не совпадают с вашим кодом. Вы изменили свой код, а затем сделали скриншот со старыми сообщениями об ошибках?   -  person Baris Yakut    schedule 10.11.2018


Ответы (2)


В самом начале у вас есть:

source = hlc3

Прежде всего, source является встроенной переменной в pine-script, и вы не должны называть свои переменные после встроенных переменных. Во-вторых, hlc3 относится к типу series.

Позже у вас есть: src = input(title="Source", type=source, defval=close)

type Параметр входной функции может быть только одним из: bool, integer, float, string, символ, разрешение, сеанс, источник. Когда вы говорите type=source, он пытается использовать вашу переменную вместо встроенной переменной.

Вот что говорит вам сообщение об ошибке:

Невозможно вызвать input с аргументами (название=литеральная строка, тип=серия, defval=серия); доступные перегрузки: input(const bool, const string, const string, bool, const string) => bool; input(const integer, const string, const string, integer, integer, bool, integer, [const integer...], const string) => integer; input(const float, const string, const string, float, float, bool, float, [const float...], const string) => float; input(const string, const string, const string, bool, [const string...], const string) => string; ввод (серия, константная строка, константная строка, константная строка) => серия

Вы должны переименовать переменную source.

person Baris Yakut    schedule 10.11.2018

К сожалению, модули/библиотеки еще не поддерживаются в PineScript. Так что все, что вам нужно сделать, это переименовать переменную «source» в одном из ваших скриптов, чтобы сказать «source2».

person vitvlkv    schedule 29.11.2018