Маржинальный торговый робот на криптовалютной бирже BitMEX. Робот на бирже
Как работают Торговые роботы и Советники на Форекс
Что такое торговый робот или советник
Торговый советник – это программа, написанная для автоматизации трейдинга. Очень часто можно встретить такое название, как торговый робот (это одно и то же).
Основная задача любого советника – упростить процесс принятия решений, вплоть до его полной автоматизации, то есть торговый советник – это программа которая способна автоматически открывать и закрывать сделки на Форекс, а также на других рынках. Такой робот подключается к торговому терминалу и может торговать за вас в автоматическом режиме по заданным настройкам.
В сети можно встретить достаточно большое количество подобных автоматизированных систем, разработанных как отечественными, так и зарубежными программистами. Естественно, большинство из них достаточно серьезно разрекламировано, обещая трейдеру значительные прибыли при минимальных усилиях.
- почему торговые роботы сливают депозиты?
- почему ими все пользуются?
- когда нужен торговый советник?
В этой статье мы постараемся разобраться в том, что такое торговый советник, в чем заключаются его плюсы и минусы, какие бывают советники, а также определимся, стоит ли вообще их применять в своей работе.
Суть торгового советника
Советник или робот, как уже отмечалось выше, это программа, созданная для интеграции с торговой платформой с целью автоматизации процесса торговли. Но что же лежит в основе советника? Что движет им в процессе работы?
Любой советник основан либо на индикаторах технического анализа, либо на постулатах теории математической вероятности.
Программист при создании робота берет за основу тот или иной технический индикатор и автоматизирует его работу таким образом, чтобы советник мог не только показывать сигналы и определять их, но и принимать самостоятельное решение. Правда, есть и полуавтоматические советники. Но о такой классификации мы расскажем ниже.
Итак, есть индикатор или группа индикаторов, которые работает в автоматическом режиме. Под них пишется код для интеграции с платформой и автоматизации работы. Это очень важно понимать особенно начинающим трейдерам, которые возлагаютбольшие надежды на советники. Зачастую, многие ошибочно полагают, что торговые роботы что-то анализируют и принимают какое-то решение. Их отождествляют с чем-то сверхъестественным. Но на практике все куда прозаичнее.
Виды торговых советников
Для классификации торговых роботов, необходимо определиться с признаками, по которым они будут группироваться. В целом, по принципу их работы, роботов можно разделить условно на две большие группы:
- автоматические торговые роботы;
- полуавтоматические торговые роботы.
Первая группа включает в себя роботов, которые запрограммированы на полную автоматизацию процесса торговли. Это значит, что они не только находят сигналы, но и сами открывают сделки. Естественно, «полная автоматизация» здесь условна. Дело в том, что советник все равно работает по настройкам трейдера в части, касающейся объема лота, ограничений рисков и управления капиталом.
Ко второй группе относятся советники, в работе с которыми окончательное решение принимает трейдер. Такой советник самостоятельно определяет сигналы и дает трейдеру результат анализа. Трейдер же, с учетом этого результата, принимает решение, в соответствии с своей стратегий риск менеджмента и управления капиталом.
Какой советник из приведенной выше классификации лучше использовать? Это дело вкуса. Кто-то предпочитает сам принимать итоговое решение, а кто-то хочет добиться максимальной автоматизации и не находиться возле монитора.
Классифицировать советники можно также по принципу их работы. Здесь выделяют следующие группы:
- Трендовые торговые советники – это роботы, которые работают по принципу поиска тренда и открытия сделок по нему. В основе таких роботов лежат индикаторы тренда.
- Контртрендовые советники – в основе которых лежат осцилляторы. В отличие от трендовых, такие роботы работают в условиях отсутствия на рынке определенной тенденции (что, в принципе, вполне логично, с учетом набора инструментов).
- Мультивалютные советники могут одновременно работать с несколькими валютами. Кстати, по желанию можно настроить их на работу с одной валютой. Мультивалютность – это лишь опция. В остальном они похожи на другие виды советников.
- Скальпирующие советники работают по системе скальпинга. Сделки открываются на небольшой промежуток времени. Причем система такова, что открывается сразу много трейдеров, прибыль по каждому из которых незначительно. Но кумулятивный доход может быт достаточно высоким (кстати, такие роботы являются наиболее опасными с точки зрения риск менеджмента).
- Комбинированные торговые советники решают задачу работы с несколькими стратегиями. В состав таких роботов может входить несколько советников, которые и сменяют друг друга время от времени. Естественно, все это происходит полностью в автоматическом режиме.
- Торговые роботы по системе Мартингейла торгуют по известной стратегии удвоения. Трейдеры, которые сталкивались с самой системой, вероятно легко смогут оценить преимущества и недостатки этих индикаторов.
Настройка торгового советника
Несмотря на то, что большинство торговых роботов имеют четкие инструкции по работе с ними, мы приведем пример настроек:
- lots – лот. Это объем сделки, которым может торговать советник. Можно устанавливать значение от 0,01;
- minlots – это минимальный лот с которого начинает работу советник;
- maxlots – выставляя этот параметр, вы устанавливаете максимальный лот, которым может работать советник;
- risk – процент риска, который допустим в работе советника;
- maxorders – максимальное количество ордеров, которые может открыть советник;
- mm – управление капиталом. Можно либо включить, либо отключить данную опцию;
- slippage – ценовое проскальзывание;
- maxspread – максимальный спред;
- stoploss – это выставление уровня стоп-приказа;
- takeprofit – советник может выставлять тейк профит;
- trailingstop – советник работает со следящим стоп-лоссом;
- magic – это специальное число, которое присваивается сделка советника. Эта опция необходима для того, чтобы робот работал исключительно со своими ордерами и не трогал те, которые открываются трейдером вручную.
Перечисленные выше опции – это основной набор инструментов, доступный трейдеру. Как видно, они позволяют достаточно гибко настраивать работу советника, что является большим преимуществом. Ранее существовавшие советники не предлагали такой возможности и зачастую, это негативно сказывалось на результате их работы.
Преимущества и недостатки
Торговые роботы изначально имеют своей целью минимизировать участие трейдера в работе.
В полностью автоматических советниках сделки открываются алгоритмом. Следовательно, трейдер практически никак не участвует в самом процессе торговли. Те, кто занимается продажей советников говорят о том, что они будут зарабатывать вместо трейдера. Но подобные слоганы «слегка лукавят». Об этом мы расскажем чуть ниже.
Еще одно преимущество советников заключается в их многообразии. Вы можете установить любой тип советника и работать с ним. Это позволяет получать профит практически в любой рыночной ситуации. Опять же – рыночный слоган. Почему это не совсем так, мы расскажем ниже.
Очевидные плюсы
Важным преимуществом советников именно перед трейдерами является то, что они не имеют эмоций. Советник не «жадничает», он не способен испытывать страх. Робот никогда не устает, на него не оказывается психологическая нагрузка.
Еще один существенный момент – советник рассматривает только те сигналы, которые дает индикатор.
Причем делает это объективно, на основании показаний алгоритма.
Трейдер часто принимает субъективные решения, выдает желаемое за действительное. И при этом допускает грубейшие ошибки в своей работе.
Как торговые роботы могут слить депозит
Сразу же отметим, вся дальнейшая информация будет крайне объективной и интересной для всех трейдеров, будь то новички или профессионалы.
К недостаткам торговых роботов можно отнести отсутствие у них человеческого интеллекта. Искусственный интеллект пока что не способен на равных «тягаться» с человеческим. Соответственно, робот принимает только стандартные решения, заложенные в его программе. Но даже новички знают о том, что стандартные решения и рынок – это несовместимые понятия.
В чем проявляется данный недостаток?
Любой, даже комбинированный торговый робот не в состоянии отличить тренд от флета (если повезет, несколько раз такое возможно, но в долгосрочной перспективе это просто не реально). К каким последствиям это может привести? Только представьте себе, что вы торгуете в период флета с индикатором вроде RSI. Пока цена изменяется в диапазоне, все замечательно. RSI показывает области перекупленности и перепроданности, от которых вы открываете сделки в противоположную сторону.
- Однако такое состояние у рынка будет далеко не всегда. Предположим, случился резкий импульс с пробитием диапазона вверх. Индикатор RSI будет находиться в области перекупленности, затем выходить из нее и снова заходить по мере тренда.
Если вы торгуете вручную, вы сможете заметить это и минимизировать потери более ранним выходом из сделки. Если же работает советник, он будет открывать сделку каждый раз, когда кривая индикатора (который лежит в основе советника), будет выходить из области перекупленности. В результате, советник может открыть массу сделок и все они будут убыточными.
То же самое касается и трендовых советников в период флета. Комбинированные роботы, по мнению из создателей, способны решать эту задачу. Но на самом деле, это не более чем реклама. Наоборот, комбинированные роботы только усложняют весь процесс работы и могут сделать массу ошибок.
Еще один недостаток – «устаревание» советника. Дело в том, что любая самая прибыльная стратегия, которая сегодня приносит хороший доход, завтра устареет и будет ошибаться все чаще и чаще. Тоже самое касается и советников.Они устаревают, причем достаточно быстро. И начинают допускать ошибки. Если вы купили советника, вам придется покупать другого. То есть это дополнительные расходы, которые могут не окупаться работой самого робота.
Многие трейдеры рекомендуют работать с советниками по следующему принципу – получение сигналов согласовывается с собственным анализом (речь идет о полуавтоматической торговле, когда трейдер сам принимает решения).
Отзывы трейдеров о торговых советниках
Evgeny M. “Бесплатные советники всегда очень низкого качества и всегда очень быстро сливают Ваш депозит. Дело в том, что бесплатные советники обычно создают не для того, чтобы зарабатывать деньги, а для каких-то демонстрационных целей. Или в бесплатный доступ выкидывают неудачно созданных советников. Это когда человек создал советника, но потом увидел, что с его помощью нельзя ничего заработать и поэтому не стал использовать сам и не стал его продавать, так как понял, что его никто не купит.”
“Любой человек стремится делать меньше, а получать больше. И благодаря этому во всех сферах нашей жизни автоматизация труда выходит на первый план. Роботы на форексе просто необходимы, так как с таким количеством информации один человек справиться не способен, а группа людей не застрахована от ошибок, так как не является единым организмом. И поэтому роботы – лучший выход.”
bwv372 “Есть одно интересное выражение в бизнесе: если хочешь угробить свое дело, доверь его кому-нибудь. Применимо ли это к роботам на бирже? “Роботорговля” развивается очень быстро, и я бы не отказался от такого помощника. Вопрос в том, как долго помощник будет помогать? Ведь, если есть роботы, то должны существовать или появляться антироботы, которые будут сливать наш депозит. В роботах интересны алгоритмы торговли. Комбинируя их, можно даже “руками” взять неплохой профит.”
FAQ по торговым советникам
Почему торговые роботы все еще работают?
Не смотря на вышеприведенные минусы, торговые роботы работают и было бы глупо отрицать их успешное существование. Торговый робот не может заменить любой вид трейдинга на автоматический, но определенные стратегии он может с успехом проводить. Это объясняет почему крупные трейдинговые компании стараются работать только на торговых роботов. Практически все всемирно известные разработчики индикаторов и методов технического анализа сразу вставляют свои наработки в торговых роботов, ведь он заменяет человека в функции “нажать на кнопку” в нужный момент.
Кто создает торговые советники?
Разработка торговых советников может стоить от $1000 и более $10 тысяч, по мимо того что сам процесс программирования ведется профессиональными кодерами, рабочие алгоритмы разрабатываются профессиональными трейдерами с большим опытом работы и аналитики. Как вы уже понимаете эта работа требует больших знаний и понимания рынка, то есть торговые советники априори создаются не наобум, а по неоднократно проверенным данным.
Когда нужно применять торговые советники?
Торговые роботы можно рассматривать как отдельный вид торговли, так как они исключают фундаментальный анализ и вообще ручной анализ, работают только на определенных алгоритмах. Этот вид торговли не всем подходит, к примеру, те кто использует торговлю на новостях не смогут применить торговый советник.
Важно понимать, что это узко-специализированная торговля, но использование торгового советника не означает что вы должны отказаться от других стратегий. Многие трейдеры тестируют свои теории на торговых советниках, так как они могут показать результат торговли опираясь на предыдущие цены актива.
Почему есть бесплатные и платные роботы?
Изначально вопрос стоит в распространении, зачем автору отдавать то, что приносит деньги? Все дело в том, что не каждый автор готов торговать огромными суммами по советнику получая 40-100% годовых, а все потому что риск есть всегда. Для автора и правда может быть выгоднее не торговать, а продавать советника, так как в этом случае риск отсутствует полностью да и сточки зрения финансов, автор имеет возможность заработать больше на продаже чем на торговле, ведь чтобы удвоить депозит нужно много времени и риска, а продавая систему можно быстрее получить нужную сумму без риска.
- Для распространения бесплатных советников есть несколько причин.
- Авторы не могут до конца проверить результаты системы
- Это начинающие авторы
- Высокие риски системы не оправдывают продажу советника
- Система имеет короткий срок жизни
- Система приносит маленький доход
- Автор не может определить риски
- Робота распространяет брокер для своих клиентов. На самом деле брокер заплатил свои деньги на создание советника, но денег с него он не берет, так как распространяет его только для своих клиентов, увеличивая общий оборот торговли и зарабатывая на спреде.
Почему советники сливают депозиты?
Автоматизированные системы это по сути определенная стратегия, но как и любая торговая стратегия, она не может быть “вечной”. Рынок меняется циклами под действием фундаментальных факторов, а стратегия может работать только внутри устоявшегося рынка. В зависимости от многих факторов, такие циклы могут длиться от месяца до 4 лет. Но в эти промежутки хорошие торговые роботы могут принести трейдеру солидную прибыль.
Так как советники работают без участия трейдера, есть риск того, что в какой то момент робот откроет убыточные сделки и сольет депозит. Это может произойти с любым советником, однако, до этого момента, он может окупить депозит в несколько и более раз. Поэтому при работе с торговыми роботами важно соблюдать правила управления капиталом.
Стоит ли работать с советником?
- Если вы будете работать на уровне экспериментов, то лучше не работать с реальными деньгами.
- Если вы имеете богатый опыт в торговле и нашли взаимосвязи на графиках которые можно запрограммировать, то тогда можно заказать написание системы под себя.
Также вы можете использовать уже готовые торговые советники которые находятся в продаже. К примеру результаты тестов торговой системы LimitON:
Валютная пара EURUSD
Акции Apple
Золото (XAUUSD)
Видео пример работы торгового робота
Стоит понимать, что советники были и будут всегда и не просто так. Они помогают вести торговлю на определенных принципах.
Получение такого рода дохода – мечта каждого трейдера, так как вам не нужно круглосуточно сидеть у монитора и постоянно принимать решения.
Однако, чтобы не слить депозит, вам нужно понимать как работает советник, в каких условиях и какие у него риски.
Полезные статьи:Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter, и мы её обязательно исправим! Огромное спасибо вам за помощь, это очень важно для нас и других читателей!
equity.today
Торговый робот или ручной трейдинг?!
В последнее время торговые роботы набирают все большую популярность. Многие пытаются приобрести чудо механизм за деньги. Кто-то пытается разработать его своими силами. Не каждый трейдер хочет целыми днями сидеть за монитором, торгуя вручную. Гораздо проще запустить программу и чтоб она приносила деньги. Но на деле не все так просто. Лично я отдаю предпочтение ручному трейдингу. У него есть ряд неоспоримых преимуществ перед механизированной торговлей. Об этом чуть ниже.
Робот для трейдинга
Во-первых, рынок постоянно меняется и придется достаточно часто корректировать своего торгового робота. И тут два варианта, либо самому научиться программированию и следить за своим роботом. Либо постоянно пользоваться услугами программиста, который будет делать это за вас. Сейчас конечно есть большое количество программ, которые упрощают работу по созданию роботов, например TSLab. Но самому создать сложную торговую систему в ней будет не просто. Придется потратить не один месяц на изучение и тестирование своего алгоритма.
Как разработать и протестировать систему для ручной торговли читайте здесь.
Если вы торгуете руками, без использования торговых роботов, то вы совершенствуетесь, сможете находить новые формации, сумеете быстро подстроиться под изменившийся рынок и возможно что-то подкорректировать в своей системе. Если за вас будет торговать робот, то вы не будете развиваться как трейдер. А если робот перестанет торговать в плюс, будет намного труднее перестроиться под новые реалии рынка и внести нужные коррективы в систему. Это наверное один из самых важных моментов, который я бы выделил.
Ну и конечно в ручной торговле при большом опыте и строгой дисциплине можно заработать гораздо больше. Многие любители механизированной торговли захотят оспорить этот факт, но сначала дочитайте и вы возможно поймете что я прав При небольшом депозите хороший робот способен показать очень неплохие проценты. Но при большой сумме результативность его упадет. Да и вряд ли какой человек отдаст роботу огромную сумму в управление, так как он меньше застрахован от форс мажорных обстоятельств. Чаще всего роботов используют при торговле на сверх коротких интервалах, такой тип торговли еще называют пипсовка. Соответственно объемы, которые должен выторговывать робот, не должны превышать порога ликвидности на рынке. Поэтому крупные игроки не смогут торговать роботом при крупной сумме на счете т.к. на рынке все равно не хватит ликвидности. Поэтому при небольшой сумме, скажем в 100 т.р робот может показать огромные проценты. Но при сумме свыше 2 миллионов рублей эффективность ручной торговли будет выше.
А теперь об одном из главных преимуществ робота. Отсутствие эмоциональной составляющей. Это то, что губит большинство трейдеров. Поэтому если у вас долгое время не получается торговать успешно и справляться со своими эмоциями, то возможно в таком случае грамотно разработанная торговая система может принести своих плоды.
И в заключении хочу отметить. В любом случае вам придется научиться торговать самостоятельно. После того, как вы покажете положительны результаты можно задуматься о разработке торгового робота на основе вашей торговой системы. Купить готового прибыльного робота у вас вряд ли получится. А если он и покажет прибыль в какой то период времени, то в какой-то момент он скорее всего начнет торговать в убыток и вот тут вам понадобятся собственные знания для корректировки алгоритма.
В общем, учитесь торговать руками, правильно анализировать рынок и в скором времени трейдинг может стать для вас основным источником дохода и торговый робот вам вряд ли понадобится. Всем успехов!
С уважением, Станислав Станишевский.
trader-nt.ru
Роботы в торговле акциями. Возможно на российском фондовом рынке?
Новички на фондовом рынке часто путают понятия «торговые роботы» и «стратегии автоследования».
Фондовые роботы или сигналы
Торговые роботы – это механические торговые системы, которые согласно определённому алгоритму вычисляют сигналы для совершения торговых сделок и проводят эти операции на бирже. Роботов создают те трейдеры, которые прошли большую подготовку, составили торговый алгоритм и провели его тестирование на прошлых данных.
Системы автоследования – это приложения, которые рассылают на счета пользователей торговые сигналы согласно стратегии, которая может не быть заложена в торговый алгоритм робота, но являться оценочной деятельностью какого-либо биржевого эксперта. Этот биржевой специалист может принимать решение на основе любого метода анализа рынка – фундаментальный, технический анализ или собственная методика.
Системы автоследования могут использовать как опытные трейдеры для диверсификации направлений инвестиций или освобождения собственного времени, так и новички.
Возможно ли самому написать робота для фондового рынка?
В большинстве случаев подобные алгоритмы создаются для высокочастотной торговли на графиках с небольшими интервалами
Чтобы научиться разрабатывать торговых роботов, необходимо пройти обучение, в рамках которого слушателя учат создавать и анализировать торговые алгоритмы и знакомят с биржевым программированием.
Чтобы выбрать стратегию автоследования, достаточно определить допустимое для себя соотношение риска на доход. Далее можно самостоятельно или с помощью менеджера выбрать стратегию с нужными параметрами.
Обучение построению торговых роботов (механических торговых систем), или как его еще называют алготрейдингу – весьма дорогостоящее занятие. Чтобы оно окупилось, необходимо пообщаться с преподавателями на тему того, какими предварительными знаниями вы должны обладать. Программа курсов часто не открывает эту завесу полностью. Также отдавать предпочтение лучше курсам с дальнейшей поддержкой. Они могут стоить дороже, но, имея возможность задавать необходимые вопросы своему тренеру, вы сэкономите на дополнительном обучении.
Котировки – основная проблема алготрейдера
Ко мне часто обращаются люди с математическим складом ума и навыками программирования с вопросами актуальности создания торговых роботов для российского рынка? Наш рынок молод, хватит ли роботу данных для достойной обработки статистики и генерации сигналов?В большинстве случаев подобные алгоритмы создаются для высокочастотной торговли на графиках с небольшими интервалами, так что по популярным бумагам за время существования нашего рынка данных накопилось уже достаточно.
К сожалению, часть из них не просто найти в торговых терминалах. Такие котировки приходится собирать по крупицам, так что подготовка аналитической базы может занять львиную долю времени алготрейдера. Это основная проблема тех, кому важно детально на истории изучить поведение своего робота. Например, по бумагам «Газпрома» вы вряд ли отыщите данные по часовым графикам ранее, чем с 2006 года, так как бумага кочевала с площадки на площадку. А это огромный пласт нашей истории, который мог бы вам ответить, как ваш робот поведет себя в кризисы.
Тем не менее, кто ищет, тот всегда найдет. И если ваша торговая стратегия отнимает у вас более часа в день – вам пора задуматься о ее автоматизации.
Вам также может быть интересно
Юлия Афанасьева
Аналитик, преподаватель учебного центра "ФИНАМ". Автор целого цикла лекций о нюансах торговли на российском фондовом рынке. Ключевой эксперт и тьютор по инвестициям.
fortrader.org
Маржинальный торговый робот на криптовалютной бирже BitMEX / Хабр
Всем доброго времени суток!
Меня зовут Илья и сегодня я хочу вам немного рассказать о своем хобби — криптовалютном алго-трейдинге. Скоро будет год, как меня настигла мысль написать торгового робота, который бы минимизировал человеческий фактор торговли (торгующие люди наверняка знают, что такое каждые пять минут обновлять баланс и зачастую делать какие-то поспешные, и потому неверные, торговые решения). Потому было решено переложить все на робота, удалить приложения по просмотру курсов с телефона и начать спать спокойно. Потратив много времени на написание чего-то более или менее работающего, хочу дать читателю маленькое overview, с чего стоит начинать на этом веселом (и нервном) поприще, как алготрейдинг. Этот гайд не является призывом начинать торговлю, не содержит советов по инвестированию, преследуются исключительно образовательные цели.
Как вы можете видеть из заголовка, тот робот, которого мы с вами напишем, будет работать на бирже BitMEX. Выбор объясняется очень просто — там есть плечи вплоть до 100. И наш робот будет работать с маржой.
Стой стой, что такое маржа?Для тех, кто не понял о чем я говорю. Маржинальная торговля это торговля с кредитным плечом. [1] Что такое кредитное плечо?
Кредитное плечо — это отношение Вашего депозита к лоту, с которым Вы работаете. Т.е. имея на депозите 100$, Вы можете совершить сделку с лотом в 10 000, и тогда оно будет равно 1 к 100. Если же Вы выставите лот в 5 000, то кредитное плечо будет 1 к 50 и т.д. [2]
Итак, я надеюсь, что у читающего это есть базовые знания о торговле на бирже, к примеру, что такое OHLCV свечи (a.k.a. японские свечки), что бывают разные временные промежутки их представления и т.д.
Ну что, приступим к нашему маленькому приключения в страну алгоритмической маржинальной торговли?
Я любитель top-down коммуникации и поэтому я для начала расскажу, что я собираюсь сделать, а потом мы приступим к реализации. Глобально есть две важные вещи, которые надо сделать для запуска робота: разработать стратегию принятия решения (при каких условиях покупать) и разработать логику поверх принятого решения (сколько и как покупать).
Стратегия принятия решение (мозг) в нашем случае будет состоять из индикатора MACD (англ. Moving Average Convergence/Divergence — схождение/расхождение скользящих средних). Индикатор используют для проверки силы и направления тренда, а также определения разворотных точек. Строится на основе скользящих средних. Существует две модификации индикатора MACD: линейный MACD и MACD-гистограмма. [3] Мы воспользуемся реализацией MACD-гистограммы из библиотеки TA-lib и на основе этого индикатора будем принимать решение о покупке или продаже.
Пример MACD из ВикипедииЛогика поверх решения нашего индикатора будет простой: если индикатор сказал покупать, то мы купим, если продавать, то мы продадим. Торговать будем фиксированным количеством денег с фиксированным плечом.
Первое с чего мы начнем, это установка нужных библиотек. Для начала нам нужен клиент биржи, его берем тут. Мозг нашего робота будет основываться на техническом анализе, поэтому надо поставить библиотеку TA-lib. Ну и стандартный набор — numpy, pandas.
После установки всех нужных библиотек предлагаю читателю зарегистрироваться на https://testnet.bitmex.com — это копия биржи BitMEX, но там вы торгуете не реальным деньгами, а виртуальными. Очень удобно использовать для отладки роботов перед запуском на реальной бирже. После регистрации создаем себе ключи и создаем клиент биржи:
client = bitmex.bitmex( test=True, api_key="YOUR_KEY", api_secret="YOUR_SECRET" )Обратите внимание на параметр test. Он выставлен в true, что означает, что мы будем торговать на тестовой бирже. Этот пост не будет про использование API биржи, все возникающие вопросы по нему вы можете перенаправить в API explorer, благо он у них очень удобный.
Следующим шагом нам надо получить данных для использования их на MACD индикаторе. Мы получим 100 свечей с разрешением в 1 час.
ohlcv_candles = pd.DataFrame(client.Trade.Trade_getBucketed( binSize=self.timeframe, symbol='XBTUSD', count=100, reverse=True ).result()[0])Теперь у нас есть датафрейм со свечками, давайте применим индикатор.
macd, signal, hist = talib.MACD(ohlcv_candles.close.values, fastperiod = 8, slowperiod = 28, signalperiod = 9)Почему параметры такие?Я выбрал такие параметры немного поигравшись со стратегией и ее бэктестом на Trading View. Вот примеры картинок с точками входа/выхода стратегии на графике и сколько денег она заработала. Но учтите, это стратегия тестировалась без плеча.
Итак, получив индикатор, давайте поймем, как на его основе принимать решение. Ну тут все просто. Когда гистограмма пересекает нулевое значение снизу вверх, то это является сигналом к покупке, и наоборот.
#sell if hist[-2] > 0 and hist[-1] < 0: return -1 #buy if hist[-2] < 0 and hist[-1] > 0: return 1 #do nothing else: return 0Все очень просто и понятно. Давайте оформим это в один класс, который назовем стратегией.
class Strategy(): def __init__(self, client, timeframe='5m'): self.client = client self.timeframe = timeframe def predict(self): ohlcv_candles = pd.DataFrame(self.client.Trade.Trade_getBucketed( binSize=self.timeframe, symbol='XBTUSD', count=100, reverse=True ).result()[0]) macd, signal, hist = talib.MACD(ohlcv_candles.close.values, fastperiod = 8, slowperiod = 28, signalperiod = 9) #sell if hist[-2] > 0 and hist[-1] < 0: return -1 #buy if hist[-2] < 0 and hist[-1] > 0: return 1 #do nothing else: return 0Теперь давайте напишем исполнителя наших решений. Логика простая — стратегия сказала нам покупать, значит мы покупаем. Приведу код торговца сразу, в нем ничего сложного нет:
class Trader(): def __init__(self, client, strategy, money_to_trade=100, leverage=5): self.client = client self.strategy = strategy self.money_to_trade = money_to_trade self.leverage = leverage def execute_trade(self): prediction = self.strategy.predict() print(f"Last prediction: {prediction}") try: if prediction == -1: response = self.client.Order.Order_new( symbol="XBTUSD", side="Sell", orderQty=self.money_to_trade * self.leverage, ).result() if prediction == 1: response = self.client.Order.Order_new( symbol="XBTUSD", side="Buy", orderQty=self.money_to_trade * self.leverage, ).result() except Exception as e: print("Something goes wrong!") print(str(e)) returnМаленький нюанс — для упрощения себе жизни, ордера здесь исполняются не по выставленной заранее цене, а по рыночной. В случае с BitMEX это хорошо по двум причинам:
- Возвращается комиссия за выставление ордера
- Не нужно запариваться с отдельным исполнителем цены, который в общем случае должен защищать от падений биржи, передвигать выставленный ордер в случае задержки исполнения, и т.д. и т.п.
Теперь логика принятия решения у нас есть, логика исполнения решений у нас есть, осталось это все дело скомпоновать. Нам нужно запускать процесс торговли раз в выбранный нами временной период, в данном случае это был 1 час. Я сделаю это с костылем во имя быстроты написания, но лучше это делать, к примеру, через cron.
time_to_wait_new_trade = 60*60 #sec strategy = Strategy(client, timeframe='1h') trader = Trader(client, strategy) while True: if round(time.time()) % time_to_wait_new_trade == 0: trader.execute_trade() time.sleep(10)Ну вот, теперь это дело можно оформить в один скрипт и смело запускать, но только на тестовой бирже! На реальной бирже этого делать не советую, ибо можно потерять деньги. Данный скрипт своей целью ставил показать, что начать легко, и сделал более умный мозг у данной модели вы запросто сможете зарабатывать некоторые суммы.
Jupyter тетрадку с кодом я выложил в свой репозиторий, если кому-то интересно просмотреть — you are welcome!
- https://ru.wikipedia.org/wiki/Маржинальная_торговля
- https://www.fxclub.org/faq/chto-takoe-kreditnoe-plecho/"
- https://ru.wikipedia.org/wiki/Индикатор_MACD
habr.com
7 мифов о биржевых роботах
В июне на бирже ММВБ-РТС торговый робот одного из игроков из-за неисправности в течение двух минут совершил сделки на $700 000, убыток владельца составил $4,3 млн. В августе крупнейший американский брокер Knight Capital Group из-за сбоя в работе торговых алгоритмов за 45 минут потерял более $400 млн. А через неделю после этого из-за подобных сбоев были остановлены торги на биржах Японии и Испании.
Роботам не доверяют. Настороженное отношение к алгоритмической торговле, возникшее изначально как ко всему новому, теперь подкрепляется мировыми скандалами, связанными с потерей огромных сумм именно из-за роботов. Да и вообще в этой теме много недосказанного: одни уверены, что роботы ненадежны, другие полагают, что с появлением робота в их жизни уделять время торговле не нужно будет совсем, третьи считают, что робот – это гарантированная удача на торгах. Slon попросил специалистов развеять мифы.
Как у каждого продукта у робота есть свой создатель, и свой потребитель. Торговые роботы уникальны, как личность разработчика или как пожелания клиента. По мнению управляющего директора ИК «Церих Кэпитал Менеджмент» Сергея Давыдкина, всех роботов условно можно разделить на три большие группы. Первая – это программы для трейдеров, не имеющих знаний в области программирования. К этой группе относятся программы-советники (специальное ПО, анализирующее рынок согласно той или иной популярной стратегии и выдающее трейдеру сигнал на сделку), терминалы со встроенными торговыми роботами и прочее. Эти программы являются наиболее востребованными – они просты в использовании и дают быстрый результат. Вторая группа торговых роботов – это экспертные системы для профессионалов с широкими возможностями: полноценные торговые лаборатории, программное обеспечение на привычных программистам языках программирования и самодельные платформы. Вторая группа ориентирована на людей с высшим техническим образованием, уделяющих особое внимание алгоритмам и их тестированию. Третья группа – это сложные высокотехнологичные программные комплексы, использующие технологию DMA (Direct Market Access). Такие системы делаются, как правило, группами разработчиков или даже целыми компаниями. Эта группа относительно немногочисленна, но ее влияние на фондовый рынок колоссально, по некоторым данным биржевой оборот ведущих мировых бирж на 80% обеспечивается активностью именно этой группы трейдеров.
republic.ru
Что такое торговый робот? | Школа по созданию торговых роботов
22 Сентябрь 2015 Дмитрий Высоцкий Главная страница » Блог Просмотров:В последнее десятилетие на мировых биржах брокеров-людей во многом потеснили так называемые «торговые роботы» — компьютерные программы, специализированные для биржевой торговли. Что же это за «зверь» такой — торговый или биржевой робот?
«Торговый робот» – программа, которая частично или полностью заменяет человека при работе на бирже, при этом робот может управляться трейдером (например, принятие об открытии/закрытии позиции принимает сам трейдер) либо работать по заранее составленной программе.
Роботы, самостоятельно ведущие торги на бирже, — это не более чем специально разработанные программы. Основываясь на математических алгоритмах, они могут самостоятельно отслеживать показатели различных индексов на фондовой бирже и на основе полученных данных совершать сделки по покупке или продаже. Обычный объем сделок робота в несколько раз превышает количество сделок, которые совершают люди.
Задача торговых программ — вовсе не только помогать трейдерам в рутинной работе. Их «сверхзадача» — воплощать в жизнь торговые стратегии, которые трудно или вовсе невозможно реализовать вручную. По сути, биржевой робот — это заранее заданный алгоритм заключения сделок.
Специалисты обычно делят биржевых роботов на три группы – трендовые (дирекционные, или направленные), контртрендовые и арбитражные. Они соответствуют разным типам торговых стратегий.
Обычная задача трендового робота — как можно раньше уловить тенденцию роста либо падения котировок и открыть позицию. После чего своевременно «почувствовать» разворот тренда и успеть зафиксировать прибыль (то есть продать акции либо валюту). Контртрендовые роботы стараются поймать все откаты цены, особенно они хорошо работают во флетовом состоянии рынка. В свою очередь, арбитражный робот должен получать прибыль, выявляя перекосы в ценах на идентичные или тесно связанные активы на разных рынках.
Также роботы можно подразделить на индикаторные (используют в качестве сигналов на открытие и закрытие сделок индикаторы) и свечные (используют в качестве сигналов на открытие и закрытие сделок комбинации свечных моделей).
Алгоритмы торговли
Специалисты говорят: «Написать программу не трудно, главное — подобрать эффективную торговую стратегию». Сегодня, по разным оценкам, программы-роботы проводят от 30% до 50% сделок на фондовых, срочных и валютных рынках планеты. Механические торговые системы принято считать одними из наиболее эффективных и надежных методов торговли. Прежде всего, автоматическая торговля помогает трейдерам в продаже крупных пакетов ценных бумаг. Заявка разбивается на несколько мелких, и они постепенно выводятся на биржу по определенному алгоритму.
В обычные торговые дни робот принимает решения автоматически и проводит операции, не позволяя субъективной оценке взять верх над объективным техническим расчетом. Считается, что роботы более эффективны в краткосрочной внутридневной торговле, которая обычно строится на индикаторах технического анализа. Отсутствие эмоций помогает и когда дело доходит до фиксации убытков — продажи падающих в цене активов.
Если механизм совершения операций на данной конкретной бирже можно алгоритмизировать, а сам трейдер не в состоянии (или не хочет) лично обработать весь объем данных, имеет смысл передать торговлю роботу.
К достоинствам торговых роботов можно смело отнести:
- Полное отсутствие эмоций – робот не человек и плакать не умеет.
- Быстрота реакции – от поступления сигнала к открытию (закрытию) позиции до ввода заявки затрачиваются доли секунд.
- Полное следование торговой идеи без каких-либо отклонений.
- Торговый робот не знает усталости и начинает работу сразу после включения.
- Скорость обработки поступающих данных. Робот может отслеживать данные по сотни инструментам одномоментно.
- Роботы могут торговать одновременно сотни алгоритмов, чего обычный человек никогда не сможет сделать.
К недостаткам же можно отнести:
- Риск ошибки в коде программы. Устраняется эта ошибка тестированием.
- Преимущественное использование технического анализа.
Плюсов достаточно много и они с лихвой перекрывают незначительное количество минусов. Каждый трейдер вправе самостоятельно решать об установке торгового робота на своем терминале. Можно приобрести уже готовый робот, но цены при этом будут немалые. А можно научиться создавать их самим, тем более это не так уж и сложно, как казалось бы со стороны, и даже трейдеры, без знания программировании, могут это сделать сами!
Если вам интересна эта тема — Записывайтесь к нам на обучение и вы научитесь создавать своих торговых роботов, при при этом Вам совершенно не надо обладать знаниями языков программирования!
Читайте также:
daytradingschool.ru