После многолетнего молчания на смартлабе, я решился наконец написать свой первый пост и заодно показать альфа-версию торговой платформы, которую пилю под свои нужды. Очень хотелось иметь программу для автоматизации скальпинга и высокочастотного трейдинга, не такую топорную как 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 урока, так в этом уроке будут использованы приемы, описанные в предыдущих уроках.
Как я уже сказал, целью данного урока является создание индикатора, который отслеживает, дневные экстремумы и показывает их на графике. Мы хотим иметь возможность видеть экстремумы текущего дня, а так же показать экстремумы вчерашнего дня на сегодняшних данных. Давайте посмотрим, что нам нужно для этого индикатора, и решим, как лучше сделать этот индикатор:
В сегодняшнем уроке вы узнаете, как менять направление выполнения вашего кода при соблюдении определенных условий. Это возможно при использовании операторов. Вы можете найти их в практически любом языке программирования, по своей сути они являются основой каждой программы. Например, операторы могут быть использованы для того чтобы менять цвет скользящей средней, в зависимости от ей размещения по отношению к цене закрытия бара. Если вы хотите закрыть все позиции по истечении определенного времени, то необходимо использовать операторы. Если вы хотите включить алерт, после выполнения определенного условия, так же необходим оператор. Этот список можно продолжать довольно долго, но я думаю, вы уже поняли, что утверждения не только очень полезны, но и крайне важны. Ни один учебник по программированию не может обойтись без операторов, и поэтому крайне важно хорошо разобраться в них, прежде, чем мы можем перейти к более сложным вещам.
Добро пожаловать на новый урок, на пути освоения MultiCharts и PowerLanguage. Если вы не читали предыдущие уроки, то я бы предложил вам сделать это. Этот урок будет основан на понятиях изложенных в предыдущих уроках. На уроке 02 мы узнали, как можно построить скользящую среднюю на графике. Мы использовали цикл, чтобы просуммировать значения предыдущих баров, которые нужно привести к среднему. Сегодня вы изучите еще один тип цикла. Так же вы узнаете, как использовать редактор для вывода информации в окне отладки.
На первом уроке мы изучили главное окно в редакторе PowerLanguage. Когда вы откроете редактор, то вероятно увидите, что он разделен на три части. Если это не так, то скорее всего вы изменили внешний вид в меню «Вид» (View). Убедитесь, что «Окно отладки» (Output Bar) на месте, так как оно будет нужно нам на этом уроке.
После того как вы познакомились с редактором Power Language, на предыдущем уроке, мы продолжим углублять наши знания. Если вы не читали предыдущий урок, то я бы предложил вам сделать это, это поможет вам в понимании того о чем будет говориться на этом уроке. Что ж, давайте начнем новый урок.
Откройте редактор Power Language, и создайте новый индикатор. Я назову его ABC_PowerLanguage Lesson 02 – Moving Average, чтобы затем я бы мог легко найти его в редакторе. Вы можете выбрать название по своему вкусу, и изменить его позже. Последняя часть названия индикатора говорит о том, что сегодня мы будем делать скользящую среднюю. Возможно, вы видели скользящие средние на графиках или помните этот термин из математики. Скользящие средние используются как фильтр для сглаживания данных.