Блок "Перерасчет скрипта" инициирует повторное выполнение скрипта в заданные моменты времени.
В качестве источника принимает: источник, опцион или опционную серию.

Параметры блока:
Таймфрейм - время в секундах, кратно которому скрипт с этим блоком будет пересчитываться. По умолчанию: 30 секунд.
Смещение - время в секундах дополнительного отступа от расчетного времени перерасчета. Может быть как положительным так и отрицательным числом. По умолчанию: -1 секунда.
Logging - управляет записью в лог программы сообщений о расчете блока и срабатывании таймера. По умолчанию: false.
Key - идентификатор блока, строка. Ставьте уникальное (в пределах скрипта) значение. Важен, если в одном скрипте используется несколько таких блоков.

Значения параметров могут быть не целочисленными, например, смещение: 0,3 - означает, что пересчет произойдет через 300 миллисекунд после расчетного по таймфрейму времени.

Способы использования блока. Можно:
1. Выполнить скрипт агента через некоторое время после заданного временного интервала, например, с целью выставить стоп-заявку.
Пример: пусть интервал пересчета скрипта 1 час, параметры блока: Таймфрейм=3600 (3600=60*60); Смещение=20.
При этом скрипт отработает не только в 10, 11, 12 часов и т.д., но и в 10:00:20, в 11:00:20, и т.д. Если в эти моменты уже будет открыта новая позиция, то скрипт сможет выставить защитный стоп.

2. Выполнить скрипт агента в определенное время. Например, основной таймфрейм скрипта 1 час, параметры блока: Таймфрейм=59355 (16 часов *60*60 + 29 минут *60 + 15 секунд); Смещение=0. Скрипт дополнительно отработает в 16:29:15.

3. Выполнять скрипт заранее. Интервал пересчета скрипта 1 минута, таймфрейм 1 минута, смещение -1 секунда. Скрипт, в дополнение к стандартному поведению, будет выполнен в ... 10:00:59, 10:01:59, ...

4. Мониторить работу программы даже при отсутствии сделок/торгов. Не знаю зачем, но можно.

Имейте в виду:
Если основным инструментом поставить неликвидный опцион, то пересчетов скрипта кроме как от этого блока не будет, из-за отсутствия сделок по инструменту, пересчет будет происходить только в соответствии с параметрами блока (см. скрин 2).
При использовании блока, агент будет пересчитываться и в неторговое время.



Блок "Перерасчет скрипта по логу" выполняет принудительный пересчет скрипта, после обнаружения в логе программы заданного сообщения.

Параметры:
Искомое - искомое сообщение (его часть) в логе программы в ответ на которое скрипт пересчитается. Например, "INFO :127:" - для реагирования на факт пересчета любого скрипта. Для других примеров сообщений, смотрите лог программы.

Периодичность, с - Временной интервал для периодической проверки наличия искомого сообщения в логе программы, в секундах
Logging, Key - как и у предыдущего блока.


Блоки работают только в версии ТСЛаб 2.0 в режиме агента, использовать их в лаборатории, мне кажется, нет смысла. Созданы по мотивам кубика "Метроном". Теоретически, в условиях сильной загрузки процессора, блоки могут работать не стабильно: пропускать моменты перерасчета и наоборот.

Используйте их на свой страх и риск! Я ни за что не отвечаю, ничего не гарантирую.


Attachments
ScriptRecalculator_1.png (159 downloads)
ScriptRecalculator_2.png (143 downloads)
ScriptRecalculator_2.rar (104 downloads)

_________________________
Не пишите мне! Никому ничего делать не буду.