Избранное трейдера Sergey Pavlov
Продолжаем разработку универсального робота!
Выкладываю код OUR-0.3, который в настоящий момент еще далеко не полный – это только основа, скачать можно здесь https://yadi.sk/d/l3uic67yruCxa
Код прокомментирован подробно, но дам дополнительное описание общего плана, чтобы логику работы робота можно было представить.
Итак, по порядку:
Робот состоит из двух файлов: OUR.lua содержит основные функции (OnInit, main, коолбэки – пока только один OnStop), FunOUR.lua содержит вспомогательные функции – все остальные. Дополнительно приложен файл с информацией и файл с образцом котировок.
Функция OnInit
1 Первоначально котировки с сервера поступают в источник – таблицу с барами TBar (там все заполняется автоматически при подключении источника).
2 Далее робот делает различные вычисления, результаты которых он помещает в таблицу с данными TDat (также туда копируются параметры баров из TBar), эту таблицу нужно заполнять самому, ключи таблицы на свое усмотрение, но конечно часть ключей в алгоритм уже заложены, это «key»,«O»,«H»,«L»,«C»,«V»,«T» от них идут все вычисления. TDat – это таблица, содержащая таблицы по каждому бару, ключ соответствует номеру бара в источнике. Структура такого типа:
TDat = { [1321] = {"O","H","L","C","SMAf","SMAs"…}, [1322] = {"O","H","L","C","SMAf","SMAs"…}, … }
Как было отмечено в предыдущей части – вся суть технического анализа со всеми его индикаторами сводится к пересечению линий. Например, быстрая скользящая средняя пересекает медленную скользящую среднюю; цена пересекает уровень или любую линию какого-нибудь индикатора; RSI пересек уровень 70% и т.д. Ну пусть даже и есть исключения – напишем под них отдельные функции, главное, что наше обобщение будет охватывать 90% случаев ))).
Итак, из чего же состоят сигналы пересечения линий? А состоят они из событий и состояний. Событие – это факт пересечения, состояние – это фактическое расположение линий относительно друг друга.
На рисунке показано, как это выглядит геометрически на примере пересечения скользящих средних. А с точки зрения программирования эти события и состояния удобно представить в виде битовых флагов – сопоставить каждому из них определенный бит числа и если он установлен, то событие или состояние имеется и наоборот.9. Работа на послеторговых сессиях.
Только наиболее ликвидные бумаги. Требование маржинальности и доступности в шорт.
Вход.
После окончания основных торгов, начиная с 18:40, ищем в «стаканах» крупную заявку, которая явно может сдвинуть результирующую цену послеторговой сессии в свою сторону. Цена должна сильно (на 0,8-1%) отличаться от Цены закрытия последней свечи основных торгов. Встаем перед ней ей в противоход.
Объем.
Без плечей, таким объемом, чтобы не сдвинуть «стакан».
Выход.
На предторговой сессии или на открытии основных торгов следующего дня.
Если мировые рынки, в первую очередь американский, пойдут против позиции, Цена чаще всего открывается близко к точке входа. В этом случае выход по безубытку или с небольшим убытком.
В противном случае цель — половина полученной разницы между ценой входа в позицию и ценой закрытия последней свечи основных торгов.
Стоп: отсутствует.
6. Свечные паттерны. Разворот
Рисунок 23
После сильной дневной свечи (от 2%) появляется свеча противоположного направления, также не менее 2%, и закрытие на макс/мин дня. Тень в направлении второй свечи не более 0,3%.
В позицию пока не входим, ждем третий день.
Если следующая свеча пробивает уровень первой и второй свечи гэпом по направлению второй свечи — входа нет.
Условие входа: открытие против второй, сигнальной свечи, или на уровне макс/мин сигнальной свечи.
Вход — стоп-приказом на уровне макс/мин второго дня (по его направлению).
Объем 2-3 плеча.
Стоп 0,3% от точки входа.
Цель — 0,5% для первых 50% позиции и 1% для вторых 50% позиции.
Если первые 50% позиции закрыты по цели 0,5%, стоп переносится на уровень цены входа в позицию.
Удержание позиции не более 30 минут.
Переноса позиции нет.
Направление позиции лонг/шорт.
4. Контртренд.
Работает для 30 наиболее ликвидных бумаг.
Точка входа ищется только в первые 2 часа торгов.
Не использовать, если по акции вышла новость, вызвавшая сильное движение цены (до недели тому назад) .
Вход только на свои, без плечей.
Направление позиции лонг/шорт.
При прочих равных, выбирается более «быстрая» бумага.
Желательно, чтобы бумага опережала рынок, или шла в против рынка.
Ищем бумагу, которая в первые 2 часа работы выросла на 2,5-3%. Рост отсчитывается от последней сделки вчерашнего дня, результаты послеторговой сессии не учитывается.
Вход против движения на 50% портфеля.
По-возможности ищется плотность котировок в стакане и заявка размещается перед ней (± 10 копеек).
Откуп позиции — 0,5% от точки входа.
Если после входа цена не откатывает и не продолжает движение, т.е. консолидируется, то выход через 30 минут.
Если рост продолжается до 3,5-4%, вход на оставшиеся 50% портфеля.
Стоп устанавливается на усмотрение трейдера — 4,3-4,5% роста бумаги.
При доливке позиции, средняя цена получается в районе 3—3,5% роста.
Цель устанавливается на 0,5% ниже средней цены позиции.
Есть выход по времени — макс. 30 минут после доливки.
За картинки сорри — принтскрин с PDF
Торговые стратегии трейдера ТАТАРИН30
Содержание
1.Предисловие.
2. Рост/падение 5 дней подряд.
3. Лидеры роста. 4,5%.
4. Контртренд.
5. Статистический арбитраж ФСК ЕЭС — Россети.
6. Свечные паттерны. Разворот
7. Свечные паттерны. Продолжение
8. Свечные паттерны. Треугольники
9. Работа на после торговых сессиях
10. Фьючерсы
11. Вход при пробое границы коридора.
1. Предисловие.
В настоящем обзоре приводятся стратегии успешного трейдера, ведущего свой блог на Смартлабе.
Основанием для написания послужило обучение, пройденное у него некоторое время назад. Обладая собственным значительным опытом торговли на фондовой бирже, должен отметить, что все предложенные стратегии являются рабочими. Однако возможность практической работы по ним несколько различается. Для некоторых стратегий возможна простая торговля «руками», для других предпочтительна небольшая «механизация» в виде вспомогательных программ и/или скриптов, реализацию третьих либо полу-, либо полностью автоматизировать.