Микаелян Саро

Читают

User-icon
354

Записи

176

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

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

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

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

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



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

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

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

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

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



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

Все хотят халявы, и никто не хочет учиться!

Приветствую

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

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


Создание "неких" уровней

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

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

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



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

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

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


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



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

Набросайте мне задач

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

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

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

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

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

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



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

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

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

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


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

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

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


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

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

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

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



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

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

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

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

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

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



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

Изучение с#, нужна помощь!

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

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

Так вот, начал изучать С#. в целом мне математика обычно легко дается и ожидаю, что проблем с кодом не будет серьезных возникать. Но столкнулся с тем, что очень сложно изучать язык самостоятельно когда не понимаешь с чего начать и куда двигаться. Материалов в инете полно, как и обучений. НО это ж отдельная вселенная, и не туда повернув — заплутаешь надолго. 
На какой я стадии? в самом начале пути. Учусь на простых примерах кодить. Обычно я в роли преподавателя и скажу честно, я всегда тараторю, и стараюсь максимально сжато мысли излагать — что часто еще сильнее запутывает. Так вот учусь я по видосам где скорость обучения на уровне улитки. 3 часа = 12 строкам кода. И такое размусоливание убивает желание учиться. Итак, ежики кололись, но лезли на кактус, это про меня.



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

теги блога Микаелян Саро

....все тэги



UPDONW
Новый дизайн