Пример-адаптивного-периода-в-SMA

Статья от коллег компании TSLab
В данной статье разберем как сделать индикатор SMA с адаптивным периодом.

Есть готовый кубик с открытым кодом на С#, скачать можно из данного раздела ->
Как создать простой индикатор SMA мы разобрали в данной статье: «Индикатор SMA для TSLab из кубиков»

Рассмотрим работу с циклом и возможность управления переменным периодом выборки значений.

 i>=cycle ? cls[-cycle] : cls[-i] 

Чтение формулы «Sum»:
формула-sum

— Если в скрипт загружено достаточно баров для расчета, то берем все значения (список) баров от последнего закрытого до указанного cycle

— Если недостаточно (т.е. количество баров меньше, чем Период — Period) , тогда берем значение закрытия (cls) первого бара загруженной истории.

Далее, суммируем список значений в блоке «СуммаЦикла»
сумма-цикла

И выводим последнее значение на бар с помощью кубика «Результат цикла»
Результат-цикла

У кубика Цикл есть Максимально возможное значение и установлено 2000000000 в данных расчетах это значение не используется, однако, является ограничителем.
кубик-Цикл

У кубика Цикл есть входящее значение, которое меньше максимального значения.

Пример:
В цикл на баре приходит значение 10, количества требуемых итераций.

Формула запрашивает цикл его текущее значение.

Формируется список из 10 последних значений Закрытия бара, физически это формирование создает блок Результат цикла.

Суммируется в отдельном блоке СуммаЦикла.

Выводится в формулу SMA, для нахождения текущего среднего значения. Сумма списка разделить на значение Периода (в нашем случае, требуемое количество итераций на каждом баре), которое пришло в цикл.
формула-цикла

Расчет периода в данном примере вероятно не представляет ценности, так как это просто МаксимумЗа минус МинимумЗа.
формула-периода

Здесь следует заметить, что на вход цикла нужно подавать только целые числа, именно по-этому в блоке формула Period применяется Math.Round.
формула-период-для-цикла

Скачать конечный вариант скрипта для TSLab можно тут: https://cloud.mail.ru/public/1HZ5/DAAWnvajB


ПРИМЕР ПО ЦИКЛАМ В ТСЛАБ. ЧАСТЬ №1   |   ПРИМЕР ПО ЦИКЛАМ В ТСЛАБ. ЧАСТЬ №2

 
 
 


Вы уже сейчас можете начать изучать Видео курс- роботы в TSLab и научиться самому делать любых роботов!
 
Можно записаться на следующий поток ОнЛайн курса «Создание роботов в TSLab без программирования», информацию по которому можно посмотреть тут->
 
Также можете научиться программировать роботов на нашем Видео курсе «Роботы для QUIK на языке Lua»
 
Если же вам не хочется тратить время на обучение, то вы просто можете выбрать уже готовые роботы из тех, что представлены у нас ДЛЯ TSLab, ДЛЯ QUIK, ДЛЯ MT5, ДЛЯ КРИПТОВАЛЮТЫ!
 
Также можете посмотреть совершенно бесплатные наработки для МТ4, Квика, МТ5. Данный раздел также постоянно пополняется.
 
Не откладывайте свой шанс заработать на бирже уже сегодня!