Блок "Перерасчет скрипта" инициирует повторное выполнение скрипта в заданные моменты времени.
В качестве источника принимает: источник, опцион или опционную серию.
Параметры блока:
Таймфрейм - время в секундах, кратно которому скрипт с этим блоком будет пересчитываться. По умолчанию: 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)
_________________________
Не пишите мне! Никому ничего делать не буду.