Пример: Работаем с обновляемым значением 2: Обновляемое значение vs. ValueWhen

Есть в MetaStock такая чудесная функция – ValueWhen. Что она делает: она возвращает значение некого параметра, заданного пользователем (это может быть просто цена или результат некого выражения) только при наступлении некого события, иначе хранит предыдущее.

С первых дней работы с TSLab почувствовал, что сильно скучаю по этой функции, что без нее вообще никак. И, собственно, эта тема посвящена тому, как сделать примитивный ее вариант в TSLab.

Например, у нас есть некое условие – пересечение_сверху двух EMA. В этот момент необходимо получать Цену закрытия и хранить это значение до нового пересечения_сверху EMA. Нам понадобятся:
• Блок Цена закрытия
• Условие Пересечение сверху двух EMA
• Блок Обновляемое значение

Теперь собираем. К Блоку Обновляемое значение должны подходить две стрелки: от Цены закрытия и Пересечение сверху. Перезаписывание в блок Обновляемое значение будет производиться только когда Пересечение сверху истинно.

Далее выводим блок Обновляемое значение на график и смотрим, что получилось.

В примере присутствует блок (для примера) Формула, которое возвращает Цену закрытия только в момент истинности условия Пересечение сверху, в другие момент возвращается 0.

Code:
Exp_1==true?close:0


Картинка:



Attachments
Image.png (5784 downloads)
Sample_Update_value_2.xml (661 downloads)



Отредактировано SysKreator (Tue Jul 06 2010 03:13 PM)