Как стать автором
Обновить

Комментарии 39

Хотел добавить замечание по коду, хоть и не относящееся к торговле. Здесь вы теряете подробности исключения и вместо них пишете ничего не говорящую надпись:

  except Exception:
            print("Something goes wrong!")


Нужно выводить именно подробности исключения, чтобы было понятно, что произошло. Ну а лучше, вообще, не ловить все исключения подряд и позволить завершиться неисправной программе, вместо того, чтобы спустить все ваши деньги.

Так как это учебная статья, считаю важным, чтобы код в ней учил правильной обработке исключений, пусть это и не относится к торговле.
Я согласен с вами, исправил.
Я правильно понял, что net profit в размере 1.84% эта система у вас заработала за 552 сделки, что составляет около 2-3 месяцев торгов? И 1.84% это после вычета комиссии, или до?
Это данные с бэктеста на Trading View. Я могу предложить вам зайти и проверить эти данные самому на стратегии MACD Strategy, используя тикер XBTUSD (BITCOIN / US DOLLAR PERPETUAL INVERSE SWAP CONTRACT XBTUSD). Этот бэктест нельзя назвать полным отражением написаной стратегии, ибо там нет плеча, но зато есть пирамидинг.
1.84% за 552 сделки и так то немного. Но если из 1.84% вычесть комиссию 0.1%, то результатом этой стратегии окажется глубокий минус.
С другой стороны, тот факт, что 1.84% = 1840 дол предполагает, что для торговли доступно 100000 дол, и это видимо уже с плечом.
Стоит также упомянуть, что при торговле с плечом х100 на той бирже, если вы что-то купили, и рынок неожиданно тикнул вниз на 0.4% (с учетом комиссий), то ваши позиции принудительно закрываются, и вся стратегия на этом закончится.
В общем техническая реализация торговли это, конечно, интересно, но гораздо интереснее было бы узнать о параметрах какой-нибудь реально рабочей стратегии. Но ктож ее раскроет? Стратегия будет рабочей только до того момента, пока о ней остальные не узнали.

Индикаторы, плечо и Мортингейл — три столпа любого начинающего аглотрейдера :)

Коллега, приветствую :). Я написал торгового робота для биржи Bittrex и могу поделится своим опытом:

1) самое главное, что нужно понимать: значение цены — это не чисто случайная величина, а смесь: неслучайная_составляющая + случайная_составляющая.
Отсюда следует, что брать любое среднее можно только от случайных величин => для усреднения данных нужно:
(а) либо выделять данные, в которых изменением неслучайной компоненты можно пренебречь,
(б) либо уметь оценивать неслучайную компоненту и предварительно вычитать ее из данных.
2) Неслучайная компонента — гораздо сложнее случайной. Как правило для учета неслучайной компоненты нужны оценки человека-аналитика (так называемые, «оценки по мнению»).
3) В оценку скользящего среднего я не веру. На мой взгляд, в этой оценке случайная и неслучайная компоненты смешиваются вместе и это приводит только к искажению данных. Плюс в этой оценке участвуют какие-то волшебные числа, которые ниоткуда не следуют. Я верю в стандартное распределение, которые еще никто отменить не смог :).
4) Нужно понимать, на чем робот может вообще зарабатывать / уменьшать потери:
4.1) На случайных колебаний в условиях без тренда (с учетом вероятности появления новых трендов): определяем среднюю цену, покупаем актив ниже этой цены и продаем актив выше этой цены;
4.2) На тренде вверх: покупаем в начале тренда и продаем в конце тренда;
4.3) На тренде вниз: продаем актив, если он есть.
4.2) На тренде вверх: покупаем в начале тренда и продаем в конце тренда;
4.3) На тренде вниз: продаем актив, если он есть.

Как вы понимаете, что тренд есть?
Тренд дает как раз та самая неслучайная компонента. С опозданием и ошибкой эту компоненту можно определить, если предположение, что в данных есть тренд становится более вероятным, чем предположение, что в данных нет тренда.
Что-то я сомневаюсь, что это приносит прибыль. Ну кроме того случая когда купили биток по 100$ и продали по 15к$.

Всё жду когда хоть кто-то похвастается плюсовым графиком, а пока подобные статьи выглядят как алгоритм для доступа к джойнказино =)
Я согласенс вашим скептицизмом, предложенная мною стратегия не является сверхприбыльной, она является лишь примером использования библиотеки talib, бекстеста с trading view и написания кода по исполнению какой-то стратегии. Но если основываться на прошлых данных, такая стратегия в долгосрочной перспективе имеет право на жизнь и может зарабатывать a.k.a выдавать плюсовой график :)
Можно подогнать стратегию под прошлые данные, что что-то мне подсказывает, что биток больше не будет вести себя как в 2017 году.
А что уникального было в 2017г с битком? Вся история битка это памп+дамп+затишье. И каждый раз цена растет в итоге

Я в команде программист, трейдеры сказали, что бэктест битка за 2017 плохая идея

В ценах битка в 2017 году есть закономерности, которые будут работать и в 2018 и позже.
Будут ли эти данные полностью определять цену битка в 2018 году?
Нет не будут.

Ну о том, что бы выбросить данные за 2017 речи и не шло. Я хотел сказать, что прогнать стратегию на данных за 2017 увидеть там красивые цифры и ожидать что в 2018 будет так же наивно.

Биток растет не раз в год, так что возможно затишье в пару лет и больше, но потом что будет не так как в 2017?
для упрощения себе жизни, ордера здесь исполняются не по выставленной заранее цене, а по рыночной

Торговать по рынку категорически нельзя. Лимитные заявки и только они, иначе у вас рано или поздно появятся проблемы :)
Хотелось бы, чтобы вы поподробнее рассказали о проблемах, которые грозят появиться.
Проблема, разумеется, одна — неожиданная цена fill. Когда вы посылаете market order биржа филит его по цене на момент приёма биржей. Эта цена может отличаться от цены, которую ожидал ваш бот.
Акцентирую внимание на самом важном (в дополнение к сказанному turbanoff), цена может ЗНАЧИТЕЛЬНО отличаться от ожидаемой вами. Поэтому, когда имеете дело с биржей – всегда ставьте лимитированные заявки. Если есть хоть одна причина по которой нужно пользоваться ценой по рынку – надеюсь меня поправят :)
Я почти согласен с этим, лимитные ордера это единственный возможный вариант в долгосрочной перспективе, особенно учитывая то, что на BitMEX есть ордера с антикомиссией (что очень приятно).

Но все же если алгоритм работает на больших таймфреймах, то закупка по маркету, то есть погрешность порядка единиц/нескольких десятков долларов, не сильно влияет на перфоманс алгоритма.
добрый день, всем!
Хочу добавить пару ложек дегтя…
1) Как правило прибыльные стратегии получаются на истории, а в реале они убыточные.
Причин для этого много. Часто это связано с тем, что свечи, которыми отображают сделки и по которым строят индикаторы тоже являются индикаторами.
Более того, свечи относятся к индикаторам заглядывающим в будущее.
Т е закрытие свечи на графике всегда отображается «задним» числом.
Поэтому, если есть желание как-то приблизить результат тестов к реальности,
то при тестировании на истории сигнал надо формировать на закрытии свечи,
а сделку совершать на открытии следующей.
2) Алгоритм на основе пересечения двух скользящих средних — это самый примитивный алгоритм, который в реале не работает. Если обратиться к цифрой обработке сигналов то можно понять что это алгоритм подобен полосовому фильтру с фиксированной настройкой. Он будет давать выигрыш (выделять сигнал) лишь при совпадении частоты его настройки с колебаниями рынка и сильном отношении сигнал/шум.
А это будет лишь иногда и то если повезет.
В остальных случаях алгоритм будет давать либо шумовые сигналы, либо явно убыточные, так как игра на бирже — это игра с отрицательным мат ожиданием.
Этот алгоритм подобен фразе в букваре «Мама мыла раму»
Его обычно рассказывают во всех букварях по трейдингу,
чтобы Буратинам было понятно,
что делать прибыльных торговых роботов ну очень просто.
Если обратиться к цифрой обработке сигналов то можно понять что это алгоритм подобен полосовому фильтру

Нет, он подобен фильтру низких частот с выраженными боковыми лепестками.
Куда ты гонишь телят, Макар?
Там же минное поле,
И кругом растяжки!


Ну серьёзно, по корну у него макдак с моржом по рынку торгуют :-)
Уже это выдаёт не любителя, но профессионального зазывалу поля чудес, я молчу про мелкие детали за которыми как правило прячется совсем не маленький дьявол…

Вы посмотрите не размеры этих часовых свечек, посчитайте вероятность словить маржинкол в течении ближайшего часа… Поразмышляйте над лагами машек и их производных, в частности макдака, может быть действительно, с таким лагом раз в час запускаться не грех вовсе…

Для тах кто совсем не в теме, вот пример, масонский немного, но считайте его выдержкой из евангелия от Макиавелли :-)
Когда строят дом, сначала делают фундамент, потом каркас стены итд…
… но у наш строитель пытается прикрутить спутниковую антенну (конектор к конкретной бирже) на крышу которой нет, по этому решает не скорую руку сделать домик из соломы, установив в проём железную дверь как у настоящих банкиров…

Халявы в этой жизни нет, и если кто то вам её даёт, это не с проста.
С начала нужно сделать нормальное хранилище и визуализацию, потом платформу для тестирования, и на ней уже что-то правильно тестировать, правильно, а коннектор дело вообще самое последнее…
Этот пост по сути промо лохотрона «миллионерша раскрывает секрет казино» бесплатно, вот тебе пример кода и рабочая стратегия, а плечё тебе поможет заработать ещё больше :-)

На работе думали на тему алготрейдинга на крипте и решили сосредоточить наши немногочисленные силы на традиционных инструментах. Посему вопрос: получается ли у кого-то?

А как получается на традиционных инструментах?

Бот написан, идей полно, но истину еще не нашли.

Они никогда и не будет найдена. Да и вообще, что есть истина, если задуматься

А чем биток вам не традиционный инструмент? Возьмите GBTC или CBOE:XBT

Интересно, почему всех алготрейдеров тянет в этот Биткоин?
Как инструмент торговли он весьма опасен, волатильность 5-10% в день — легко! Абсолютная непрозрачность рынка, любой анонимус-миллиардер может двигать курсом, любая незначительная новость может обрушить курс.
Есть же фьючерсы на нефть, евродоллар, SP500. Они, как мне кажется, более трендовые, меньше подвержены случайным выбросам в несколько процентов. Комиссии при торговле фьючерсами очень небольшие, плечи есть. Но не такие страшные как 1:100 на биткоине. Вы только вдумайтесь 1:100 на биткоине, который за день 10% ходит. То есть за день можно 10 раз обнулить свой счет, если программа зависла или интернет пропал.

Ну некоторых притягивает не биток, а сами криптобиржи. Надеются получить сверх прибыль на каком-нибудь арбитраже или вовсе приеме за который на обычной бирже в тюрьму сажают.

ittakir, на биткоинах и доход высокий. 0.5% в сутки при торговле без плеча получить более чем реально. Допустим вы неправильно вошли в рынок и биткоин упал на 20% по отношению к доллару сразу после покупки. Если у вас правильно работающий алгоритм вы уже через месяц вышли в ноль (по долларам) и заработали 20% по биткоинам. Обычно криптотрейдеры считают доход в биткоинах и не торгуют против доллара накапливая биткоины. Волатильность на криптовалютных парах ниже. Зачастую если биткоин растет, то и альты начинают расти и наоборот. Есть 2 критических момента: выгоднее купить биткоин на входе в рынок и выгоднее продать если надо вывести средства. Это можно сделать всего несколько дней в месяц.

Думаю будет не лишним дать ссылку на хороший гайд по торговле на BitMex. Автор опытный торговец, ведет свою группу в телеграмм: telegra.ph/Gajd-po-torgovle-na-Bitmex-05-12
0.5% в сутки можно делать на любом инструменте без плечей из вышеперечисленных, включая обычные акции. Я бы вообще не ставил задачу максимизации дохода. Главное, это получать доход стабильно и безопасно, а деньги на большой депозит всегда можно найти.
Ваш пример про -20% мне не очень понятен. Если ваш алгоритм допустил падение счета на 20%, где гарантия что он отыграется через месяц? Что мешает ему в этих сделках еще несколько раз не сделать по -20%?
Я писал про вход в рынок, т.е. когда у вас есть доллары и вы покупаете криптовалюту по текущей цене. Можно войти в любой момент времени и запустить бота торговать. Но если цена упадет, получится убыток в долларах. Можно подождать лучшей цены пару недель, но тогда у нас не будет и торгов. Торгуют против биткоина чтобы наращивать количество биткоинов. И когда торгуют уже не смотрят на то, сколько стоит биткоин в долларах.

По поводу прибыли и убытка, 0.5% это 1.005^365=610% в год. Если такой результат получается на акциях, то я наверно зря игнорирую эту возможность. Хорошим результатом при торговле вручную на криптовалютах считается 20% в месяц.
Реально у меня на акциях вручную стабильно получалось 4 месяца подряд по +10%, каждый месяц около 100 сделок. Потом решил пересидеть убытки в нескольких позах и вернулся к тому, с чего начинал. Так что сидеть в падающем активе никому не рекомендую. Тем более на российском рынке или криптовалютах.
nikolz: Как раз таки наоборот, матожидание торговли на бирже это положительная величина. Представьте себе волновую электростанцию. Колебания выполняют работу, которая преобразуется в энергию и для нас это нормально. На бирже также колебательный процесс, но колебания не волн, а стоимости. Было бы странно, если бы эти колебания нельзя было бы превратить в прибыль. Технически осуществить это не просто. Против менее продвинутых ботов играют более продвинутые боты. А также люди с тугими кошельками, которые периодически устраивают встряску. Когда цена скачет 2-3% за пару минут, MACD на часовике не сможет торговать в плюс.

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

SADKO: Как вы словите маржинкол если торгуете без плеча? На крипте торговаться с плечем и не требуется, там и без этого колебания цены больше чем требуется. Но в целом вы правы. Начинать надо с записи и анализа стаканов заказов. Любой индикатор основывающийся на анализе свечек дает картину с запозданием, да и сами свечки вносят элемент неопределенности. Например цена закрытия это что, цена последней продажи или покупки? Для криптовалютных бирж есть разница, которая может доходить до 0.1-0.5% в зависимости от комиссии биржи.

Zar13st: Получается. А почему у вас не вышло, или вы еще не пытались?
Я то в курсе, но топикастер вещает про маржинальную торговлю, да на свечах, на часовых, маржинкол ему в сраку :-)

А стакан, стакан, я бы не стал на него уповать, ведь одно дело когда в стакане не квалифицированное мясо, и совсем другое ММ боты, в том числе от самой площадки, если мы за крипту говорим… Квалифицированное мясо, в стакане не палится… Да что уж там, если на крипто площадках можно за не дорого насрать в ленту…
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории