Блог им. Saro |Торговля по "виртуальной" просадке

Приветствую!

Частенько встречал высказывания и сам не раз их озвучивал, типа запускать робота лучше после просадочки. Ну я обычно если понимаю, что рынок не в фазе моего бота, то я снижаю ему обьемы (никак не прикручу этот механизм на уровне автоматизации. в основном ленюсь замарачиваться и рынок не раз за это наказывал). 
Тут поступила просьба прикрутить систему когда робот не торгует реально, а торгует «фиктивно», строится эквити (кривулька дохода) и как достигли некой просадки и начинаем из нее выходить (не из самой просадки как таковой — а типа фаза рынка) то включаются реальные сделки. таким образом попытаться минимизировать непосредственно те самые крупные просадки по счету. 

в целом естественно это лишь возможная диверсификация торговли, а никак не основная торговля, но получилось интересно в целом. проверил на разных алгоритмах, в целом приятно положительная динамика.

В видосе показал — как реализовать несколько вариантов в тслабе (важно, только в 2.1 такое возможно, в 2.0 нет данного функционала.)
По сути сделал 3 сценария



( Читать дальше )

Блог им. Saro |Мое имхо на оптимизацию алгоритма.

Приветствую!

Заранее прошу прощения за ошибки в тексте. иногда залипает буква «о» и приходится ее копипастом печатать.

Хотелось бы подискутировать на тему оптимизации. Много трейдеров, находятся в нескончаемых поисках лучших параметров для своих стратегий, и ставят оптимизацию, выше чем саму суть алгоритма и трейдинга. Лично сам я, крайне редко прибегаю к оптимизации. И не важно какой крутой бы не был тестер. с бэктестингом или форвард, 3д графики и различные коэффициенты — это все, не так будет важно при попытках переоптимизировать и подогнаться под график. 
Смысл всей оптимизации, под имеющиеся данные — найти наилучший результат. это по сути — просто статистика. Да мы можем подставить наоптимизированные цифры в новую история (форвард) и тем самым сделать вывод типа и на истории хорошо и на новых данных тоже хорошо, вот только гарантии, что онлайн — будет так же, нет никакой, если мы в самом алгоритме, не учли возможные изменения в рынке.
Нет речи о создании, конечно, грааля. Приведу пример: например парный трейдинг в классике, пара газпром/лукойл. торгуем себе от соотношения пары 8-9, а потом бац и разрыв уходит до 6 потом до 3 и все, что мы там и как бы не оптимизировали — рынок уже другой. Взять ртс. до 2008года потом до 2011 потом до 2014 — абсолютно разная бумага. Это нужно понимать и не делать оптимизацию на 15 лет и думать, что если все гладко, то у нас грааль. 
Конечно все это выбор каждого, потому расскажу в каких случаях я прибегаю к оптимизации.
Пример 1 
Алгоритм по паттернам. у каждого они свои. условно смотрю на величину бара на минутке, 5, 10 и 15, а так же их объемы. 
Следущим шагом я в алгоритме указываю минимальные значения которые готов рассматривать и максимальные. Далее идут в оптимизацию и смотрю — какие есть варианты. 
Мое имхо на оптимизацию алгоритма.
Сортирую по лучшему доходу и смотрю — ага, есть 100результатов из них есть варианты с большой частотой сделок и маленькой — доход соразмерен. Логичен ли для меня/алгоритма вариант с малой частотой сделок или наоборт? Дальше анализирую сами параметры. если их разброс очень сильный при соразмерных результатах — то нужно проверить на истории подлиннее. В идеале конечно останется несколько близких результатов и это можно будет просто в часть диверсификации алгоритма впихнуть. 



( Читать дальше )

Блог им. Saro |Все хотят халявы, и никто не хочет учиться!

Приветствую

Запустил идею в телеграмме: сделал скрипт «болванку», далее каждый берет его и добавляет 1-2 фильтра, в попытке улучшить результат скрипта. 
Цель данного мероприятия в том, чтобы, каждый мог подсмотреть чужие мысли. При этом уверен, были б и совпадения у многих, на начальном этапе. Но с каждым усложнением алгоритма, уже были б более «тонкие» мысли и идеи, так как вместо банальных идей, уже подключался бы опыт человека. 
Угадайте чем закончился эксперимент? 0 попыток. никто не попытался ничего сделать) Либо все слишком продвинутого уровня, либо все ждут готовых решений. 
Но ничего) предпримем еще пару попыток. 
В этот раз даю скрипт, сделан для лонгов. Цель, повторить идею и собрать шорт. В данном алгоритме нет крутой идеи, или чего т сложного, иначе всем просто  будет очень сложно разобраться в нем. Повторюсь, все в целях образовательных. То есть, взяли скрипт, разорались в нем, и это главная задача, а повторить и сделать шорт — это уже «механика»
ссыль на телеграмм канал https://t.me/msvTslab где выкладываю скрипт. 

P.S. так же если какие либо есть вопросы пожелания и предложения — пишите. 


Блог им. Saro |Создание "неких" уровней

Приветствую.

В предыдущих обращениях просили уровни. 
Смысл такой. Если от уровня, верхнего или нижнего, цена на 2000 (параметризируемое значение) отскочила — то уровень «значимый»
На самом деле делается не сложно. Вначале просто запоминаем уровни любые. Далее придаем им уже значимость.

получится так: 
Создание "неких" уровней
Так мы получаем «вечные уровни самой высокой и низкой цены. и на истории у нас в итоге зажмется цена например по ртс между 50000 и 220000. Естественно для работы не получится их использовать. И далее уже добавляем логику.
1 уровни если раздетелись между собой больше заданного (например более 8000) то уже нужно искать новые уровни так как сильный размах цен. 
2 кроме этого, можно смотреть так же если например мы растем, то верхние значения будут меняться, а нижние нет. и например если несколько дней, верх меняется, а низ нет, то искать новый нижний уровень
Далее получим ситуацию, когда цена зажмется между двумя „значимыми“ неизменными уровнями (эт наш некий боковик). Дальше как обычно — полет фантазии. можно применить это как фильтры, можно торговать от уровней итд. 



( Читать дальше )

Блог им. Saro |Процесс формализации и реализации дивергенции

Приветствтую!


В предыдущей статье, просили в комментах дивергенцию реализовать по MACD. Казалось довольно понятная и простая ситуация (нет)
Процесс формализации довольно сложный оказался. Для начала я пошел таким путем — нашел на графике типичную ситуацию, и попытался ее обьяснить «роботу». По сути надо было найти две «впадинки» на графике, одна ниже другой, и две «холма» по индикатору. 
Процесс формализации и реализации дивергенции
А по сути получилось так, что 100% совпадать точки не будут (крайне редко могут совпасть) Это натолкнуло на мысль искать сценарий, при котором я оцениваю ситуацию, с другой стороны. Смотрю на то что в среднем график снижается, а индикатор растет. И тут оказалось тоже засада. 
В общей картине индикатор растет, но на самом деле, в момент образования второй впадинки на графике, макд в 90% случаев начинает так же снижаться. Как итог, получилось так, что долгим упорным методом формализации, я смог обьяснить роботу — только частный пример (такие были повторяющиеся примеры на истории, но довольно мало.



( Читать дальше )

Блог им. Saro |Набросайте мне задач

Приветствую всех. 

Давненько не писал ни статьи, ни видео. В общем пропал с радаров. 

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

В самом трейдинге, занял пассивную роль. Пара ботов приносят свои копейки, и как то ничего другого не делаю (видать жду плачевный опыт со сливом, прежде чем начать шевелиться)
Собственно, теперь хочется себе мозги освежить. Уже стало сложно отрицать крипту, и приходится ее изучать. искать алгоритмы в ней, еще не начал, все же рынок не устоявшийся для меня, и работать по истории движения — точно не получается. но шаги в поисках себя там, делаю.

к чему данный пост?! 

Чтобы перестать лениться, буду реализовывать ваши идеи или сложные моменты, которые у вас не получается реализовать в алгоритмах (если конечно сам осилить смогу) естественно без фанатизма) то есть, можете в личку предлагать, чтобы хотелось увидеть и я буду стараться стабильно это выкладывать в том или ином виде. 



( Читать дальше )

Блог им. Saro |Фильтрация по тренду на примерах простых алгоритмов

Приветствую!

Довольно часто, наблюдаю, что при создании алгоритмов, чаще прибегают к поиску прибыли через оптимизацию параметров, или не видя красивые «зеленные холмы» прибыли, просто сворачивают попытки развивать и насыщать алгоритм условиями. 
В примере ролика постарался продемонстрировать, возможно банальную попытку фильтрации, в основном идея для новичком.
Исходя из распределения дневных кластеров (объемы по ценам) «вырезаю сердцевину проторговки» и фильтрую по движению его границ. 
Другими словами, беру 50% проторговки цены и исходя из его динамики выявляю наличие тренда или его отсутствие, и тем самым фильтрую сделки по скользящим и по пробою уровня со стандартными параметрами. Все это работать может только при наличии тиковых данных, это нужно иметь ввиду, если решите повторить ролик. 


( Читать дальше )
  • обсудить на форуме:
  • TSLab

Блог им. Saro |Сложности в алгоритмизации боковика

Приветствую!


В предыдущей статье писал, о целях поиска локального боковика с помощью алгоритма. Расскажу с какими сложностями при этом приходится сталкиваться.

1 Что есть боковик? почему в одном случае мы считаем что это боковик, а в другом похожем случае это не является боковиком?
2 Размер боковика! Локальный боковик может быть как 0.1% от цены так и несколько процентов от цены. 
Так же можно описать множество пунктов, но они все смежные будут с выделенными двумя пунктами. 

Как определить, что рынок возле той или иной цены остановится и пойдет обратно? только не постфактум, а именно онлайн. Да, мы рисуем уровни руками, или же смотрим на объемы и тд, но изначально никто не знает где и почему цена остановилась. Мы всегда наблюдаем уже постфактум, либо это синусоида цены, либо  накопление объемов на уровне и тд. А значит мы с определением боковика всегда будем опаздывать от реального рынка. 
Второй же пункт, это границы бокового движения. Пример сбера, последние две три недели он гулял в большом диапазоне от 20300 до 21000 грубо говоря, но при этом были и локальные уровни остановки цены в пределах 100-200р канала. В таком ракурсе получается, что при движении от нижнего канала к верхнему с учетом остановок, можно получать 300-400р с движения если отталкиваться от того, что цена вышла из маленького боковика и движется к большому. 
Именно эти сложности приходится преодолевать при алгоритмизации. Ведь алгоритм должен сам определить боковое это движение или вялотекущее направленное. 
Пока что не придумал ничего толкового. Есть идея, которую наполовину реализовал
1 проверяю выше закрытие предыдущего или нет, и строю верхний канал по большему значению
2 аналогично для нижнего канала, проверяю ниже мы предыдущего закрытия или нет. 
3 слежу за ситуациями при которых верхнее значение канала как и нижнее значение не менялось более 60минут (это уже параметр, можно и без него конечно, через счетчик получив просто силу канала, например что мы 5 часов не вышли за границы, или же например сколько раз «кололи» канал но вернулись в его границы и тд)
4 канал считается не действительным при резком закреплении цены выше его границ, допустим большой минутной свечой закрылись выше/ниже границ
5 границы канала должны меняться после направленного движения и новой остановки
6 размах от верхнего к нижнему значению, не должен превышать Х% от цены 

Какие минусы
1 Процент размаха дает возможность смотреть маленький ли канал в данный момент или большой, но это является параметром, а значит может привести к «лудоманству». Каких либо других возможностей поиска локального боковика пока что, не видится возможным, потому остановился на этом
2 Я всегда опаздываю за ценой. Если действовать сразу и брать с первых же баров определение боковика, то будет очень большое количество ложных определений, и соответственно, множество не правильных входов
3 Любые остановы движения цены, ломают логику и идет поиск очередного боковика, обычно это преждевременно получается. 
4 Ложное расширение боковика, которое можно определить только постфактумом и нужно перерисовывать границы. 
Ниже примеры в картинках
 Сложности в алгоритмизации боковика
Ложный выход из боковика



( Читать дальше )

Блог им. Saro |Когда на рынке тухло - хочется экспериментировать. Профиль рынка/кластерный анализ/объемный анализ

Приветствую! 

В частном примере тухлость рынка имею ввиду последние недели две на фьюче сбера. 

Так вот, пока изучаю C# и мозг сильно плавится от кода. Мысль о наставнике, который бы давал ответы на примитивные вопросы, уже не кажется для меня пугающей. Понимаю, что с одной стороны ничего вроде бы сложного нет, но не зная простых законов, можно очень долго блуждать в неведении. Но, при этом есть желание разобраться самому, в общем сложная философская дилема.  
Отвлекаюсь от процесса изучения C#?  попыткой создать алгоритм по «вертикальному об]ему». Везде это по разному называется, я привык называть кластером, в ТСЛаб это называют торговая статистика, на просторах интернета же, все по разному. Чтобы все понимали про что речь вот картинка. 
Когда на рынке тухло - хочется экспериментировать. Профиль рынка/кластерный анализ/объемный анализ

Картинка с ртс, но она была под рукой просто))
Так вот, как и все в трейдинге, про подобный анализ часто записывая видео, люди рассказывают о постфактумах. Типа вот здесь был крупный обьем потому мы пошли вниз или вверх. Вот здесь сильный уровень проторговки видим, потому стоило шортить (а этот уровень сильным стал намного позже на самом деле, так как его не раз еще после этого «проторговали»)



( Читать дальше )

Блог им. Saro |Алгоритмизация трейдинга

Приветствую!

В данной статье хотелось бы рассказать о недавнем опыте процесса алгоритмизации ручной торговли.

Немного предыстории. Пришел человек с желанием сделать робота из серии, имею желание, но не имею возможности (не могу программировать). Ну это довольно распространенное явление. Суть алгоритма не такая и сложная для трейдера, НО обьяснить программисту, который не имеет опыта трейдинга — довольно таки сложно, имхо. 
Собственно обычно, даже «гури» рынка, не всегда могут обьяснить принцип своей торговой системы (ну кроме великих обучателей, которые легко могут обьяснить что покупать нужно дешевле, а продавать дороже!) 

С чего же начинать процесс описания системы,  в таком случае?

Как мне кажется, необходимо следовать простым правилам

1 не врать самому себе (если данный алгоритм не приносит в ручной торговле 50% в месяц, естественно цифра условная, то и после алгоритмизации не стоит ожидать большого профита) 
Лично для меня это самый важный пункт в процессе алгоритмизации. 
2 Делать для себя заметки, максимально детализируя принцип принятия решения о входе. 
Помимо того, что мы рисуем индикаторы и каналы, на которые ориентируемся в торговле, всегда присутствует множество факторов, особенно если трейдинг активный, внутредневной. Это и время в которое мы торгуем и не торгуем,  личные ощущения (ну например цена слишком сильно выросла или слишком сильно упала для данного инструмента и мы приняли решение «ловить падающий нож»), новости, «коррелируемые тикеры (ну например нефть подросла, бакс упал и мы решили срочно пора покупать ртс), плотность в стакане (возможно), накопление кластера (»аля volfix"), усреднение убытка (желание не закрывать своего лося, а тянуть неизбежное) и тд и тп. Реально лучше описывать абсолютно все детали. Чисто теоретически алгоритмизировать можно практически все, от слов, все покупали и я решил купить. 
3 Описать личный мани и риск менеджмент (если такой имеется) 

После этих довольно не сложных шагов уже начнется выжимка алгоритма. Тут есть два пути. Первый — это все описанное абсолютно все, реализовать, и потом методом проб и ошибок отсекать то, что делает результат только хуже (так как анализом уже совершенных сделок, редко какой трейдер занимается). Второй же путь обратный,  начинать реализацию от основного сигнала, и в дальнейшем наращивать дополнительные условия (удобнее всего делать в виде настроек, для того чтобы было проще ту или иную настройку вкл/выкл). 

Естественно в дальнейшем будет огромное количество изменений и дополнений в алгоритме потому тут или уж нанимать постоянного программиста себе или упереться и научиться самому(правильнее имхо)

Цель, автоматизации алгоритма, не всегда сводится к тому, что робот торгует, а я кайфую на островах. Нет, это абсолютно не так, и если перестать анализировать рынок то довольно быстро упираемся в отсутствии идей трейдинга. Чаще всего сталкиваюсь с тем, что вроде бы у человека есть алгоритм, но это по большей части «теоретический трейдинг», то есть когда основной заработок только в теории. Далее после алгоритмизации и анализа результата сводится или к разочарованию (что тоже не плохо, ведь лучше разочароваться так, чем после слива денег) или к более правильному выходу — совершенствованию системы, в плоть до полного отказа от первоначального алгоритма и рождению нечто нового!
Понятно что в случае с совершенствованием системы, процесс бесконечен, но что делать если разочаровались в алгоритме? Хоть и субьективно, но все же, по моему опыту, большинство трейдеров просто уходят с рынка, после разочарования. Единственно что могу посоветовать — делайте перерывы в торговле с изучением нового для себя, новый софт, новые «индикаторы», новые методы и тд. 

Теперь к конкретному примеру, с которым ко мне пришел человек. Суть в двух словах — ловить импульс рынка, выходить когда встретили сопротивление (объемы накопленные в кластерах) или по стопу. Конечно это упрощенное изложение, но не могу же чужие секреты расскрывать (хоть секретов и нет, но все же не этичненько) 

В целом для внутредневного трейдинга алгоритм довольно нормальный. Не топчик, но как к минимум потенциально интересный. На данном этапе осталось только управление размером позиции доделать и будет уже интереснее результаты, но пока что дела обстоят так:
Тут результаты по rih 
Алгоритмизация трейдинга



( Читать дальше )
  • обсудить на форуме:
  • TSLab

....все тэги
UPDONW
Новый дизайн