#pine-script
Вопрос:
Я новичок в кодировании Pinescript… Я сталкиваюсь с этим сообщением об ошибке «строка 15: Несоответствующий ввод «Чао», ожидающий «конец строки без продолжения строки».»
study("Il mio Script")
Lenght=50
SMA50=sma(close, 50)
SMA50DIV=SMA50-close
High50=highest(SMA50DIV,Lenght)
Low50=lowest(SMA50DIV,Lenght)
//Ошибка в следующей строке
if close<=(SMA50) Ciao=-(100-(100/(Low50/SMA50DIV))) else Ciao=(100-(100/(High50/SMA50DIV)))
//
plot(Ciao, color=color.yellow, title="SHIFT50", linewidth=1, style=plot.style_line
Ответ №1:
Попробуйте использовать троичный условный оператор
Ciao = close<=(SMA50) ? -(100-(100/(Low50/SMA50DIV))) : (100-(100/(High50/SMA50DIV)))
Комментарии:
1. Привет, спасибо за предложения. Это работает! Я не понимаю, что было не так в моем предыдущем сценарии..
Ответ №2:
Чао Сандрино,
Ниже приведен пример вашего оригинала, отформатированный только для работы без ошибок. Я включил в сценарий несколько заметок для вас. Как сказал Густаво, тернарный оператор-отличное решение, но использование if или else тоже приемлемо. Вот как:
//@version=4
study("Il mio Script")
Lenght=50
SMA50=sma(close, 50)
SMA50DIV=SMA50-close
High50=highest(SMA50DIV,Lenght)
Low50=lowest(SMA50DIV,Lenght)
// first declare variable globally. You will get an error if this is not done
Ciao = 0.0
// then re-assign variable locally under your conditions
// note that 'if' and 'else' must be in separate lines with 'Ciao' having one indentation
if close<=(SMA50)
Ciao := -(100-(100/(Low50/SMA50DIV)))
else
Ciao := (100-(100/(High50/SMA50DIV)))
// ternary operator is cleaner and easier for some to understand
//Ciao = close<=(SMA50) ? -(100-(100/(Low50/SMA50DIV))) : (100-(100/(High50/SMA50DIV)))
plot(Ciao, color=color.yellow, title="SHIFT50", linewidth=1, style=plot.style_line)
Ура, и удачи вам в торговле и кодировании!