Блог им. neophyte

Будни начинающего алготрейдера: прошла еще неделя

Будни начинающего алготрейдера: прошла еще неделя

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

Первое, что нужно было сделать, это увязать в систему и в программы «неожиданно» выскочивший положительный эффект от использования более точных и/или более сложных фильтров.
Неожиданность конечно условная, фильтры были запрограммированы достаточно давно, и индикаторы и роботы на их основе тоже были реализованы и лежали на дальней полке в ожидании своего часа.
Час наступил, когда была реализована автоматическая настройка, которая и позволила выявить потенциал более сложных методов фильтрации.
Сгоряча я хотел идти еще дальше, использовать еще более сложные фильтры более высокого порядка. Но вовремя остановился. И так нерешенных проблем еще хватает. Проблемы эти в основном технического характера, но тем не менее сами они не устранятся. Кто-то должен сделать и эту работу.

В чем суть проблем?

Ну первая проблема — это увязка параметров всего комплекса инструментов SWT-метода.
Есть робот, в котором задаются параметры автоматической торговли. И есть индикаторы, которые иллюстрируют состояние рынка и его характеристики, и в этих индикаторах также задаются определенные параметры. А вот согласования между параметрами робота и индикаторов никакого. Т.е. нужно и там и там задавать все вручную, да еще не ошибиться, чтобы однотипные настройки робота и системы индикаторов совпадали. Занятие не из приятных, особенно если торгуется туева хуча инструментов и роботов на этих инструментах.
Поэтому было принято кардинальное решение. Если на график какого-либо инструмента сброшен модуль торгового робота, то этот робот принимает на себя управление параметрами всех индикаторов и этого графика и других графиков по данному инструменту, независимо от собственных установок в индикаторах.
При удалении робота внешнее управление с его стороны отключается, а эстафету принимает базовый индикатор SWT, который в свою очередь начинает управлять параметрами остальных индикаторов метода, сброшенных на графики.
При удалении базового индикатора SWT начинают работать параметры автономной настройки оставшихся индикаторов.

Вторая проблема, которая вылезла довольно неожиданно — это быстродействие компьютера. Проблем с быстродействием не возникало в принципе, пока не возникла необходимость расширить диапазон свечей (баров) активных графиков в связи с увеличением порядка фильтров, которым требуется больше данных. И тут включились тормоза. При работе с 24-мя инструментами включение терминала не всегда происходило успешно, так как при включении пересчитывается весь диапазон значений индикаторов, дальше обновляются только последние бары. Можно конечно было грузить пустой профиль, а потом поочередно заполнять его окнами графиков с индикаторами и роботом и больше не выключать компьютер — пусть работают. Но это не дело. Пришлось искать другие решения. И они нашлись.
Дело в том, что в силу природной лени я использовал каскадную схему работы индикаторных модулей. В каждом модуле реализовывалась определенная функция, и при необходимости из программного кода этого индикатора вызывался соответствующий модуль другого индикатора и производил все расчеты. Это очень экономило силы в написании кодов программ, но в силу совершенно естественных причин тормозило расчеты. Всего каскадов было три. Первичный модуль цифровой фильтрации, базовый модуль индикатора SWT и вспомогательные модули плюс робот.
Устранение одного каскада за счет совмещения функций цифровой фильтрации и базового модуля SWT в одном блоке позволило повысить быстродействие в 2-3 раза.Выигрыш колоссальный, все проблемы исчезли или по крайней мере частота их проявления снизилась до незаметной.

Следующий этап — переход к однокаскадной схеме, когда внутри каждого модуля рассчитывается всё необходимое, должен дать еще более высокую скорость расчетов. Но коды становятся чересчур громоздкими, и я пока что не решаюсь браться за эту проблему — и глаза боятся, и руки делать не хотят. И так код робота уже превысил тысячу строк и только модульная организация структуры программы позволяет не запутаться в этой мешанине операторов и команд.

Вот такой краткий отчет.
Да, с центовым счетом, пока шла отладка программ, случилась пара сбоев из-за ошибок кода, и работа на нем приостановлена. Возможно на следующей неделе возобновим.

Для более серьезной работы в четверг открыт счет на $1000. Деньги небольшие, но для меня уже что-то значат, и просто выбрасывать на помойку их не стоит. Поэтому с понедельника начну постепенно и по возможности аккуратно и осторожно вводить на этот счет новые инструменты и включать для них копии робота.
_______________________________________________________________

Тест: Роботы, роботы...
Реальный (USD), RoboForex, Технический, Автоматизированный, 1:1000, MetaTrader 4
Депозит — $1000. Тест начат 21 сентября 2017 года.
28 | ★1

Читайте на SMART-LAB:
Фото
Аналитики «Синара» рекомендуют акции RENI к покупке с целевой ценой в 129 руб.
Аналитики «Синара» выпустили обзор акций компаний финансового сектора, в котором, в том числе, рекомендуют к покупке акции RENI с целевой ценой в...
Куда реинвестировать дивиденды и купоны
Один из ключевых моментов при инвестировании — правильный выбор инструментов. При грамотном соблюдении пропорций портфель будет расти, а...
Фото
Алексей Лазутин переизбран генеральным директором ПАО «МГКЛ»
28 января состоялось заседание Совета директоров ПАО «МГКЛ», на котором было принято решение о переизбрании генерального директора...
Фото
Как не проспать премправо по ЮМГ/ЕМЦ и купить акции на 15% дешевле рыночной стоимости?
Доброго утра. Я являюсь акционером ЮМГ (GEMC) и этот вопрос волнует меня не меньше вашего.  Также, мы видим интерес к этому моменту судя по...

теги блога Николай Скриган

....все тэги



UPDONW
Новый дизайн