Написал робота-советника для анализа спроса и предложения в стакане. В нём есть полезная опция: поиск бегемотов, то есть крупных объёмов.
Робот одинаково работает с фьючерсами и с акциями.
Описание полей.
Security и
Nazvanie — это код бумаги и её краткое название. Робот умный, он сам находит ближайший фьючерс. За 3 дня до экспирации он возьмёт следующий — более дальний.
---
Lotov BUY | SELL | Raznitsa %. Не все знают, но биржа транслирует в КВИК суммарное количество контрактов (лотов) на покупку и на продажу. Это все лоты для акций и все контракты для фьючерсов, выставленные трейдерами. Считаются даже очень дальние ордера за пределами видимости стакана.
Вам не нужен робот, чтобы их отслеживать. Вот они:
Робот проводит с этими цифрами дополнительный анализ: считает на сколько процентов биды превышают офера или наоборот.
Светло-зелёный цвет: биды немного превышают офера.
Светло-красный цвет: офера немного превышают биды.
Ярко-зелёный цвет: бидов на 100% больше, чем оферов.
Ярко-красный цвет: оферов на 100% больше, чем бидов.
---
Столбик
Razmer Begemota.
Какой объём в стакане считать крупным? Я пошёл таким путём. Робот берёт средний объём торгов по этому инструменту за день (средний объём за 5 последних дней). Например по фьючерсу РТС за день проторговывается в среднем
607 800 лотов. От этой цифры берём
0,5%. Значит крупным объёмом (бегемотом) считаем
3039 лота. Если в стакане появится объём выше этого, робот об этом просигналит.
0,5% я взял «на глаз». Вы можете менять этот параметр как угодно.
---
Столбик
Lotov Buy 5
Сколько лотов в ближайших 5 заявках на покупку. Если этот объём будет выше бегемота, мы увидим соответствующий значок.
Можно брать не 5 лучших котировок, а 10 или любое другое количество.
---
Столбик
Lotov Sell 5. Делает то же самое для 5 лучших котировок на продажу. Считает их сумму, и смотрит не превышают ли они размер бегемота.
Вот гигантский бегемотище по Сбербанку: 139 230 лотов в 5 лучших заявках на продажу.
---
Последний столбик
Zayavok BUY | SELL | Raznitsa %
Это ещё один параметр, который виден в КВИКе в текущей таблице:
Сколько заявок на покупку (в штуках) выставили в торговую систему все участники торгов. То же самое для заявок на продажу.
Робот их обрабатывает и определяет, чего больше: заявок на покупку или на продажу. Если заявок на покупку на 100% больше, чем на продажу, будет подсветка ярко-зелёным цветом. Если заявок на продажу на 100% больше, то будет ярко-красный цвет. При небольшом преобладании вверх и вниз будут слабо-красный и слабо-зелёный цвета.
Если на рынке будет корнер или планка робот об этом просигналит в соответствующей клеточке вот так:
или вот так:
Вот и все функции. Надеюсь, они вам пригодятся.
---
Робот в обиходе прост. Достаточно запустить в КВИКе этот файл:
https://yadi.sk/d/2YgmQLp83SfeJf
Запускается так:
Сервисы->Lua скрипты->Добавить
Стаканы под каждую акцию/фьючерс открывать не нужно, робот сам найдёт все данные.
Сразу всё должно заработать. Но если не заработало, отключите в КВИКе фильтры параметров и инструментов для этих рынков: "
FORTS" и "
МБ ФР: Т+ Акции и ДР":
Пользователь может свободно менять вот эти параметры:
Пишите в комментах ваши предложения и замечания. Я хочу развивать этого советника и превратить его в мощный аналитический инструмент!
---
Мой поход по Большому Каньону Крыма прошлой весной:
мне старая версия больше нравится))
Считается средняя разница бидов-асков (в скобках), а рядом с ней текущая разница. Можно сравнивать и выносить суждение о динамике: растёт спрос-предложение или падает.
попробуйте вот такое. В скобках — средняя разница за последние 1000 изменений. Если текущая разница и средняя будут отличаться больше чем на 10%, он вам просигналит синим.
https://yadi.sk/d/ttcUKf4l3ScG7j
yadi.sk/d/ItZU6vC23SiMyh
Для валют надо брать вот это. Доллар по особому добавляется.
yadi.sk/d/Z39LmxwA3SgRpz
(это без подкрашивания фиолетовым и без динамики)
Для запуска этого робота его нужно просто запустить в КВИКе и всё.
Неприятность в том, что сейчас «бегемоты» поумнели и не любят светить в стакане свои заявки с большим сайзом. Режут исполнение на много мелких.
Но пробуйте.
Если у Вас получится прибыльная стратегия — в добрый путь.
Я планирую постепенно обогащать этого робота. Подумаю.
Начинай писать анализ таблицы всех сделок. Там много информации на подумать. Как сделаешь, скачай и посмотри демки QScalp и EasyScalp.
Терпения тебе и мотивации
У многих трейдеров валют в терминале нет. Чтобы учесть эту разницу, придётся усложнять код.
class1 or class2 or class3
yadi.sk/d/Z39LmxwA3SgRpz
В Амиброкер с этими данными
делал вот такой индикатор:
EDDiff=(Supply-Demand)/(Supply+Demand);
color=
IIf( EDDiff>0,colorGreen, colorRed );
При достижении индикатором верхних и нижних границ , можно судить о перекупленности и перепроданности.
— поиск плотностей в стаканах базового и производного актива
— проверка на подставные плотности
в итоге почти любая плотность на фьюче съедается, есть конечно супер-бегемоты, но это раз в день или два, при этом ждать такую плотность, что бы отхватить несколько десятков пипсов прибыли как то не вяжется с прибылью ))
анализировать плотность нужно с другими критериями и базовый актив тут нужен для других целей
Если сделать кумулятивку и пробовать играть от плотностей -то да, толку маловато будет. Я фронтан такой тестировал на ордерлоге лет 8 назад.
Но, вот если из стаканов исключить заявки отдельных маркетмейкеров — то уже интереснее получалось. Я так на сишке давным-давно не одну сотню процентов сделал.
Сейчас понятия не имею — работает это или нет.
— сперва биржа повысила комиссии
— затем HFT`шники стали уходить с биржи т.к. комиссии стали съедать прибыль
— затем упала ликвидность, т.к. как бы там не говорили теоретики-депутаты, ликвидность на moex создавали в т.ч. и трейдеры HFT`шники, а какой это был объем, не трудно сравнить взяв статистику прошлых периодов и нынешнюю
— после указанных действий, на moex стало видно как работает наш регулятор т.е. абсолютно не поддающееся логике вливание денег на биржу, что и двигает цены, те кто в теме, получают прибыль следуя за регулятором, те кто не в теме, как правило теряют
ps. а теперь о бегемотиках ))
не раз уже наблюдал картину как появляется бегемотик на одной стороне, а затем появляется бегемотик на другой стороне, при этом бегемотики все под айсбергом, догадайтесь кто это, и придумайте стратегию, которая это будет фиксировать, у меня не получилось т.к. не понятно какой будет в итоге объем под айсбергом на обоих концах
Константин, проверил сейчас ту стратегию (по сишке) -и до сих пор абсолютно профитная будет, если поработать над параметрами (достсточно стационарными).
Когда делал эту страту — пробовал вычислять намерения этих «бегемотиков-полуспуферов»
(они ни куда не ушли-как 8 лет, так и сейчас, судя по всему-одни и те же) — ничего не получилось (обработка наличия айсберга, слизывающего фронтраннеров и пляски над элим ничего не дали)
и я просто исключил их заявки из обработки стаканов для фронтраннинговой стратегии (как и заявки некоторых маркетмейкеров).
в т.ч и для синтетика mix/rts, синтетики по опционной ликвидности не учитывал (а зря);
Подход был такой- по возможности убрать то, что не можем предсказать т.е не обрабатывать «случайности» — тогда картина становится достаточно ясной,
чтобы с ней далее работать.
Отказался от страты из-за того, что нашел гораздо более эффективные и менее геморройные в плане «подстройки» под рынок подходы.
Даже не допилил как хотел и дальше сишки не адаптировал.
Но в страте разочарование было — думал, что должен получиться суперграаль, а на самом деле небольшое матожидание на фоне маленькой капиталоемкости.
И тогда стало очевидно, что простым ручным торговцам, пытающимся на сишке что-то фронтранить — просто хана — и они даже не подозревают куда попали.
Но, это было давно, еще задолго до того как я обрел способность вычислять действия любой крупной срани и стал Богом трейдинга (шучу);
SuperMegaTrader видимо основывается на старом подходе трейдинга, это сейчас уже точно работать не будет т.к. по Si, чего не было несколько лет назад, уже наблюдаю периодические пустоты в стакане
ps. регулятор убил moex, запустив необратимый процесс, теперь только вопрос времени когда все встанет колом и на рынке останется один лишь регулятор и новички, которых брокеры будут заманивать, сам ищу варианты переползания на импортные биржи, но пока не нашел т.к. есть санкции из-за которых есть вероятность потерять свои деньги у импортного брокера
Мой тестер работает на реальных данных и учитывает задержки исполнения в мс -это настраиваемый параметр. Без этого параметра в тестировании стаканных, а тем более арбитражных стратегий, где задержки очень критичны, в рынок нефиг даже лезть.
Для той стратегии результат при увеличении задержки с 1 сек до 5 сек МО падало процентов на 20 — вручную покуривая входить можно.
Результаты реала любых стратегий у меня практически ни чем не отличаются от тестовых 99% тик в тик -проверено на десятках тысяч сделок. Комиссии все учитывются.
Очевидно что, к примеру, любой самый примитивный арбитражный бот давал бы грааль в тестере на неактуальных данных.
У меня нету резона сочинять- я не околорыночник, не продаю ни чего, да и не персонализирован. Закрываю тему.
вот то, о чем я и говорил )) ответьте на эти вопросы и я вам дам конкретно ответ по ошибке суждения:
1. какое латенси биржи
2. какое латенси от вашего терминала до сервера брокера
3. какое латенси от сервера брокера до биржевого сервера
4. какое латенси в сумме по п.2 и п.3 плюс учет задержки на сервере брокера
5. как учитываете аукцион исполнения заявок на бирже по отношению к своим
понятно, что любой тестер не дает 100% схожий результат, т.к. тут мешает всегда п.5, т.е. есть на определенном уровне цены какой то объем, вы добавляете свой, потом добавляется еще чей то, биржевой сервер исполняет заявки по аукциону, не по факту нахождения цены на данном уровне
ps. тему действительно можно закрывать, т.к. то что вы предлагаете, я реализовал еще в декабре 2016 г., сразу после ввода биржей повышенных комиссий, и поверьте, система учитывающая плотности на базовом активе и на производном, не работает на moex
Я сказал, что система будет абсолютно рабочая, если поработать над параметрами.(в «старом» виде она убыточна, но подает надежды на то чтобы стать прибыльной).Это просто оптимистичное предположение против Вашего пессимистичного. Там полно было эмпирических условий наподобие «на споте _TOM учитываем только объемы от 6000 до 9000 итп. Просто не хочется заморачиваться над этой стратой сейчас -не стоит она того. Но, как нечего будет делать — убью день ради интереса знать то, что чистый фронтран на MOEX не умер до сих пор, и „вы просто его не умеете готовить“ .МО/Комис должно быть >7 на 10 коней рабочего объема.
… Или чтобы разочароваться.
//*****************
ОК. А сейчас Вы над стратегиями какого типа работаете?
Через пятерку метатрейдера торгуете?
Фронтран, ясен пень, отметаем.)
сейчас у меня крутится под МТ5 PIXY-автомат — боковики внутри дня
1, Я не понял как на фрнотрасистему должно было повлиять повышение комиссий? Каков механизм? Когда, к примеру, матожидание десятикратно превосходило комиссии?
2) Я нефть, евродоллар и другие инструменты, тесно связанные с внешними рынками в качестве инструментов для фронтрана даже не рассматривал. Торговал фронтран только на Si и то относительно недолго.
А где сейчас HiPr торгует прибыльно? На фондовой секции?
3) Насчет МТ5.
Вы прозадержки писали Как Вы определяете актуальность события изменения стакана?
Смотрю документацию.
Допустим, произошло событие BookEvent, далее
получили мы структуру MqlBookInfo. Там не указано биржевое время возникновения этого события. Хотя, из Plaza2 его взять не проблема-но, почему-то метаквотс это не сделали, может я не там смотрю?. Там вроде бы есть принт в лог времени от отправки приказа до регистрации на бирже — параметра, на который повлиять не можем при принятии торгового решения, ибо он постфактумный.
по времени в стакане и про латенси не понял, время конечно нужно, но я не парюсь что его нет, а латенси я привел как пример для следующего (упрощенная задача):
1. вы обнаружили плотность в 2000 лотов на цене 56100
2. вы решили кинуть свой лимитник 100 лотов на цену 56100
3. цена поцеловала уровень 56100, объем стал 150 лотов
ВОПРОС:
1. как в тестере вы исполните объем на цене 56100, ведь очередь постановки лимитников вам известна только относительно зафиксированного объема в 2000 лотов
2. какая уверенность в том, что вместе с вашей заявкой не прилетел еще какой то объем
т.е. я про эти ошибки в тестерах которые я встречал
По времени исполнения заявки смотрите соответствующее поле по ордерам, сделкам и позициям, я всегда пишу в список учета полные характеристики по всему, если потом нужно узнать время постановки ордера или его исполнения, то всегда можно это увидеть
а вообще МТ5 конечно имеет много недочетов связанных с биржей
//***********
К примеру, через плазу 2 можно получать лог заявок. Т.е объм заявки, цену, время постановления в стакан. Тогда в тестере весьма адекватно можно определять порядок заявки в очереди с учетом задержек- а исполнение эмулировать на основании лога сделок. Но даже тут загвоздка есть при тестировании в плане влияния собственных объемов на действия других участников, особенно при постановке ордера в спред на некоторых инструментах с небольшим шагом цены и малой плотностью стакана. Попробойте где-нибудь на малоликвидном фьюче на конском спреде стать перед маркетмейкером в 1000 коней даже одним контрактом. Он свои 1000 коней перекинет на шаг перед Вами, не во всех случаях естественно. Можно часто наблюдать ка алгоритмы двух конкурирующих маркетмейкеров зизгаги рисуют, становясь друг педед другом и откатывая назад.
//Насчет тестера на срезах стаканов.
Ну, конечно, можно примерно прикинуть очередь, если стали на пустой банд, а Вас через время «накрыл» крупняк — тогда Вы первый. Но, это все пляски с бубном.
Для адекватности результатов тестирования нужно тестировать исполнения только «с рынка».
Допустим, в Вашем случае, есть сигнал на лонг- пропускаете стаканы истории, которые не укладываются в задержку, к примеру, две секунды после сигнала, далее фиксируете сделку по аск, либо не зависимо от того куда ушла за это время цена, либо можно допустимое проскальзывание задать. И тогда получите тестовые результаты, адекватные реальным. В тестере получите грааль — в реале тоже будет грааль.
Я использую эти данные просто ввиде графика визуально дегче воспринимается и робот не нужен
sourceforge.net/projects/qllib/files/?source=navbar
Файл QL.lua