Обсуждение статьи "Пишем скальперский стакан цен на основе графической библиотеки CGraphic"

 

Опубликована статья Пишем скальперский стакан цен на основе графической библиотеки CGraphic:

В статье создается базовый функционал скальперского стакана цен. Разрабатывается тиковый график на основе графической библиотеки CGraphic и интегрируется с таблицей заявок. С помощью описываемого стакана цен можно создать мощный помощник для краткосрочной торговли.

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


Заметим, что получившийся тиковый график нашего стакана цен уже существенно отличается от аналогичного графика стакана цен в MetaTrader 5.

Автор: Vasiliy Sokolov

 
да, здорово. И еще главное сделать чтобы цены в стакане были неподвижными, а двигались только бид и аск. Так более удобно наблюдать за плотностями в стакане.
 
ваш класс использовал в работе несколько доработав его, но ошибка выхода за пределы массива действительно появлялась, но я на нее внимания не обращал т.к. как правило стакан запускал когда уже он был заполнен, внесу в него так же ваши изменения )) спс за работу
 
Konstantin:
ваш класс использовал в работе несколько доработав его, но ошибка выхода за пределы массива действительно появлялась, но я на нее внимания не обращал т.к. как правило стакан запускал когда уже он был заполнен, внесу в него так же ваши изменения )) спс за работу

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

 
Ilmir Galiev:
да, здорово. И еще главное сделать чтобы цены в стакане были неподвижными, а двигались только бид и аск. Так более удобно наблюдать за плотностями в стакане.

Попробуйте режим ScaleTiksWithBook.

 

Василий, шикарная статья! Огромное спасибо за труд, нашёл много полезного для себя. Особенно понравлся алгоритм подкачки и поиска новых тиков (сравнение групп тиков).

Обидно, что не проверить в режиме отладки Тестера - не обрабатывается событие стакана. Вообще, это существенный недостаток для тестирования роботов, имхо...

Есть небольшое предложение. Что если сделать на графике линию для цены last в таком виде:


Правда, не уверен, что средствами стандартного класса CGraphic такое можно отрисовать...

 

идея хорошая, тогда надо добавлять кругляшки с лотами прошедшими, как в приводе Бондаря. Удобно очень.

 
Ilmir Galiev:

идея хорошая, тогда надо добавлять кругляшки с лотами прошедшими, как в приводе Бондаря. Удобно очень.


т.е. задача реализовать аналог привода Бондаря? наверное смысла в этой затее нет т.к. проще использовать готовый функционал самого привода Бондаря, а MetaTrader`у отдать то, для чего он заточен, т.е. программирование торговых систем ))

 

Подскажите, а как в Вашей реализации найти цену максимального объема в стакане ??? сам объем я нашел, все четко, а как найти его цену на которой эта макс плотность стоит.

 
Konstantin Seredkin:

Подскажите, а как в Вашей реализации найти цену максимального объема в стакане ??? сам объем я нашел, все четко, а как найти его цену на которой эта макс плотность стоит.

Интересует программная реализация? Скальперский стакан цен базируется на классе CMarketBook. Он позволяет получать распространенные свойства включая цену максимального объема.
 
Vasiliy Sokolov:
Интересует программная реализация? Скальперский стакан цен базируется на классе CMarketBook. Он позволяет получать распространенные свойства включая цену максимального объема.

Ага, в этом классе сам максимальный объем нашел, интересует как его дополнить что бы он еще от найденного макс объема еще и цену определял.

Тема просто интересна, к примеру можно сделать индикатор, в котором будет переменная Объема = 1000, как только в стакане появляется ближайший к цене объем >=1000 на графике на данной цене появляется полоска. Можно много чего замутить интересного, вот и интересно можно ли расширить функионал класса, смотрю там есть несколько данных которые ваш стакан не задействует, ОИ и максимальные значения по открытию заявок в обе стороны и т.д. тоже вещь нужная, а вот цены нет... если дополните буду благодарен или направьте, с данными стакана просто ни когда не работал, а тут нарвался на вашу тему и стало интересно, к тому же у вас все так удобно обыграно.

Причина обращения: