После многолетнего молчания на смартлабе, я решился наконец написать свой первый пост и заодно показать альфа-версию торговой платформы, которую пилю под свои нужды. Очень хотелось иметь программу для автоматизации скальпинга и высокочастотного трейдинга, не такую топорную как Quik и с собственным блекждеком.
Вдохновила меня прекрасная программа Николая Морошкина Qscalp и захотелось иметь похожую, но с блекджеком Python внутри. С большим уклоном в автоматический скальпинг, и с меньшим — в ручной.
Я хотел писать торговые стратегии для скальпингового привода на Питоне, имея возможность творить с рыночными данными все, что угодно. Например, экспортировать тики в базу данных или скармливать их нейросетям в реальном времени. Ну и заодно проверить, действительно ли Python, как уверяли некоторые, слишком медленный для реализации подобных задач. Создавал программу в свободное время.
Итак, у нас был Transaq XML Connector, QT, Python и целое множество библиотек всех сортов и расцветок, а также Windows, Linux, wine и VirtualBox. Не то чтобы это был необходимый запас для разработки. Но если начал писать проект, становится трудно остановиться. Единственное, что вызывало у меня опасение — это pyinstaller. Нет ничего более беспомощного, безответственного и испорченного, чем ошибки при сборке. Я знал, что рано или поздно мы перейдем и на эту дрянь.
Большая просьба, особенно к А.Г.))), не писать сразу решение)))
Урок 1.
Урок 2.
Урок 3.
Урок 4.
Урок 5.
Урок 6. Создание индикатора.
Теперь, когда мы знаем, как форматировать линии и текст на графике, мы можем вернуться к созданию индикатора, который показывает дневные экстремумы. В соответствии с логикой описанной выше, нам нужно найти самый высокий максимум и самый низкий минимум на графике. Самый лучший способ сделать это – взять две переменные, которые будут обновляться по мере того, как график будет рисовать новые вершины и новые минимумы. Трудность заключается в том, чтобы по декларации сбросить и установить значение переменной “High” и “Low” из бара. Для того чтобы сбросить мы используем простую конструкцию “if…then begin…end”. Истинно это выражение будет, если дата в этом баре отличается от даты предыдущего бара. В этом случае это будет каждый первый бар, каждого дня.
Урок 1.
Урок 2.
Урок 3.
Урок 4.
Урок 5. Текст и линии тренда.
Цель данного урока — попрактиковаться в программировании, и создать индикатор, который отслеживает дневные экстремумы. Если вы не читали предыдущие уроки, то я советую вам начать с 1 урока, так в этом уроке будут использованы приемы, описанные в предыдущих уроках.
Как я уже сказал, целью данного урока является создание индикатора, который отслеживает, дневные экстремумы и показывает их на графике. Мы хотим иметь возможность видеть экстремумы текущего дня, а так же показать экстремумы вчерашнего дня на сегодняшних данных. Давайте посмотрим, что нам нужно для этого индикатора, и решим, как лучше сделать этот индикатор: