Как PineScript анализирует ‘if series1> series2’?

#pine-script

#сценарий pine

Вопрос:

Я пытаюсь выяснить, как работает часть кода, который я нашел написанным на PineScript.

Это так:

 C_BlackBody = open > close
C_EngulfingBearish = C_UpTrend and C_BlackBody [...]
if C_EngulfingBearish
    [do something...]
 

То, что я хотел сделать, это вывести значение close . open и close оба являются сериями, что означает, что C_BlackBody и C_EngulfingBearish тоже. Однако C_EngulfingBearish его можно успешно использовать в if инструкции, поэтому он действует как одно логическое значение. Тем не менее, если я попытаюсь объединить его в строку, он скажет, что это все еще серия:

 debugInfo := "Close: "   close
 

Выдает ошибку:

 Cannot call 'operator  ' with arguments (literal string, series[float]);
 

Итак, что такое close , C_EngulfingBearish , и другие ряды, которые оцениваются как при использовании в if инструкции, и как это можно перенести в строку, чтобы я мог вывести ее в виде метки в качестве отладочной информации?

Ответ №1:

C_EngulfingBearish это последовательность логических значений, поэтому ее можно использовать в условии оператора if . Используйте функцию tostring для преобразования в строку.

 debugInfo := "Close: "   tostring(close)
 

Прочитайте советы по удалению ошибок