После многолетнего молчания на смартлабе, я решился наконец написать свой первый пост и заодно показать альфа-версию торговой платформы, которую пилю под свои нужды. Очень хотелось иметь программу для автоматизации скальпинга и высокочастотного трейдинга, не такую топорную как 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 урока, так в этом уроке будут использованы приемы, описанные в предыдущих уроках.
Как я уже сказал, целью данного урока является создание индикатора, который отслеживает, дневные экстремумы и показывает их на графике. Мы хотим иметь возможность видеть экстремумы текущего дня, а так же показать экстремумы вчерашнего дня на сегодняшних данных. Давайте посмотрим, что нам нужно для этого индикатора, и решим, как лучше сделать этот индикатор:
В сегодняшнем уроке вы узнаете, как менять направление выполнения вашего кода при соблюдении определенных условий. Это возможно при использовании операторов. Вы можете найти их в практически любом языке программирования, по своей сути они являются основой каждой программы. Например, операторы могут быть использованы для того чтобы менять цвет скользящей средней, в зависимости от ей размещения по отношению к цене закрытия бара. Если вы хотите закрыть все позиции по истечении определенного времени, то необходимо использовать операторы. Если вы хотите включить алерт, после выполнения определенного условия, так же необходим оператор. Этот список можно продолжать довольно долго, но я думаю, вы уже поняли, что утверждения не только очень полезны, но и крайне важны. Ни один учебник по программированию не может обойтись без операторов, и поэтому крайне важно хорошо разобраться в них, прежде, чем мы можем перейти к более сложным вещам.