Объявление переменных в ThinkScript

Самым первым, что следует узнать при изучении любого языка программирования, это как объявляются переменные.

Переменные это самое важное, без них нет возможности запрограммировать даже самую простую программу. В переменных хранится информация, которую мы хотим передать программе, либо после вычисления формулы, результат так же нужно куда-то поместить, для этого и служат переменные.

Синтаксис объявления переменных в thinkScript:

Это первая строка кода, которую мы можем написать в редакторе thinkScript, и она будет принята без ошибок. Однако мы увидим предупреждение «At least one plot should be defined» — дело в том, что мы передали информацию в программу, а куда и как вывести информацию не указали. Не обращаем на это внимание, пока не будем касаться вывода информации.

Теперь разберем эту строку кода.

def – зарезервированное слово, означает что мы хотим объявить переменную. ОБЯЗАТЕЛЬНО.

name – Имя переменой, любое слово которое придет к нам в голову, кроме зарезервированных слов. Так же переменная должна начинаться с буквы, не допускается использовать в начале числа. Если мы напишем так:

В результате вся строка будет выделена красным цветом, что означает ошибку.

Использование чисел в самой переменной допускается, например, так:

Еще можно использовать знаки подчеркивания при чем как в самом имени переменной, так и перед ним:

Как видите несколько переменных можно объявить в одну строку, главное поставить между ними знак «:».

Знак «=» после имени переменной, используется для присвоения значения переменной, а за ним пишем то что хотим присвоить, это может быть какое-то конкретное число, как в примере выше. Если после знака «=» будет вызвана функция, то в переменную попадет значение полученное в результате вычисления данной функции.

absValue – это имя функции, которая возвращает абсолютное значение числа 10. Далее функции будут подробно изучены, так что пока не заостряйте на ней внимание.

Еще один важный момент. Переменные в thinkScript не могут принимать текстовые значения

Такой код не будет принят. Но все же с текстом можно работать, как именно, будет рассказано далее.

А теперь напишем формулу и результат ее запишем в переменную.

Сначала будет вычислен результат, а потом этот результат попадет в переменную name. Не забываем правила математики, сначала выполняются операции в скобках, потом умножение и деление, а потом сложение и вычитание.

Ну и теперь как же обращаться к переменным.

Напишем следующий код

C переменными x y z все понятно, с ними разобрались. Какое же значение будет иметь переменная out? Для того что бы это узнать, нужно вместо имен подставить значение переменных

Посчитаем результат. 16 / 2 = 8. 10 + 8 = 18.

Переменная out будет иметь значение 18.

Так же эту переменную мы можем использовать дальше в своих расчётах.

Значение переменной name думаю вы уже знаете.

Переменные могут принимать и логические значения

Значение переменной x будет равняться 1, потому что 10 больше 5.

А теперь значение будет 0.

В итоге получаем что, если условия выполняются, значит переменная примет значение 1, если нет, тогда 0.

А раз у нас переменная содержит 1 или 0, можем ли мы применить к этой переменной операторы + — * /. Конечно можем

Какое значение в переменной out?

Вычисляем поочередно все переменные.

x = 10 меньше 5 ? – Нет. Значит x = 0.

y = 23 больше 3 ? – Да. Значит y = 1.

z = 100 больше 35 ? – Да. Значит z = 1.

out = 0 + 1 + 1; Получаем значение 2.

Ну и последнее что мы изучим с переменными, так это как объявить переменные рекурсивно. Что это значит? Это если нам нужно использовать прошлое значение переменной, а потом этой же переменной присвоить новое значение.

Как думаете какое значение примет переменная x, если вы напишите эту строку в индикаторе? Ответить на этот вопрос невозможно. Зато мы можем разобраться как будет работать данный код.

Когда код будет выполняться в первый раз, то при вычислении переменной x будет попытка обратиться к значению переменной x. Но этого значения еще нет, для простоты примем что раз нет значения, значит 0. В итоге получим 0 + 1 = 1.

При выполнении кода во второй раз, сначала обратимся к прошлому значению переменой x оно у нас 1 как помним. В итоге получаем 1 + 1 = 2. Теперь значение x уже 2.

В третий раз код будет выполняться аналогично. 2 + 1 = 3 и т. д.

Так чему же равен x? Он равен количеству раз выполненного кода.

Для понимания как выполняется код в индикаторах обратитесь к этой части.

На этом все. Фундамент положен, продолжайте в том же духе и напишите свой собственный индикатор.

Постоянная ссылка на это сообщение: https://k-pavel.ru/objavlenie-peremennyh-v-thinkscript/

avatar

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

  Subscribe  
Подписаться на