А точнее о том, как формализовать тренд в алго торговле на примере ТСЛаб.
Существует масса различных способов для определения тренда. Начиная от готовых индикаторов с “классическими” параметрами и заканчивая “супер навороченными” математическими моделями. Я же решил поделиться своими, относительно простыми, но весьма эффективными (с моей точки зрения) наработками по формализации тренда и созданию тренд-фильтров на их основе.
Итак, как человек, не верящий в систему с одним параметром, всякий раз при разработке нового алгоритма я пытаюсь впихнуть в него какой-нибудь фильтр, который изрядно увеличит количество этих самых параметров, а заодно и профит). Вбил я себе в голову, что нельзя торговать какой-то сетап (паттерн) в отрыве от контекста. Ну вот и фильтрую всё ненужное. Входим на пробой уровня в лонг? Только если глобально рынок растет! Продаем отскок от value area high? Только если глобально снижаемся, или во флете..
Так вот о том, как я в своих стратегиях определяю эти самые глобальные снижения, росты и флеты я и расскажу далее.
Всего у меня есть 2 любимых способа. Каждый обладает своими недостатками и преимуществами. В этой статье расскажу об одном из них, второй оставлю на потом.
Итак, вся суть первого способа заключается в тех буквах… AMA! Или Adaptive Moving Average. Всё до безобразия просто: смотрим на изменение AMA и на основе этого делаем вывод какая тенденция сейчас превалирует.
Теперь немного подробнее и с примерами. Для начала давайте объясню, почему именно AMA, а не какие-нибудь другие буквы (SMA, EMA, ТЬМА). В отличие от других скользящих средних, эта имеет одно замечательное свойство. Если говорить простым языком, то она может менять свой период в зависимости от рыночных условий. Когда на рынке есть направленные и импульсные движения, она ведет себя как быстрая скользящая средняя, когда же на рынке флет, её характер меняется на “медленный”. На практике это означает, что в тренде она будет меняться быстро, а во флете, напротив, даже не пошевелится… Этим и будем пользоваться.
Итак, весь фильтр сводится к одной простой формуле (пример для Ап тренда):
AMA-AMA[-1]>N
Попросту говоря, если за одну свечу значение АМА меняется больше, чем на N пунктов, то мы считаем, что на рынке тренд вверх. Через величину изменения мы по сути дела определяем крутизну скользящей. Чем больше N, тем круче будет расти AMA, тем сильнее тренд.
Ясное дело, таймфрейм AMA, а также величину N мы изменяем в соответствии с поставленными задачами. N мы можем выразить как в абсолютных величинах (пунктах), так и привязать к текущей волатильности (AMA-AMA[-1]>ATR*N), или цене инструмента (AMA-AMA[-1]>CLOSE*N).
Вот, собственно, и весь фильтр. Ниже несколько примеров с отфильтровыванием Ап тренда, Даун тренда и флета.
Что касается недостатков. Хоть и в меньшей степени, но все же AMA, как и все скользящие, запаздывает, что видно на примерах выше. Тем не менее, внедрение подобного фильтра может значительно увеличить эффективность стратегии и даже стать её основой. Проверено как в теории, так и на практике).
P.S. Если статья понравится, то в следующей расскажу про второй способ фильтрования контекста, обладающий некоторыми другими преимуществами. Например, практически полное отсутствие запаздывания ;)
P.S. ЛЧИ2017 Pablik33
Ага, видео тоже кто-то обещал… В прошлом году ))
ибо сам еще более ленивый немотивированный )))
Но обещания выполняю!
www.howtotrade.ru/phorum/read.php?3,6611
=) но интересна доходность автора MEMA.
все индикаторы запаздывают, они же производная цены:
Индикатор = f(Цена);
И тупо нет других способов, кроме как посмотреть на цену разными способами. Сорри за каламбур, но он четко отражает то, что есть на самом деле, в противовес тому, что проповедуют апологеты какой-нибудь одной переневъебенной теории.
Sarmatae, и что Вы предлагаете? Тут вся соль, чтобы запаздывание было меньше характерного времени изменения параметров процесса.
Тогда запаздывание перестает быть проблемой.
ch5oh, я нечего не предлагаю, каждый выбирает сам чем ему пользоваться. Вот такие абстракции реальному трейду не подходят:
«запаздывание» — относительно чего запаздывание?
«характерное время изменение процесса» — просьба дать определение на примере любого графика любого инструмента.
Вы попробуйте с этими понятиями поторговать. Есть абстракции, а есть точки входа в рынок. И здесь очень важно, что изменение значения любого индикатора происходит после изменения цены, а изменение цены может быть в зависимости от волатильности инструмента значительным, что смещает точку входа в рынок.
Так есть ли смысл в запаздывающих индикаторах если можно непосредственно работать от Цены?
Sarmatae, это не «абстракции», а вполне конкретные понятия.
Ваша мистическая "непосредственная Цена" (с большой буквы "Цена"!) — это частный случай мувинга. А именно, SMA(1).
Это, кстати, периодически случается. Начинаешь гонять в оптимизаторе параметры скользяшек — и одна из них устремляется к 1.
Собственно, мне в свое время показалось, что в Вашей торговой технике слишком сложные и слишком неформализуемые правила. Если Вам лично удается заработать 100500% с ее помощью — прекрасно. И Вы должны радоваться, что есть другие участники рынка, которые используют другие подходы. В частности, основанные на индикаторах.
ПС Если ТактикаАдверза такая крутая — покажите Ваше эквити? В ренкинге мосбиржи. Или хотя бы нарисованную эквити из форекс-кухни.
ch5oh, коллега
я никому ничего не противопоставляю и каждый вправе сам выбирать с чем ему прибыльней торговать. Обратил на слабые места в подходе, которые сам прошёл.
Павел Целищев, коллега, спасибо за пост добавил в избранное. Но есть много но, как например:
Т.е. стоп удлиняется, верно? Например цена отскочила и подтверждённый вход здесь, а стоп «далеко» :
ch5oh, что мешает представить мой скрин по-другому. Был ап тренд пошёл даун откат и далее входим по ап тренду.
Стоп от этого сократится?