TSlab: реализация обратной связи.
TSlab — удобный инструмент для тестирования различных
относительно простых стратегий. Но у него есть недостаток
— нельзя организовать обратную связь.
Например, если необходимо данные по текущей позиции
передать в «начало» алгоритма, но, естественно, на следующую
итерацию.
Выход я в итоге нашёл, хотя и довольно медленный,
и вряд ли он сгодится для использования real-time,
но при историческом тестировании алгоритма вполне сносный.
Реализуем следующим образом.
Изначально вносим в алгоритм 2 или более (по-необходимости)
одинаковых источника данных. Одинаковых по сути, но имена
у текстовых файлов разные.
Один источник делаем тестовым: с него снимаем текущую позицию,
её доходность и пр. Для минимизации влияния на общую
статистику в этом источнике открываем позиции лишь в 1 лот.
Тогда TSlab позволит нам выходы из алгоритма обработки этого
источника подать на входы «рабочего» источник данных,
где позиции ставим не менее 1000 лотов для нивелирования
влияния «тестового» источника данных на статистику.
Конструкция получается довольно громоздкая, но проблема
реализации обратной связи решается.
думаю, что можно и в реале применить, достаточно ограничить глубину данных или как-то еще
запрограммить. Но TSLab удобен тем, что можно быстро
«на коленке» слепить идею и опробовать.
И чисто теоретически если брать один и тот же источник данных
real-time, то возникнут проблемы. Например, алгоритм снимает
данные о позиции. Если используются источники-текстовики,
то они совершенно не связаны между собой для TSLab. А если
это будет real-time Сбер и Сбер, то позиция в одномисточнике
автоматически открывается и в другом. Чтобы таких накладок
не было нужно открывать 2 счёта — тогда вполне получится
использовать такие штуки real-time.