{"id":13989,"url":"\/distributions\/13989\/click?bit=1&hash=689761c72f10593c6ae08fa92df6fc1330f881844029dc5818a873a3e5d1525d","title":"\u041e\u0434\u0438\u043d \u0438\u0437 \u0441\u0443\u0431\u0431\u0440\u0435\u043d\u0434\u043e\u0432 \u00ab\u0411\u0438\u043b\u0430\u0439\u043d\u0430\u00bb \u0441\u0442\u0430\u043b \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u044b\u043c","buttonText":"\u0414\u043b\u044f \u0447\u0435\u0433\u043e?","imageUuid":"2576d439-a275-5976-9003-ccd043b96057"}

Логические и математические рассуждения при реализации алгоритма

Работая с TSLab, в некоторых ситуациях возникает потребность в новых блоках, не реализованных в программе. Многие сложности, на самом деле, решаемы имеющимся функционалом, хотя иногда, конечно, не обойтись без программирования. В этой статье мы покажем как самостоятельно создать индикатор в редакторе TSLab.

Так как процесс разработки нового функционала программистами TSLab — достаточно трудоемкий процесс, состоящий из многих этапов, то от момента создания запроса до непосредственной реализации может пройти не одна неделя, а то и месяц (в зависимости от сложности задания). По этому многие вопросы, например, связанные с созданием индикаторов пользователь может решить своими руками!

Создание индикатора «Месяц года»

Итак, начнем. В TSLab имеется блок «Дата», который транслирует дату в формате ггммдд, его и будем использовать, чтобы получить месяцы.

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

Следующий шаг — построить логику в голове, каким образом достать месяц из данного варианта формата. Прежде всего не воспринимаем это как дату, а принимаем ее за обычную число "161122". Чтобы добраться до месяцев, мне нужно прежде всего исключить год. Значит мне нужно привести число к виду "160000". Далее из даты вычитаем ее и получаем остаток, то есть "1122" Чтобы получить такой вариант, достаточно использовать матметоды, которые уже встроены в редакторе формулы.

(Math.Truncate(Дата / 10000)) * 10000

Для начала 161122 делим на 10 000 и получится число "16,1122", а используемый метод убирает десятичные и остается целое число "16" которое умножив на 10000 получим необходимое значение. Далее процедуру нужно повторить с остатком из разницы на предыдущем шаге.

Math.Truncate(Формула1 / 100)

Таким образом мы получаем месяц года в понятном формате 1, 2, 3....12. Ну, и чтобы не делать такие блоки каждый раз, когда они необходимы, достаточно создать свой собственный индикатор и пользоваться когда он нужен. Ниже скрин как создать индикатор, это всего 6 блоков

Пишите так же свои пожелания и трудности, в комментариях. Всегда открытое общение так же в нашем телеграм канале.

0
Комментарии
0 комментариев
null