Торговый бот Cryptohopper: подключайте ваш EXMO аккаунт
Cryptohopper — один из ведущих ботов для автоматической криптоторговли. Проект был создан в 2017 году, чтобы трейдеры могли круглосуточно торговать криптовалютами. Программное обеспечение бота работает на основе искусственного интеллекта и делает трейдинг более простым и эффективным. Платформа обслуживает более 400 000 трейдеров и обрабатывает 9 миллионов транзакций в месяц на сумму около 2 миллиардов долларов.
Теперь все трейдеры EXMO могут подключить Cryptohopper к своему аккаунту и использовать профессиональные инструменты без специальных навыков программирования.
Но это еще не все! Наши пользователи получат стартовый пакет Explorer совершенно БЕСПЛАТНО! Используйте код «EXMOEXPLORER», действительный до 23 сентября, чтобы оценить преимущества расширенного торгового функционала в течение 30 дней.
Подключить ботУдобная автоматизированная торговля
Бот Cryptohopper позволяет управлять вашим портфелем и торговать всеми криптовалютами на EXMO, включая Биткоин, Эфириум и Лайткоин. Вы также получите доступ к различным торговым инструментам, таким как трейлинг стоп, маркет-мейкинг и арбитраж.
Бесплатное использование
Cryptohopper – полностью бесплатное программное обеспечение, поэтому воспользоваться преимуществами автоматической торговли криптовалютами может каждый. На платформе также доступны три дополнительных тарифных плана с расширенными наборами торговых инструментов.
Платформа социальной торговли
Присоединяйтесь к платформе социальной торговли, чтобы усовершенствовать свои навыки и повысить эффективность трейдинга. Вы сможете получать торговые сигналы, обсуждать стратегии во внутреннем чате, а также покупать стратегии и шаблоны ботов.
Профессиональные торговые инструменты
Cryptohopper – это не просто торговый бот, а уникальная платформа с огромным количеством функций и торговых инструментов, включая маркетмейкинг, зеркальный трейдинг, биржевой и рыночный арбитраж и редактор стратегий.
Как подключить аккаунт EXMO к Cryptohopper
Сейчас интерфейс бота доступен только на английском языке, но команда Cryptohopper планирует выпустить русскую версию в будущем.
Вам потребуется всего несколько минут, чтобы начать использовать Cryptohopper.
- Сгенерируйте ключи API в своем аккаунте EXMO, чтобы подключить его к боту.
- Создайте аккаунт на платформе Cryptohopper и подключитесь к бирже EXMO.
Подключайте бот и наслаждайтесь автоматизированной торговлей!
Бесплатный бот скальпер для биржи EXMO
Бесплатный бот скальпер для биржи EXMO служит для торговли по скальперской стратегии. В боте применена не сложная, но эффективная стратегия скальпинга основанная на входе по стратегии маркет-мейкера и выставлением тейк-профита, а также с усреднением цены, если вдруг цена пошла против сделки.
Рассмотрим стратегию детальнее. Бот-скальпер входит в сделку по стратегии меркет-мейкера — он ставит заявку первой в стакане цен, и постоянно двигает ее за ценой, так чтобы наш ордер всегда был первый, при этом по самой лучшей цене — до момента исполнения. После исполнения ордера, бот сразу выставляет тейк-профит. Также, если трейдер разрешил в настройках, то бот будет докупать по цене, которая на указанный % ниже от последней сделки. При этом, можно использовать коэффициент мартингейла, чтобы докупки были более эффективны. Количество докупок регулируется трейдером.
Также, в боте есть возможность установить фильтр по скользящей средней. Т.е., если цена выше скользящей, то бот не будет докупать, чтобы не взять позицию по высокой цене. Фильтр может быть отключен или включен трейдером.
Также, Вы можете ознакомится с ботом-скальпером в инструкции, а также очень детально рассмотрено в видео:
Стоимость бота скальпера — БЕСПЛАТНОЧтобы получить торговый бот exmo, Вам надо зарегистрировать счет по партнерской программе центра АлгоТрейдинга на бирже EXMO (https://exmo.com/?ref=1781057 , или зеркалом https://exmo.me/?ref=1781057). Далее
Кроме этого — регистрируясь по ссылке проекта, Вы можете получить крупную скидку на комиссию -75% на мейкера и -50% на тейкера (бот торгует по тарифу мейкера). Для этого, после регистрации напишите письмо на адрес биржи [email protected] с темой AlgoTrading.cc . В письме укажите что Вы подключаетесь к боту AlgoTrading.cc и укажите свой логин на бирже. Помните — сэкономленная комиссия, это Ваша прибыль!
Важно. По данному торговому боту поддержка трейдеров не осуществляется, поддержка предоставляется только для бесплатных ботов на Binance. Если есть вопросы, вы можете ознакомится в инструкции (в папке с ботом), видео (выше) или в разделе вопросов-ответов. Несмотря на это подтверждаю — бот абсолютно рабочий и без багов
Торговый робот-скальпер для EXMO полностью автономный (требуется только установка и настройка), далее бот торгует без вмешательства оператора (стойкость к отключению от интернета, отсутствия связи с биржей и т.п. в боте реализована). Этот бот адаптирован под торговлю как на локальном компьютере, так и на удаленном сервере (под ОС Windows).
Как получить скальпера без реферальной программы?
Этот бот можно выкупить вместе с исходными кодами и авторскими правами, неважно, для личного использования, или для коммерческого. Если вам интересно, обращайтесь.
Последние обновления
В этом подразделе ведется лог версий. Если у Вас более старая версия (в шапке бота (x.x)), то перекачайте по ссылке, которая выдана Вам, когда Вы приобрели бота. Обновления проводить только когда закрыты все сделки!
07/08/2020. Версия 1.2 (заменить Scalper.exe )
- Поправлена работа фильтра, когда есть большие пропуски свечей
06/07/2020. Версия 1.1 (заменить Scalper.exe )
Simple Exmo Bot — бесплатный бот для биржи EXMO(Аналог Yobit Bot)
Бот здесь: http://www.kriptobym.ru
Лимиты ордеров: http://bit.ly/2DMTsRv
Всё про биржу EXMO: http://bit.ly/2ncnjIn
Биржа здесь: https://exmo.me/?ref=61715
В данном видео представлен запуск и работа бесплатного бота для биржи EXMO. Данный бот является аналогом такого хорошо зарекомендовавшего себя бота, как Yobit Bot и его модификации для биржи Yobit. Отличительной особенностью бота является — простота. интуитивно понятный интерфейс, возможность торговать не всем депозитом, а только его частью, так же есть возможность запуска 7 — 10 копий бота одновременно, то есть, практически все криптопары, которые есть на бирже EXMO. Бот торгует автоматически без вашего участия 24 часа в сутки и приносит вам прибыль. Самое главное — не жадничать и выставлять значения на покупку и на продажу не заоблачные….
Мин. депозит на криптовалютных парах с рублями должен быть не менее 1450 руб (У вас на счёте биржи)
Мин. депозит на криптовалютных парах с BTC должен быть не менее 0,00250000 сат (У вас на кошельке биржи)
P.S можно конечно и меньше, но лучше не рисковать.
Так же, рекомендую выставлять параметры для торговли не особо высокие «Не жадничайте!» и будет вам удача и стабильный ежедневный доход.
simple exmo bot, simple exmo bot бот для торговли на бирже exmo, simple exmo bot лёгок в использовании и подойдёт даже для начинающих, simple exmo bot приносит ощутимую прибыль, simple exmo bot торгует круглые сутки не уставая, simple exmo bot делает всю работу за вас, simple exmo bot можно рассматривать как универсальное средство для получения прибыли. simple exmo bot новое слово в торговле криптовалютами, simple exmo bot ваш помощник и партнёр в торговле и получение прибыли, simple exmo bot гарантия вашего успеха и уверенность в завтрашнем дне, simple exmo bot доход дома в реальном времени, simple exmo bot, simple exmo bot
Simple Exmo Bot — бесплатный бот для биржи EXMO
В данной статье мы с вами рассмотрим бесплатного торгового бота для биржи EXMO, настроим его и запустим для торговли на этой бирже. Бот бесплатный и работает с любой криптопарой на бирже EXMO.Данный бот является аналогом такого хорошо зарекомендовавшего себя бота, как Yobit Bot и его модификации для биржи Yobit. Отличительной особенностью бота является — простота. интуитивно понятный интерфейс, возможность торговать не всем депозитом, а только его частью, так же есть возможность запуска 7 — 10 копий бота одновременно, то есть, практически все криптопары, которые есть на бирже EXMO. Бот торгует автоматически без вашего участия 24 часа в сутки и приносит вам прибыль. Самое главное — не жадничать и выставлять значения на покупку и на продажу не заоблачные….
Ключи апи создаём для просмотра баланска и трейдинга. А не для Вывода!
— Добавлена возможность использования прокси.
— Решена проблема в стратегии (ПРОФИТ 200), также изменен процент продажи, с 0.006 на 0.005.
— Исправлена проблема с ошибкой («Нет интернет подключения»)
— Добавлены все валютные пары!
— Добавлена возможность торговать определенным количеством валюты!
— Отображается баланс, по всем кошелькам.
— Добавлены настройки, для каждой валютной пары.
Внимание! Для нормальной работы бота.
Мин. депозит на криптовалютных парах с рублями должен быть не менее 1450 руб (У вас на счёте биржи)
Мин. депозит на криптовалютных парах с BTC должен быть не менее 0,00250000 сат (У вас на кошельке биржи)
P.S можно конечно и меньше, но лучше не рисковать.
Так же, рекомендую выставлять параметры для торговли не особо высокие «Не жадничайте!» и будет вам удача и стабильный ежедневный доход.
Более подробно и пошагово по всем настройкам и описанию бота вы можете посмотреть в видео, которое представлено ниже. Все вопросы по настройкам бота вы можете задавать в комментариях к этой статье. Я с удовольствием отвечу вам на них.
Удачной Вам торговли и хорошего профита!
Скачать:Simple Exmo Bot
Exmo Арбитраж и Pеальный Kурс
Проверьте последние живыеарбитражные возможности exmo
и несколько вариантов покупки/продажи на бирж платформа exmo.Мы нашли 41 важных предложений криптоарбитража на EXMO (exmo.com)
exmo курсы и exmo арбитраж Дата последнего обновления: 1 мин. Назад
Все перечисленные рынки имеют объем больше или равный 0.25 BTC!
Mонет | купить бирж | купить курс | продавать бирж | продавать курс | прибыль % | |
XEM-USD NEM | exmo | $0.211131 | wazirx | $0.221478 | 4.67 | |
XLM-USD Stellar | exmo | $0.389495 | wazirx | $0.406933 | 4.29 | |
TRX-USD TRON | fatbtc | $0.099639 | exmo | $0.106446 | 6.39 | |
ETH-USD Ethereum | bhex | $3555.4 | exmo | $4591.14 | 22.56 | |
ETC-USD Ethereum Classic | hitbtc | $38.0433 | exmo | $56.1549 | 32.25 | |
ETH-BTC Ethereum | finexbox | 0.0704 | exmo | 0.0728656 | 3.38 | |
ETC-BTC Ethereum Classic | hitbtc | 0.0006004 | exmo | 0.00088972 | 32.52 | |
XRP-USD Ripple | exmo | $1.1943 | wazirx | $1.25934 | 5.16 | |
ADA-USD Cardano | bitforex | $1.98119 | exmo | $2.10582 | 5.92 | |
DOGE-USD Dogecoin | hitbtc | $0.0707018 | exmo | $0.275176 | 74.31 | |
ZRX-USD 0x | exmo | $1.26158 | wazirx | $1.32669 | 4.91 | |
EOS-USD EOS | exmo | $4.8118 | wazirx | $5.09861 | 5.63 | |
DOGE-BTC Dogecoin | hitbtc | 0.00000111 | exmo | 0.00000436 | 74.54 | |
ALGO-USD Algorand | exmo | $1.87669 | wazirx | $1.97951 | 5.19 | |
WAVES-BTC Waves | exmo | 0.00041826 | finexbox | 0.00049 | 14.64 | |
ZEC-USD Zcash | probit | $75.995 | exmo | $167.909 | 54.74 | |
QTUM-BTC Qtum | exmo | 0.00025469 | bhex | 0.000269 | 5.32 | |
BTC-USD Bitcoin | exmo | $63083.4 | wazirx | $66476.1 | 5.10 | |
LTC-BTC Litecoin | mercatox | 0.00310279 | exmo | 0.00328021 | 5.41 | |
MKR-BTC Maker | exmo | 0.0456652 | upbit | 0.0469947 | 2.83 | |
BCH-USD Bitcoin Cash | exmo | $615.215 | wazirx | $647.362 | 4.97 | |
DAI-BTC Dai | exmo | 0.00001591 | upbit | 0.00001626 | 2.15 | |
DCR-BTC Decred | hitbtc | 0.0017359 | exmo | 0.00179527 | 3.31 | |
ATOM-USD Cosmos | exmo | $36.57 | wazirx | $38.8244 | 5.81 | |
DASH-USD Dash | probit | $106.16 | exmo | $204.279 | 48.03 | |
NEO-USD NEO | bhex | $45.5 | exmo | $47.2082 | 3.62 | |
OMG-USD OMG Network | exmo | $14.5696 | wazirx | $15.213 | 4.23 | |
TRX-BTC TRON | bittrex | 0.0000016 | exmo | 0.00000168 | 4.76 | |
DOT-USD Polkadot | exmo | $51.2926 | wazirx | $53.9536 | 4.93 | |
OMG-BTC OMG Network | exmo | 0.00023053 | mercatox | 0.00023759 | 2.97 | |
DAI-USD Dai | fatbtc | $0.975 | exmo | $1.00648 | 3.13 | |
LTC-USD Litecoin | exmo | $206.976 | wazirx | $217.431 | 4.81 | |
NEO-BTC NEO | vindax | 0.000722 | exmo | 0.00074636 | 3.26 | |
VLX-BTC Velas | exmo | 0.00000396 | coinex | 0.00000504 | 21.43 | |
DASH-BTC Dash | exmo | 0.00323682 | probit | 0.005601 | 42.21 | |
IQN-USD IQeon | exmo | $2.64369 | bitforex | $2.7166 | 2.68 | |
SMART-USD SmartCash | hitbtc | $0.00508476 | exmo | $0.0052977 | 4.02 | |
BTG-BTC Bitcoin Gold | vindax | 0.001026 | exmo | 0.00105101 | 2.38 | |
USDT-USD Tether | hotbit | $0.8306 | exmo | $1.00081 | 17.01 | |
GNY-BTC GNY | exmo | 0.00000479 | bitmart | 0.0000052 | 7.88 | |
ROOBEE-USD Roobee | hotbit | $0.008676 | exmo | $0.00898 | 3.39 |
Exmo курсы | |||||
# | Mонет | курс | Объем торгов за 24 часа BTC | Объем торгов за 24 часа $ | |
---|---|---|---|---|---|
1 | ADA-BTC Cardano | 0.00003333 | 55.11 | 3,473,741 | |
2 | ALGO-BTC Algorand | 0.00002977 | 45.7609 | 2,884,441 | |
3 | ATOM-BTC Cosmos | 0.0005777 | 0.3981 | 25,093 | |
4 | BCH-BTC Bitcoin Cash | 0.00975834 | 13.7166 | 864,597 | |
5 | BTCV-BTC BitcoinV | 0.00088215 | 0.0002 | 13 | |
6 | BTG-BTC Bitcoin Gold | 0.0010502 | 3.2723 | 206,262 | |
7 | BTT-BTC BitTorrent | 0.00000006 | 0.0293 | 1,847 | |
8 | CHZ-BTC Chiliz | 0.00000734 | 0.1206 | 7,602 | |
9 | CRON-BTC Cryptocean | 0.00004056 | 2.493 | 157,141 | |
10 | DAI-BTC Dai | 0.00001585 | 0.6083 | 38,343 | |
11 | DASH-BTC Dash | 0.00323987 | 6.6118 | 416,761 | |
12 | DCR-BTC Decred | 0.00178975 | 2.0206 | 127,364 | |
13 | DOGE-BTC Dogecoin | 0.00000437 | 0.7765 | 48,945 | |
14 | DOT-BTC Polkadot | 0.00081355 | 0.2143 | 13,508 | |
15 | EOS-BTC EOS | 0.00007635 | 0.6853 | 43,196 | |
16 | ETC-BTC Ethereum Classic | 0.00089045 | 13.8043 | 870,125 | |
17 | ETH-BTC Ethereum | 0.0728583 | 50.8435 | 3,204,812 | |
18 | EXM-BTC EXMO Coin | 0.00000098 | 0.7475 | 47,117 | |
19 | GAS-BTC Gas | 0.00014239 | 1.8624 | 117,392 | |
20 | GNY-BTC GNY | 0.00000479 | 0.7089 | 44,684 | |
21 | GUSD-BTC Gemini Dollar | 0.00001568 | 0.8024 | 50,578 | |
22 | HAI-BTC Hacken Token | 0.00000215 | 0.0006 | 38 | |
23 | HB-BTC HeartBout | 0.00000005 | 0.0039 | 246 | |
24 | HP-BTC HeartBout Pay | 0.00000003 | 0.0104 | 656 | |
25 | IQN-BTC IQeon | 0.0000425 | 0.7179 | 45,251 | |
26 | LINK-BTC ChainLink | 0.00051061 | 0.0195 | 1,229 | |
27 | LTC-BTC Litecoin | 0.00328098 | 30.2886 | 1,909,177 | |
28 | MKR-BTC Maker | 0.0463115 | 2.3167 | 146,028 | |
29 | MNC-BTC MainCoin | 0.00000004 | 0.0022 | 139 | |
30 | NEO-BTC NEO | 0.00074814 | 22.5029 | 1,418,422 | |
31 | OMG-BTC OMG Network | 0.0002305 | 6.7306 | 424,249 | |
32 | ONE-BTC Harmony | 0.0000052 | 0.024 | 1,513 | |
33 | ONG-BTC Ontology Gas | 0.00001827 | 0.0004 | 25 | |
34 | ONT-BTC Ontology | 0.00001457 | 0.0029 | 183 | |
35 | PRQ-BTC PARSIQ | 0.00001151 | 0.0023 | 145 | |
36 | QTUM-BTC Qtum | 0.000254 | 3.9924 | 251,652 | |
37 | ROOBEE-BTC Roobee | 0.00000014 | 0.236 | 14,876 | |
38 | SGB-BTC Songbird | 0.00001339 | 0 | 0 | |
39 | SMART-BTC SmartCash | 0.00000008 | 0.0018 | 113 | |
40 | TONCOIN-BTC The Open Network | 0.00001242 | 3.9946 | 251,791 | |
41 | TRX-BTC TRON | 0.00000168 | 1.9322 | 121,792 | |
42 | UNI-BTC UNICORN Token | 0.0004223 | 0.1494 | 9,417 | |
43 | ADA-USD Cardano | 2.105 | 20.2319 | 1,275,275 | |
44 | ALGO-USD Algorand | 1.87586 | 46.6247 | 2,938,889 | |
45 | ATOM-USD Cosmos | 36.57 | 0.7582 | 47,792 | |
46 | BCH-USD Bitcoin Cash | 614.629 | 19.2508 | 1,213,433 | |
47 | BTC-USD Bitcoin | 63027.2 | 293.57 | 18,504,559 | |
48 | BTG-USD Bitcoin Gold | 66.4744 | 8.4097 | 530,088 | |
49 | CRON-USD Cryptocean | 2.55999 | 3.4866 | 219,770 | |
50 | DAI-USD Dai | 1.00598 | 0.4809 | 30,313 | |
51 | DASH-USD Dash | 204.3 | 7.096 | 447,281 | |
52 | DOGE-USD Dogecoin | 0.276 | 5.6564 | 356,539 | |
53 | DOT-USD Polkadot | 51.2926 | 1.9238 | 121,263 | |
54 | EOS-USD EOS | 4.8118 | 4.3275 | 272,775 | |
55 | ETC-USD Ethereum Classic | 56.0584 | 22.6447 | 1,427,360 | |
56 | ETH-USD Ethereum | 4587 | 123.996 | 7,815,824 | |
57 | EXM-USD EXMO Coin | 0.06191 | 2.0878 | 131,600 | |
58 | GAS-USD Gas | 9 | 0.0318 | 2,004 | |
59 | GUSD-USD Gemini Dollar | 0.995823 | 0.7358 | 46,380 | |
60 | IQN-USD IQeon | 2.63221 | 3.6564 | 230,473 | |
61 | LTC-USD Litecoin | 206.911 | 44.6582 | 2,814,934 | |
62 | MNC-USD MainCoin | 0.00266587 | 0.0467 | 2,944 | |
63 | NEO-USD NEO | 47.1671 | 18.8678 | 1,189,292 | |
64 | OMG-USD OMG Network | 14.5451 | 8.627 | 543,785 | |
65 | PRQ-USD PARSIQ | 0.734 | 0.0386 | 2,433 | |
66 | QTUM-USD Qtum | 16.0313 | 5.7352 | 361,506 | |
67 | ROOBEE-USD Roobee | 0.00898 | 3.8803 | 244,586 | |
68 | SMART-USD SmartCash | 0.00529774 | 0.6847 | 43,159 | |
69 | TRX-USD TRON | 0.106475 | 17.0895 | 1,077,200 | |
70 | USDC-USD USD Coin | 0.996715 | 1.0495 | 66,153 | |
71 | USDT-USD Tether | 1.00081 | 38.7276 | 2,441,112 | |
72 | WAVES-USD Waves | 26.4 | 55.7481 | 3,513,963 | |
73 | WXT-USD Wirex | 0.0063 | 0.0293 | 1,847 | |
74 | XEM-USD NEM | 0.211228 | 4.852 | 305,835 | |
75 | XLM-USD Stellar | 0.389497 | 5.4974 | 346,517 | |
76 | XRP-USD Ripple | 1.19496 | 50.7842 | 3,201,074 | |
77 | XTZ-USD Tezos | 6.2752 | 0.1783 | 11,239 | |
78 | ZEC-USD Zcash | 167.7 | 23.3185 | 1,469,832 | |
79 | ZRX-USD 0x | 1.25931 | 6.78 | 427,363 | |
80 | BTC-USDC Bitcoin | 0.0000159 | 0.8188 | 51,611 | |
81 | VLX-BTC Velas | 0.00000392 | 0.3983 | 25,106 | |
82 | WAVES-BTC Waves | 0.00041776 | 78.9649 | 4,977,384 | |
83 | WXT-BTC Wirex | 0.00000011 | 0.0059 | 372 | |
84 | XEM-BTC NEM | 0.00000336 | 2.5411 | 160,173 | |
85 | XLM-BTC Stellar | 0.00000617 | 3.4857 | 219,714 | |
86 | XRP-BTC Ripple | 0.00001895 | 23.875 | 1,504,910 | |
87 | XTZ-BTC Tezos | 0.00009855 | 0.003 | 189 | |
88 | XYM-BTC Symbol | 0.00001242 | 0 | 0 | |
89 | YFI-BTC yearn.finance | 0.565543 | 0.0102 | 643 | |
90 | ZAG-BTC ZigZag | 0.00001004 | 0.0043 | 271 | |
91 | ZEC-BTC Zcash | 0.00266336 | 14.8314 | 934,866 | |
92 | ZRX-BTC 0x | 0.00001994 | 5.4508 | 343,580 |
название : Exmo
Веб-сайт : https://exmo.com/?ref=1642355
Mонеты : 51
Общий объем BTC за 24 часа : 2,295.62 BTC
Общий объем USD за 24 часа : $144,652,148
Alexa ранг : 48129
SimilarWeb ежемесячные посетители : 38912620
Twitter подписчики : 16843
Twitter : @exmo_com
1С и Linux: bot exmo
# Настройки на период 110 минут# 1200 c задержки покупки продажи
# порог curr -1 1
import time
import json
import requests
import urllib, http.client
import hmac, hashlib
import mysql.connector
import pandas as pd
import openpyxl
# Если нет нужных пакетов — читаем тут: https://bablofil.ru/python-indicators/
import numpy
import talib
from datetime import datetime
PERIOD = 4*60 #4*60 # Период в минутах для построения свечей краткосрочного MACD
#BUY=True #True разрешено покупать
BUY=True
TRADE=True #используем для долгосрочного MCAD сейчас отсутствует
SELL=True #True разрешено продавать
GROWLAST = False
FIRST = False
# ключи API, которые предоставила exmo
#API_KEY = ‘K- кей’
# обратите внимание, что добавлена ‘b’ перед строкой
#API_SECRET = b’S-секрет’
# аккаунт 1
# ключи API, которые предоставила exmo
#API_KEY = ‘K-‘
API_KEY = »
# обратите внимание, что добавлена ‘b’ перед строкой
#API_SECRET = b’S-‘
API_SECRET = b»
# Список пар, на которые торгуем
MARKETS = [
‘BTC_USD’
]
CAN_SPEND = 20 # Сколько USD готовы вложить в бай
MARKUP = 0.001 # 0.001 = 0.1% — Какой навар со сделки хотим получать
STOCK_FEE = 0.002 # Какую комиссию берет биржа
#PERIOD = 4 # Период в минутах для построения свечей
ORDER_LIFE_TIME = 0.5 # Через сколько минут отменять неисполненный ордер на покупку 0.5 = 30 сек.
USE_MACD = True # True — оценивать тренд по MACD, False — покупать и продавать невзирая ни на что
API_URL = ‘api.exmo.me’
API_VERSION = ‘v1’
#USE_LOG = False
USE_LOG = True
DEBUG = False # True — выводить отладочную информацию, False — писать как можно меньше
MM = False
SS = False
SS_last = False
numpy.seterr(all=’ignore’)
curr_pair = None
# Свой класс исключений
class ScriptError(Exception):
pass
class ScriptQuitCondition(Exception):
pass
# все обращения к API проходят через эту функцию
def call_api(api_method, http_method=»POST», **kwargs):
payload = {‘nonce’: int(round(time.time()*1000))}
if kwargs:
payload.update(kwargs)
payload = urllib.parse.urlencode(payload)
H = hmac.new(key=API_SECRET, digestmod=hashlib.sha512)
H.update(payload.encode(‘utf-8’))
sign = H.hexdigest()
headers = {«Content-type»: «application/x-www-form-urlencoded»,
«Key»:API_KEY,
«Sign»:sign}
conn = http.client.HTTPSConnection(API_URL, timeout=90)
conn.request(http_method, «/»+API_VERSION + «/» + api_method, payload, headers)
response = conn.getresponse().read()
conn.close()
try:
obj = json.loads(response.decode(‘utf-8’))
if ‘error’ in obj and obj[‘error’]:
raise ScriptError(obj[‘error’])
return obj
except json.decoder.JSONDecodeError:
raise ScriptError(‘Ошибка анализа возвращаемых данных, получена строка’, response)
def AO(ohlc, slow_period=34, fast_period=5):
«»»
Awesome Oscillator is an indicator used to measure market momentum. AO calculates the difference of a 34 Period and 5 Peri$
The Simple Moving Averages that are used are not calculated using closing price but rather each bar’s midpoints.
AO is generally used to affirm trends or to anticipate possible reversals. «»»
ohlc[‘medean’] = (ohlc[‘high’] + ohlc[‘low’]) / 2
ohlc[‘ao_slow’] = pd.Series(ohlc[‘medean’]).rolling(window=slow_period).mean()
ohlc[‘ao_fast’] = pd.Series(ohlc[‘medean’]).rolling(window=fast_period).mean()
ohlc[‘ao’] = ohlc[‘ao_fast’] — ohlc[‘ao_slow’]
#ohlc[‘ac’] = ohlc[‘ao’] — pd.Series(ohlc[‘ao’]).rolling(window=5).mean()
#ohlc[‘jaw’] = pd.Series(ohlc[‘medean’]).rolling(window=13).mean().shift(8)
#ohlc[‘teeth’] = pd.Series(ohlc[‘medean’]).rolling(window=8).mean().shift(5)
#ohlc[‘lips’] = pd.Series(ohlc[‘medean’]).rolling(window=5).mean().shift(3)
def close_chk(data):
#global PERIOD
#global SS #доступ к сигналу стоплосса
df = pd.DataFrame(data, columns=[‘date’, ‘open’, ‘high’, ‘low’, ‘close’])
df[‘Date’] = df[‘date’]
df[‘Date’] = df[‘Date’].astype(int)
df[‘Date’] = pd.to_datetime(df[‘Date’], unit=’s’)
df[‘dat’] = None
AO(df, slow_period=34, fast_period=5)
df[‘B1’] = None
df[‘B2’] = None
df[‘B3’] = None
df[‘S1’] = None
df[‘S2’] = None
df[‘S3’] = None
df[‘SS’] = None
df[‘Trand’] = None
df[‘BUY’] = None
df[‘TRADE’] = None
df[‘PRICE’] = None
df[‘PRICE2’] = None
df = df.iloc[34:]
#print(df)
dict = df.to_dict(‘records’)
Lesszero = True
min1 = []
max1 = []
#pmin = 1 # относительное падение цены от начала работы бота
#pmin1 = 1 # относительное падение цены от закупки
#MM = False
for index, elems in enumerate(dict):
# Здесь для индикаторов B1, B2, B3, S1, S2, S3
# определим выше нуля или нет и обнулим списки
if dict[index-1][‘ao’] >= 0 and dict[index][‘ao’] < 0 :
Lesszero = True # Сигнал нам нужно сохранить пока не пересечем нуль
min1 = []
max1 = []
if dict[index-1][‘ao’] < 0 and dict[index][‘ao’] >= 0 :
Lesszero = False
min1 = []
max1 = []
# B1 сигнал на покупку блюдце выше нуля
#if dict[index-1][‘ao’] < 0 and dict[index][‘ao’] >= 0 :
if not Lesszero:
if (
(dict[index-1][‘ao’] < dict[index][‘ao’]
and dict[index-2][‘ao’] > dict[index-1][‘ao’]
and dict[index-2][‘ao’] > 0)
):
elems[‘B1’] = True
# B2 сигнал на покупку пересечение нуля снизу вверх
if (
dict[index][‘ao’] > 0 and dict[index-1][‘ao’] <=0
):
elems[‘B2’] = True
# B3 сигнал на покупку два пика ниже нуля
#if dict[index-1][‘ao’] >= 0 and dict[index][‘ao’] < 0 :
if Lesszero:
#print(dict[index][‘Date’])
#min1.append(dict[index-1][‘ao’])
# мы ловим второй пик, если он больше (ближе к нулю) чем первый
# формируем сигнал на покупку
# если он меньше (дальше от нуля)
# удаляем первый пик
if (
dict[index-1][‘ao’] < dict[index][‘ao’]
and dict[index-2][‘ao’] > dict[index-1][‘ao’]
):
min1.append(dict[index][‘ao’])
if len(min1) == 2 and min1[0] >= min1[1]: # второй пик ниже
#print(‘delete’)
#print(min1)
min1.pop(0) #удаляем первый пик
#print(min1)
#print(dict[index][‘Date’])
#print(min1)
if len(min1) == 2 and min1[0] < min1[1]:
#S1_sell = True
#print(‘buy’)
#print(min1)
elems[‘B3’] = True
min1.pop()
min1.pop()
#S1 сигнал на продажу блюдце ниже нуля
if (
dict[index-1][‘ao’] > dict[index][‘ao’]
and dict[index-2][‘ao’] < dict[index-1][‘ao’]
and dict[index][‘ao’] < 0
):
elems[‘S1’] = True
#S2 сигнал на продажу пересечение нуля сверху вниз
if (
dict[index][‘ao’] < 0 and dict[index-1][‘ao’] >=0
):
elems[‘S2’] = True
# S3 сигнал на продажу два пика выше нуля
#if dict[index-1][‘ao’] < 0 and dict[index][‘ao’] >= 0 :
if not Lesszero: # выше нуля
# мы ловим третий пик, если он ниже (ближе ок нулю) чем средний
# формируем сигнал на продажу блюдце
# если он выше (дальше от нуля)
# удаляем первый пик
if (
dict[index-1][‘ao’] > dict[index][‘ao’]
and dict[index-2][‘ao’] < dict[index-1][‘ao’]
):
max1.append(dict[index-1][‘ao’])
if len(max1) == 2 and max1[0] <= max1[1]: # второй пик выше
#print(‘S3’)
#print(max1)
max1.pop(0) #удаляем первый пик
#print(max1)
#print(dict[index][‘Date’])
#print(min1)
if len(max1) == 2 and max1[1] < max1[0]:
#print(‘buy’)
#print(min1)
elems[‘S3’] = True
max1.pop()
max1.pop()
# SS сигнал стоплосса (справочно)
#if SS: # сработал стоплосс
#elems[‘SS’] = True
#else:
#SS = False # снимаем сигнал
# Для транда MM опишем покупку
#if (
#elems[‘B1’] or elems[‘B2’] or elems[‘B3’]
#(elems[‘B1’] or elems[‘B2’] or elems[‘B3’]) and elems[‘lips’] > elems[‘teeth’] and elems[‘lips’] > elems[‘jaw’]
#elems[‘AB1’] or elems[‘AB2’] or elems[‘AB3’]
# or elems[‘B2’] or elems[‘B3’]
#):
#MM = True
# Для транда MM опишем продажу
#if (
#elems[‘S1’] or elems[‘S2’] or elems[‘S3’] or elems[‘SS’]
#elems[‘AS1’] or elems[‘AS2’] or elems[‘AS3’]
#):
#MM = False
#Trand = MM
#elems[‘Trand’] = Trand
#print(dict)
Debug = True
#Debug = False
if Debug:
col = (
[‘Date’, ‘open’, ‘high’, ‘low’, ‘close’,
‘B1′,’B2′,’B3′,’S1′,’S2′,’S3′,’SS’,’ao’, ‘Trand’
#,’Signal’,’pmin’,’pmin1′,’Profit’,’Prof’]
]
)
df = pd.DataFrame(dict, columns=col)
print(df.tail(20))
return dict[-1]
def get_close(data):
global PERIOD
close=numpy.asarray([float(item[‘close’]) for item in data])
return (close[-1])
# Получаем с биржи данные, необходимые для построения индикаторов
#def get_ticks(pair):
def get_sql(PER):
print(‘PER =’, PER)
#resource = requests.get(‘https://api.exmo.me/v1/trades/?pair=%s&limit=10000’ % pair)
#data = json.loads(resource.text)
#_SQL = «»»select * from trade»»»
dt = datetime.utcnow()
dtt = dt.timetuple()
#print(dtt)
x = time.mktime(dtt)
#print(x)
#print(datetime.fromtimestamp(x))
#x=int(time.time())
#print(x)
#print(datetime.fromtimestamp(x))
pr = PER * 60
#x= x — pr*110
x= x — pr*70 # 70 свечей
#_SQL = «»»select * from trade where date between 1519318790 and 1519318800; «»»
_SQL = «»»SELECT
FLOOR(MIN(`date`)/%s)*%s AS date,
SUBSTRING_INDEX(MIN(CONCAT(`date`, ‘_’, id, ‘_’, price)), ‘_’, -1) AS `open`,
MAX(price) AS high,
MIN(price) AS low,
SUBSTRING_INDEX(MAX(CONCAT(`date`, ‘_’, id, ‘_’, price)), ‘_’, -1) AS `close`
FROM trade
WHERE date >= %s
GROUP BY FLOOR(`date`/%s)
ORDER BY date»»»
#print(_SQL)
#cur.execute(_SQL,(pr,pr,x,pr))
db = mysql.connector.connect(host=»localhost», user=»u», passwd=»secret», db=»exmo»)
cur = db.cursor()
try:
cur.execute(_SQL,(pr,pr,x,pr))
except Exception as e:
log(e)
sdata=[]
for item in cur.fetchall():
#sdata.append({‘time’:datetime.utcfromtimestamp(int(item[0])),’date’:int(item[0]),’open’:float(item[1]),’high’:float(item[2]),’low’:float(item[3]),’close’:float(item[4])})
sdata.append({‘date’:int(item[0]),’open’:float(item[1]),’high’:float(item[2]),’low’:float(item[3]),’close’:float(item[4])})
cur.close()
db.close()
return sdata
def get_ticks ():
global PERIOD
global MACD
flg = False
data=[]
# d текщее время на которое расчитывается свеча
# data список предварительно рассчитанные свечи
DEBUG = False
#DEBUG = True
if flg: #flg = True для ускорения используем кэш предрасчитанные свечи в списке data
data1=[] #перегрузим сюда свечи до времени d с учетом запаса для расчета MACD
for offset, elem in enumerate(data):
#if True:
if (data[offset][‘date’] <=d) and (data[offset][‘date’] >= (d — PERIOD*MACD*2*60)):
data1.append(data[offset]) #не пропускаем последнюю свечу!
cand2_st = data1[-1][‘date’] # из последней свечи возьмем возьмем начала периода для расчета неполной свечи
cand2_end = d # время UTC
data2=get_sql(cand2_st, cand2_end, PERIOD) #расчет неполной свечи на момент d
data1.pop() #удалим последнюю, полную закрытую свечу
if len(data2)>0: # при расчете свечи на момент d может вернуться пустой список (если сделок не было)
data1.append(data2[-1])
if DEBUG: #отладка
print()
print(‘Расчет свечей из кэша :’)
print(‘data1 =’, data1)
print(‘cand2_st = ‘, cand2_st)
print(‘cand2_end = ‘, cand2_end)
print()
print(‘data2=’,data2)
print()
print(«Удаляем последнюю свечу»)
print(‘data1 =’, data1)
print()
print(‘Добавим последню свечу’)
print(‘Если data2 не пустой’)
print(‘Список в работу целиком :’)
print(‘data1 =’, data1)
return data1
else: #flg = False свечи рассчитываются напрямую запросом sql
#cand2_st = d — PERIOD*MACD*2*60 # время UTC
#cand2_end = d # время UTC
#data2=get_sql(cand2_st, cand2_end, PERIOD)
data2=get_sql(PERIOD)
if DEBUG:# отладка
print()
print(‘Тоже напрямую через SQL :’)
#print(‘cand2_st = ‘, cand2_st)
#print(‘cand2_end = ‘, cand2_end)
print()
print(‘data2 =’, data2)
return data2
# Выводит всякую информацию на экран, самое важное скидывает в Файл log.txt
def log(*args):
global USE_LOG
if USE_LOG:
# аккаунт 1
l = open(«./log1.txt», ‘a’, encoding=’utf-8′)
# аккаунт 2
#l = open(«./log2.txt», ‘a’, encoding=’utf-8′)
print(datetime.utcnow(), *args, file=l)
l.close()
print(datetime.utcnow(),’ ‘, *args)
# Ф-ция для создания ордера на покупку
def create_buy(pair):
#global USE_LOG
#USE_LOG = True
log(pair, «Создаем ордер на покупку»)
log(pair, ‘Получаем текущие курсы’)
offers = call_api(‘order_book’, pair=pair)[pair]
try:
#current_rate = float(offers[‘ask’][0][0]) # покупка по лучшей цене
#current_rate = sum([float(item[0]) for item in offers[‘ask’][:3]])/3 # покупка по средней цене из трех лучших в стакане
#current_rate = sum([float(item[0]) for item in offers[‘bid’][:1]])+0.0000001 # покупка по самой выгодной цене в стакане
current_rate = float(offers[‘ask’][0][0]) # покупка по лучшей цене
#can_buy = CAN_SPEND/current_rate
can_buy = float(balances[pair[-3:]])/current_rate
print(‘buy’, can_buy, current_rate)
log(pair, «»»
Текущая цена — %0.8f
На сумму %0.8f %s можно купить %0.8f %s
Создаю ордер на покупку
«»» % (current_rate, CAN_SPEND, pair[0], can_buy, pair[1])
)
new_order = call_api(
‘order_create’,
pair = pair,
quantity = can_buy,
price = current_rate,
type = ‘buy’
)
log(«Создан ордер на покупку %s» % new_order[‘order_id’] )
except ZeroDivisionError:
print(‘Не удается вычислить цену’, prices)
#USE_LOG = False
# Ф-ция для создания ордера на продажу
def create_sell(pair):
#global USE_LOG
#USE_LOG = True
balances = call_api(‘user_info’)[‘balances’]
#if float(balances[pair[:-4]]) >= CURRENCY_1_MIN_QUANTITY: # Есть ли в наличии CURRENCY_1, которую можно продать?
wanna_get = CAN_SPEND + CAN_SPEND * (STOCK_FEE + MARKUP)
order_amount = float(balances[pair[:-4]])
new_rate = wanna_get/order_amount
new_rate_fee = new_rate/(1-STOCK_FEE)
offers = call_api(‘order_book’, pair=pair)[pair]
current_rate = float(offers[‘bid’][0][0]) # Берем верхнюю цену, по которой кто-то покупает
#choosen_rate = current_rate if current_rate > new_rate_fee else new_rate_fee
choosen_rate = float(offers[‘bid’][0][0]) # Берем верхнюю цену, по которой кто-то покупает
print(‘sell’, balances[pair[:-4]], wanna_get, choosen_rate)
log(pair, «Создаем ордер на продажу»)
log(pair, «»»
Итого на этот ордер было потрачено %0.8f %s, получено %0.8f %s
Что бы выйти в плюс, необходимо продать купленную валюту по курсу %0.8f
Тогда, после вычета комиссии %0.4f останется сумма %0.8f %s
Итоговая прибыль составит %0.8f %s
Текущий курс продажи %0.8f
Создаю ордер на продажу по курсу %0.8f
«»»
% (
wanna_get, pair[0], order_amount, pair[1],
new_rate_fee,
STOCK_FEE, (new_rate_fee*order_amount — new_rate_fee * order_amount * STOCK_FEE), pair[0],
(new_rate_fee*order_amount — new_rate_fee*order_amount * STOCK_FEE)-wanna_get, pair[0],
current_rate,
choosen_rate,
)
)
new_order = call_api(
‘order_create’,
pair=pair,
quantity = balances[pair[:-4]],
price= choosen_rate,
type=’sell’
)
log(pair, «Создан ордер на продажу %s» % new_order[‘order_id’])
print(‘Создан ордер на продажу’, pair[:-4], new_order[‘order_id’])
if DEBUG:
print(‘Создан ордер на продажу’, pair[:-4], new_order[‘order_id’])
#USE_LOG = False
# Ф-ция для определения падения цены покупки
def price_buy(): # Возвращает цену покупки
traders_orders = call_api(‘user_trades’, pair=pair, limit=10)[pair]
buy_orders = []
for order in traders_orders:
if order[‘type’] == ‘buy’:
buy_orders.append(order)
price_buy = float(buy_orders[0][‘price’]) # Цена покупки по последнему ордеру
return (price_buy)
def get_grow(macdhist, last, porog):
if macdhist >= porog:
grow = True
if macdhist <= -porog:
grow = False
if macdhist < porog and macdhist > -porog:
grow = last
return grow
# Программа
date_last= 0 # предыдущая дата
date_last1 = 0
#trand = False
Trand_last = False
rows_list = []
# Бесконечный цикл процесса — основная логика
while True:
try:
print(‘Аккаунт 1’)
#log(‘eue’)
for pair in MARKETS: # Проходим по каждой паре из списка в начале\
try:
# Получаем список активных ордеров
try:
opened_orders = call_api(‘user_open_orders’)[pair]
except KeyError:
if DEBUG:
print(‘Открытых ордеров нет’)
log(pair, «Открытых ордеров нет»)
opened_orders = []
sell_orders = []
# Есть ли неисполненные ордера на продажу CURRENCY_1?
#log(pair, » Обработка…»)
for order in opened_orders:
if order[‘type’] == ‘sell’:
# Есть неисполненные ордера на продажу CURRENCY_1, выход
raise ScriptQuitCondition(‘Выход, ждем пока не исполнятся/закроются все ордера на продажу (один ордер может быть разбит биржей на несколько и исполняться частями)’)
# пропуск продажи
# pass
else:
# Запоминаем ордера на покупку CURRENCY_1
sell_orders.append(order)
# Проверяем, есть ли открытые ордера на покупку CURRENCY_1
if sell_orders: # открытые ордера есть
for order in sell_orders:
# Проверяем, есть ли частично исполненные
if DEBUG:
print(‘Проверяем, что происходит с отложенным ордером’, order[‘order_id’])
try:
order_history = call_api(‘order_trades’, order_id=order[‘order_id’])
# по ордеру уже есть частичное выполнение, выход
#raise ScriptQuitCondition(‘Выход, продолжаем надеяться докупить валюту по тому курсу, по которому уже купили часть’)
#LK
time_passed = time.time() — int(order[‘created’])
if time_passed > ORDER_LIFE_TIME * 60:
log(‘Пора отменять ордер %s’ % order)
# Ордер уже давно висит, никому не нужен, отменяем
call_api(‘order_cancel’, order_id=order[‘order_id’])
log(‘Ордер %s отменен’ % order)
raise ScriptQuitCondition(‘Отменяем ордер -за ‘ + str(ORDER_LIFE_TIME) + ‘ минут не удалось купить ‘)
except ScriptError as e:
if ‘Error 50304’ in str(e):
if DEBUG:
print(‘Частично исполненных ордеров нет’)
time_passed = time.time() — int(order[‘created’])
if time_passed > ORDER_LIFE_TIME * 60:
log(‘Пора отменять ордер %s’ % order)
# Ордер уже давно висит, никому не нужен, отменяем
call_api(‘order_cancel’, order_id=order[‘order_id’])
log(‘Ордер %s отменен’ % order)
raise ScriptQuitCondition(‘Отменяем ордер -за ‘ + str(ORDER_LIFE_TIME) + ‘ минут не удалось купить ‘)
else:
raise ScriptQuitCondition(‘Выход, продолжаем надеяться купить валюту по указанному ранее курсу, со времени создания ордера прошло %s секунд’ % str(time_passed))
else:
raise ScriptQuitCondition(str(e))
else: # Открытых ордеров нет
# Начинаем нашу торговлю
data1 = get_ticks()
PRICE2 = get_close(data1) # Текущая close по незакрытой свече
print(‘Текущая цена для стоплосса = ‘, PRICE2)
#print(‘последняя цена = ‘, get_close(data1))
ind = close_chk(data1[:-1]) # удаляем последнюю свечу
#print(ind)
# логгируем при смене свечи
if ind[‘date’] != date_last1: # логгируем при смене свечи
log(ind)
date_last1 = ind[‘date’]
SS = False
ind[‘dat’] = datetime.utcnow()
#Trand = ind[‘Trand’]
# Для транда MM опишем покупку
if (
ind[‘B1’] or ind[‘B2’] or ind[‘B3’]
):
MM = True
# Для транда MM опишем продажу
if (
ind[‘S1’] or ind[‘S2’] or ind[‘S3’] or SS
):
MM = False
Trand = MM
ind[‘Trand’] = Trand
ind[‘SS’] = SS
ind[‘BUY’] = BUY
ind[‘TRADE’] = TRADE
print(‘Trand = ‘, Trand)
print(‘SS = ‘, SS)
print(ind)
#if Trand != Trand_last and Trand: #Если Trand и сменился
#BUY = True #
#macd_advice = close_chk(data1) #открытые свечи
#macdhist = macd_advice[‘macdhist’]
#low = macd_advice[‘low’]
#print(‘low = ‘,low)
#high = macd_advice[‘high’]
#lowerband = macd_advice[‘lowerband’]
#upperband = macd_advice[‘upperband’]
#fastd = macd_advice[‘fastd’]
#macdh_2 = macd_advice[‘macdhist-2’]
#PRICE2 = macd_advice[‘close’]
# ниже сделано для стоплосса:
#PRICE2 = get_close(data1) # Текущая close по незакрытой свече
#print(‘Текущая цена для стоплосса = ‘, PRICE2)
#GROW = get_grow(macdh_1, GROWLAST, 12)
#aro14 = macd_advice[‘aro14-1’]
#aro14_1 = macd_advice[‘aro14-2’]
#aro7 = macd_advice[‘aro7-1’]
#aro7_1 = macd_advice[‘aro7-2’]
#print(macd_advice)
# Определение смены тренда
# при торговле по тренду если продадим в цикле покупок до смены тренда
# нужно запретить повторные закупки TRADE = False
#if ( #условие смены тренда тоже что и после продажи
#not GROW
#GROW and not GROWLAST
#or (macd_advice[‘aro7-1’] < 0 and GROW)# Если пошел слив
#) :
#print(‘Сменился тренд торгуем’)
#TRADE = True
#print(‘TRADE = ‘, TRADE)
#print(call_api(‘user_info’))
balances = call_api(‘user_info’)[‘balances’]
#print(‘balances’, balances)
reserved = call_api(‘user_info’)[‘reserved’]
min_quantityy = call_api(‘pair_settings’,pair=pair)[pair]
CURRENCY_1_MIN_QUANTITY = float(min_quantityy[‘min_quantity’])
# Покупка
if True:
#if BUY and TRADE :
#if TRADE: #Если TRADE = False значит сработал стоплосс ждем окончания свечи
if float(balances[pair[-3:]]) >= 20: # Если есть больше 20 USD
#if mm[2][-1]>=data1[-2][‘high’] and macd_advice[‘k’] >= 1.001 : #покупаем
#if macd_advice[‘k’] >= 1.001 : #покупаем
#if macd_advice[‘ksma7’] >= 1.001 and mm[2][-1]>=data1[-2][‘high’]: #покупаем
#if GROW and not GROWLAST: # После смены тренда будем покупать при aro(7) < 0
#FIRST = True #
#print(«Ждем покупки»)
if ( # Условие покупки
#FIRST # После смены тренда будем покупать при aro(7) < 0
#or GROW and aro7 > 0 # Повторная закупка при aro(7) > 0
BUY and Trand
#and fastd > 22
):
log(ind)
log(‘Создаем ордер на покупку’)
BUY = False # указываем цикл продаж
TRADE = True
create_buy(pair=pair)
else:
print(‘Ждем покупки’)
else:
order = str(‘ В ордере :’ + str(float(reserved[pair[:-4]])) + ‘. ‘ + str(pair[:-4])) if float(reserved[pair[:-4]]) > 0.0 else »
#raise ScriptQuitCondition(‘Не хватает денег для торговли: баланс ‘ + str(round(float(balances[pair[-3:]]))) + ‘ ‘ + str(pair[-3:]) + order)
#else:
#print(‘Ожидание окончания свечи’)
# Продажа
if TRADE:
print(‘торгуем!!!’)
#if not BUY and TRADE:
#print(call_api(‘user_info’))
#balances = call_api(‘user_info’)[‘balances’]
#print(‘balances’, balances)
#reserved = call_api(‘user_info’)[‘reserved’]
#min_quantityy = call_api(‘pair_settings’,pair=pair)[pair]
#CURRENCY_1_MIN_QUANTITY = float(min_quantityy[‘min_quantity’])
#print(‘Баланс: ‘+str(float(balances[pair[:-4]]))+’ ‘+str(pair[:-4]))
#if True:
if float(balances[pair[:-4]]) >= CURRENCY_1_MIN_QUANTITY: # Есть ли в наличии CURRENCY_1, которую можно продать?
print(‘Баланс: ‘+str(float(balances[pair[:-4]]))+’ ‘+str(pair[:-4]))
PRICE = price_buy() # Цена покупки последнего ордера
ind[‘PRICE’] = PRICE
ind[‘PRICE2’] = PRICE2
if PRICE2 < PRICE * 0.99: #условие стоплосса
# SS будем держать пока не смениться свеча
SS = True # сигнал стоплосса сработает в следующем цикле
log(‘Это был стоплосс!!!’)
#print(‘Цена последнего ордера = ‘,PRICE)
#if aro7 > 0: # когда стал положительным
#FIRST = False # отменяем
if ( # Условие продажи
not Trand
#or PRICE2 < PRICE * 0.99 #условие стоплосса
#or PRICE2 < 8415 #условие стоплосса
#not GROW
#or aro14_1 == 100 and aro14 < 100 and GROW and BUY100 and not FIRST # при aro14 = 100 январь 2018
#or aro7 < 0 and GROW and not FIRST # Для января 2018 жесткое условие
) :#Продаем
TRADE = False # Блокируем до конца тренда
#TRADE = True
#BUY = True
BUY = True
log(‘Сработал сигнал sell’)
log(‘Создаем ордер на продажу’)
log(‘PRICE = ‘, PRICE)
log(‘PRICE2 = ‘, PRICE2)
log(ind)
create_sell(pair=pair)
else:
print(‘Ожидаем продажу !!!’)
else:
#print(‘Баланс: ‘+str(float(balances[pair[:-4]]))+’ ‘+str(pair[:-4]))
print(‘Нет BTC для продажи’)
else:
print(‘TRADE = ‘, TRADE)
if ind[‘date’] != date_last: # логгируем при смене свечи
date_last = ind[‘date’]
rows_list.append(ind)
if ind[‘SS’] != SS_last: # логгируем при изменении сигнала SS
SS_last = ind[‘SS’]
rows_list.append(ind)
except ScriptError as e:
print(e)
except ScriptQuitCondition as e:
print(e)
except Exception as e:
print(«!!!!»,e)
#except (KeyboardInterrupt, SystemExit):
#print(«Exiting…»)
#col = (
#[‘Date’, ‘Date_int’, ‘open’, ‘high’, ‘low’, ‘close’, ‘ao’
#]
#)
#df = pd.DataFrame(rows_list, columns=col)
#df = pd.DataFrame(df, columns=col)
#filename = ‘backup-‘+ datetime.utcnow().strftime(«%Y%m%d-%H%M%S»)+’.xlsx’
#writer = pd.ExcelWriter(filename)
#df.to_excel(writer,’Sheet1′)
#writer.save()
#print(‘Файл ‘ + filename + ‘ сохранен!’)
#break
time.sleep(1)
#GROWLAST = GROW
except Exception as e:
print(e)
except (KeyboardInterrupt, SystemExit):
print(«Exiting…»)
col = (
[
‘dat’,’Date’,
#’open’, ‘high’, ‘low’,
‘close’,
‘B1′,’B2′,’B3′,’S1′,’S2′,’S3′,’SS’,’ao’,
‘Trand’,’BUY’,’TRADE’,’PRICE’,’PRICE2′
]
)
df = pd.DataFrame(rows_list, columns=col)
#df = pd.DataFrame(df, columns=col)
filename = ‘backup-‘+ datetime.utcnow().strftime(«%Y%m%d-%H%M%S»)+’.xlsx’
writer = pd.ExcelWriter(filename)
df.to_excel(writer,’Sheet1′)
writer.save()
print(‘Файл ‘ + filename + ‘ сохранен!’)
break
Exmo bot на google таблицах.(бесплатный облачный сервис)
Бот для торговли на криптобирже Exmo
Добрый день народ. Представляю вашему вниманию моё творение.
Если кто то увлекается торговлей на криптобирже. И хотел бы автоматизироват процессы купли продажы то пищите ваши стратегии и я их реализую в своем боте.
Это статья скопирована с форуме где я размещаю своего бота
https://forum.bits.media/index.php?/topic/84594-exmo-bot-%D0%BD%D0%B0-google-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0%D1%85%D0%B1%D0%B5%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D0%BD%D1%8B%D0%B9-%D0%BE%D0%B1%D0%BB%D0%B0%D1%87%D0%BD%D1%8B%D0%B9-%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81/
Бот обновлен 26.06.2018г.
Добрый день товарищи.
Предлагаю вашему вниманию очень перспективный сервис на мощностях гугл и самое главное бесплатно.
От вас требуется лишь учетная запись в google.
На данный момент реализовано следующее
Купить продать
Стакан
Баланс.
Просмотр открытых ордеров
Просмотр закрытых ордеров
Бот скальпер.
Триггеры.
Оптимизирован код.
Добавлена возможность поднятие собственного телеграмм бота. Который будет уведомлят о состоянии бота.
Итак первые сложности.
Бот может работать только 6 мин(ограничения самого google сервиса).
Лечения этого будет в триггерах что потребует переработки кода.
Что будет реализовано
Триггеры
Сделать как сервис чтоб бот сам запускался и работал. От пользователя требуется лишь ввод данных в таблице.
Возможно добавлю функцию телеграмм бота
Запуск бота через телеграмм
Инфо о состояния бота через телеграмм
Ручная торговля через телеграмм
Получения уведомления в телеграмм
И в конце когда все будет отработано в одной бирже
Будет добавлены все топовые биржы
Стратегии
Стратегия мартингейл
ну и какие придумаю
Будет добавлен Арбитраж
внутребиржевой
Межбиржевой
Торговый бот Cryptohopper: подключите свой счет EXMO
Cryptohopper — ведущий бот для автоматической торговли, основанный в 2017 году, чтобы упростить торговлю криптовалютами в режиме 24/7. Это программа на основе искусственного интеллекта, которая делает торговлю криптовалютой доступной, интересной и стоящей для всех. Платформа обслуживает более 400 000 трейдеров и обрабатывает более 9 миллионов транзакций на сумму около 2 миллиардов долларов в месяц.
Теперь вы можете подключить свою учетную запись Exchange к Cryptohopper и получить выгоду, используя экспертные инструменты, не требуя каких-либо специальных навыков программирования.
Но это еще не все! трейдеров EXMO получат стартовый пакет Explorer БЕСПЛАТНО! Используйте код скидки «EXMOEXPLORER» , действительный до 23 сентября, чтобы пользоваться расширенными торговыми функциями в течение 30 дней.
Подключите ботаУдобная автоматическая торговля
Бот Cryptohopper предлагает быструю автоматическую торговлю и управление портфелем для всех криптовалют, доступных на EXMO, включая Биткойн, Ethereum и Litecoin. У вас также будет доступ к полному набору инструментов, таких как функции трейлинга, маркет-мейкинг и арбитраж.
Бесплатно
Cryptohopper полностью бесплатен, поэтому вам не нужно ничего платить, чтобы пользоваться преимуществами автоматической криптотрейдинга. Однако платформа предлагает три дополнительных тарифных плана с расширенными инструментами для покупки.
Социальная торговая платформа
Присоединяйтесь к платформе социальной торговли, чтобы совершенствовать свои навыки и повышать эффективность торговли: получайте торговые сигналы, обсуждайте стратегии во внутреннем чате, покупайте стратегии и шаблоны ботов.
Инструменты для экспертов
Cryptohopper — это намного больше, чем просто торговый бот.Платформа предлагает создание рынков, обмен или рыночный арбитраж, зеркальную торговлю, разработку стратегий и многое другое. С бумажной торговлей вы можете практиковать свои навыки, не подвергаясь финансовому риску.
Подключение аккаунта EXMO к Cryptohopper
Начать работу с Cryptohopper можно всего за несколько минут.
- Для начала сгенерируйте ключи API в своем аккаунте EXMO, чтобы связать его с ботом.
- Создайте учетную запись на платформе Cryptohopper и подключитесь к EXMO.
Легко подключите бота и воспользуйтесь передовым автоматизированным решением!
Подключите своего бота к EXMO
Подключите своего бота к EXMO #
EXMO — европейская криптовалютная биржа, основанная в 2014 году. В этом руководстве показано, как подключить свою учетную запись EXMO к Cryptohopper. Важно отметить, что при создании ключей API на этой бирже права на снятие средств по умолчанию отключены. Мы также рекомендуем вам не использовать право вывода средств при торговле на Cryptohopper.
Зайдите в Exmo и создайте учетную запись, нажав «Зарегистрироваться».
Выберите имя пользователя, введите свой адрес электронной почты, номер телефона, пароль и затем нажмите «Принять условия и положения».
- Подтвердите свою электронную почту
- Следующим шагом будет проверка вашей учетной записи. Здесь вы должны заполнить личные данные, указанные в вашем паспорте.
- Проверьте свой паспорт, удостоверение личности или водительские права и введите необходимые данные.
- Загрузите изображение вашего паспорта, удостоверения личности или водительских прав.
- Сделайте селфи, следуя приведенным инструкциям.
- Вам не нужно ждать подтверждения подтверждения, чтобы создать ключ API.
- Щелкните свое имя пользователя в правом верхнем углу и щелкните «Настройки». Затем нажмите «API», а затем «Создать ключ API».
- Дайте ключу API имя, например Cryptohopper.
- Теперь вам нужно создать ключи API! Убедитесь, что вы подтверждаете создание ключей API по электронной почте.
- Перейдите в свою учетную запись Cryptohopper и найдите файл baseconfig. Оттуда вы можете щелкнуть вкладку с надписью «Обмен».
Дайте Хопперу время, чтобы связать все, и ваш баланс должен быть загружен.
Не можете увидеть свой обменный баланс? Несколько вещей, которые могут помешать вашему хопперу синхронизировать средства вашей биржи.В большинстве случаев в используемом вами браузере включено автоматическое заполнение. Это означает, что браузер сам заполняет определенные текстовые поля. Вы можете сделать три вещи:
- Отключить автозаполнение
- Использовать режим инкогнито вашего браузера
- Использовать браузер, который вы не часто используете
- Еще одна вещь, которая может помешать синхронизации вашего Hopper, — это менеджеры паролей, отключите это для Cryptohopper
И готово! Посетите наш форум сообщества, где пользователи делятся своими настройками Hopper.
У вас есть дополнительные вопросы о вашей учетной записи EXMO? Ознакомьтесь с FAQ по EXMO.
Последнее обновление
exmo api — labmazurokcom / blockchain Wiki
Введение
Сайт: https://exmo.com/
Документация: https://exmo.com/en/api
Пределы: НЕИЗВЕСТНО.
Комиссия за использование бота: 0,2% (мейкер и тейкер).
Книга заказов
https: // api.exmo.com/v1/order_book/?pair=BTC_USD&limit=50
N.B. Максимальный лимит — 1000.
N.B. У них также есть пара BTC_USDT.
Ответ:
{ "BTC_USD": { "ask_quantity": "3", "ask_amount": "500", "ask_top": "100", "bid_quantity": "1", "bid_amount": "99", "bid_top": "99", "просить": [ ['8197.99764077', '0,02328718', '190.9082467'], ['8198', '0,00002172', '0.17806056 '], ... ] "делать ставку": [ ['8161.26830272', '0.00100225', '8.17963115'], ['8161.26818147', '0.00746168', '60 .89677156 '], ... ] } }
Поле | Значение |
---|---|
ask_quantity | сумма всех значений количества в заявках на продажу |
ask_amount | сумма всех значений итоговой суммы в заявках на продажу |
ask_top | минимальная цена продажи |
bid_quantity | сумма всех значений количества в заказах на покупку |
bid_amount | сумма всех значений итоговой суммы в заявках на покупку |
bid_top | максимальная цена покупки |
ставка | список заявок на покупку, где каждое поле: цена, количество и сумма |
спросить | список заявок на продажу, где каждое поле: цена, количество и сумма |
Тикер
https: // api.exmo.com/v1/ticker
N.B. Возвращает сразу все пары.
Ответ:
{ 'BTC_USD': { 'buy_price': '8174.9999999', 'sell_price': '8175', 'last_trade': '8175', 'высокий': '8235.99651404', 'low': '7476.99957425', 'avg': '7823.812', 'объем': '1626.36514197', 'vol_curr': '13295535.03545099', 'обновлено': 1523621733 }, 'BCH_ETH': { 'buy_price': '1.50766132', 'sell_price': '1.50991226 ', 'last_trade': '1.504646', 'high': '1,572', 'low': '1.457', 'avg': '1,50363679', 'объем': '210.72959741', 'vol_curr': '316.15761499', 'обновлено': 1523621732 }, ... }
Поле | Значение |
---|---|
высокий | максимальная цена сделки за последние 24 часа |
низкий | минимальная цена сделки за последние 24 часа |
в среднем | средняя цена сделки за последние 24 часа |
об. | Объем сделок за последние 24 часа |
vol_curr | общая стоимость всех сделок за последние 24 часа |
last_trade | цена последней сделки |
купить_цена | текущая максимальная цена покупки |
цена_продажи | Текущая минимальная цена продажи |
обновлено | дата и время обновления данных |
Валютный лимит
https: // api.exmo.com/v1/pair_settings/
Виды заказа
Заявка на покупку / продажу (что-то похожее на лимитную заявку на других биржах ?!)
Пользователь может установить как цену, так и количество. (Может быть выполнено частично ?!)
Рыночный ордер на покупку / рыночный ордер на продажу
Пользователь может установить только количество базовой валюты для покупки или продажи соответственно
Общая рыночная заявка на покупку / Общая рыночная заявка на продажу
Пользователь может установить только количество валюты котировки.Это рыночный ордер на покупку / продажу на определенную сумму.
Пример: пользователь устанавливает количество 100 на паре BTC / USD. Это означает, что он хочет купить BTC на сумму 100 долларов США.
Пример запроса частного API
запросов на импорт импортировать hashlib импорт hmac время импорта импортировать urllib api_key = 'API_KEY' api_secret = 'API_SECRET' nonce = int (раунд (time.time () * 1000)) params = {} params ['nonce'] = nonce params ['пара'] = 'BTC_USD' params ['количество'] = 5 params ['price'] = 5 params ['type'] = 'продавать' params = urllib.parse.urlencode (параметры) api_secret = байты (api_secret, кодировка = 'utf-8') H = hmac.new (ключ = api_secret, digestmod = hashlib.sha512) H.update (params.encode ('utf-8')) знак = H.hexdigest () заголовки = { "Content-type": "application / x-www-form-urlencoded", "ключ": api_key, «Знак»: знак } endpoint = "https://api.exmo.com" req = "/ v1 / order_create" r = requests.post (конечная точка + запрос, данные = параметры, заголовки = заголовки) печать (r.text)
Exmo — PalmaBot
Содержание
Подключите PalmaBot к Exmo
- Войдите или зарегистрируйтесь на Exmo https: // exmo.me
2. Введите идентификатор пользователя и пароль, заполните код и нажмите « Sign In »
Если у вас включена 2FA (рекомендуется), вам будет предложено ввести свой код 2FA, а затем
, вы должны нажать « Войти » снова.
3. Перейдите в меню в верхнем правом углу (ваше имя пользователя) и выберите « Settings »
4. Теперь щелкните API. После этого вы можете включить необходимые разрешения и внести в белый список IP-адреса вашего
(в разделе «Добавить новый IP-адрес»), включая palmas IP 46.19.9.48
Мы рекомендуем вам включить « API-доступ только с доверенных IP-адресов »
После того, как вы ввели IP-адреса, вы должны нажать « Добавить », чтобы они были сохранены.
Затем нажмите « Generate API Key »
5. Введите код аутентификатора 2FA (если включен)
6. Скопируйте и вставьте данные ключа API, секрет в настройки API PalmaBot. Затем нажмите кнопку « OK ».
7. Теперь, чтобы активировать ключ API, вы должны нажать кнопку «Активировать».Затем вас попросят подтвердить по электронной почте
.
8. После перехода по ссылке в электронном письме от Exmo вас попросят подтвердить активацию ключа API
, нажав синюю кнопку « Активировать ключ ».
9. Теперь ваш ключ API подтвержден, и вы можете вернуться к настройкам API PalmaBot.
10. После того, как вы скопировали все данные в настройки API PalmaBot, убедитесь, что вы выбрали правильный обмен
, нажмите «Тест» и сохраните данные API
10.
Поздравляем! Вы только что подключили PalmaBot к своей учетной записи Exmo.
Чтобы просмотреть видеоруководство по копированию и вставке ключей API из учетной записи обмена ноутбука / настольного компьютера на мобильное устройство, щелкните здесь: видео с руководством по установке API.
Напишите боту / в помощьЛучшие боты для торговли криптовалютой в 2021 году
Тщательная проверка криптовалютных рынков на ежедневной или, возможно, ежечасной основе: это прилив адреналина, но является ли это наиболее эффективным способом торговли? Если ваша цель — эффективность, могут помочь алгоритмические боты для криптовалютной торговли.
Что такое боты для торговли криптовалютой?Крипто-торговые боты — это компьютерные программы, которые создают и отправляют на биржи заказы на покупку и продажу на основе правил заранее определенной торговой стратегии. Например, очень простой торговый бот может быть запрограммирован на продажу ETH, когда цена криптовалюты достигает определенного порога.
Короче говоря, боты для криптовалюты позволяют торговать на основе данных и тенденций, а не на эмоциональном порыве. В конечном итоге это обычно увеличивает их прибыль, сводит к минимуму их риски и ограничивает их потери на биржах.Кроме того, боты могут приносить пассивный доход 24 часа в сутки. Спите ли вы, катаетесь на велосипеде, проводите презентацию, да что угодно: вы также можете зарабатывать на автоматических сделках.
Автоматическая торговля поддерживается растущим числом платформ, но мы провели исследование и представили наши фавориты ниже, а также практический контекст и советы, как заставить их работать на вас.
Общие стратегии ботов
Стратегии арбитражных ботов
Арбитражные боты — это компьютерная программа, которая проверяет и сравнивает цены на монеты на разных биржах, чтобы совершать автоматические сделки, использующие расхождения в ценах.Например, биткойн-арбитражный бот может определить, что BTC торгуется на 200 долларов за токен на Kraken больше, чем на bitFlyer, в результате чего бот покупает BTC на bitFlyer и быстро продает его на Kraken, чтобы получить небольшую прибыль.
Стратегия грид-бота
Грид-бот прост и хорош для новичков. Вы просто устанавливаете несколько «сеток» верхних и нижних пределов стоимости для определенной криптовалюты. Затем бот совершает серию взаимозаменяемых сделок, чтобы постепенно накапливать прибыль.Допустим, у вас есть следующие параметры для COMP:
Нижний предел: 1000 долларов
Верхний предел: 2000 долларов
Количество сетки: 10
Если цена COMP составляет 1500 долларов при программировании bot, у вас будет 4 открытых ордера на продажу и 5 открытых ордеров на покупку. Если цена вырастет до 1600 долларов, бот автоматически разместит два парных ордера: продать по 1600 долларов и купить по 1500 долларов. Прибыль в размере 100 долларов добавляется к вашему балансу.
9 лучших торговых роботов для криптовалюты
Лучший универсальный торговый бот: Trality
. Что отличает Trality, так это мощный Python API, который означает, что трейдеры, разбирающиеся в Python, могут использовать знакомый язык и библиотеки для разработки ботов. Его функции кодирования в браузере включают интеллектуальное автозаполнение и бэктестинг, а в ближайшее время будут доступны отладка в браузере и ребалансировка. Хотя эта новая платформа все еще добавляет возможности, ее простая в использовании интеграция с Python и подробная документация делают сложную сборку ботов более прозрачной.
Биржи : Binance, Kraken, Coinbase Pro, Bitpanda
Комиссии : бесплатно примерно до 70 долларов в месяц (бесплатный тариф удивительно надежен)
Язык программирования: Python
Биржи : HitBTC, Okex, Bitpanda, Bitvavo, Binance, Binance US, Coinbase Pro, Bittrex, Poloniex, Bitfinex, Huobi, KuCoin, Kraken, Crypto.com от
до долларов США: бесплатно до
сборов / mo
Язык программирования: Пользовательский интерфейс, программирование не требуется
Биржи : Binance, FTX, Bybit, BitMEX, Deribit, Bittrex, Binance DEX, Binance US, Bitfinex, Bitstamp, CEX.IO, Coinbase Pro, EXMO, Gate.io, HitBTC, Huobi, Kraken, KuCoin , OKEx, Poloniex, Yobit
Комиссии : Бесплатно до 99 долларов в месяц
Язык программирования: Пользовательский интерфейс, программирование не требуется
Биржи : Binance, Bittrex, Huobi, Okex, Coinbase Pro, FTX, Kraken, KuCoin, Bitfinex, Gate.io, Binance US, Indodax
Сборы : от
до долларов США бесплатноЯзык программирования: Пользовательский интерфейс, программирование не требуется
Биржи : в основном Binance и Binance US
Комиссии : Нет, токен SA доступен в Binance Smart Chain
Язык программирования: Пользовательский интерфейс, программирование не требуется43
Также универсален: Cryptohopper
Cryptohopper обладает огромной мощью: он работает с более чем 100 токенами на 13 биржах и имеет сотни тысяч пользователей. Таким образом, его пакеты — от 0 до 99 долларов в месяц — предлагают что-то для всех.Новички найдут множество образовательных ресурсов, шаблонов и сигналов, а эксперты смогут разработать и протестировать свои собственные стратегии. Размещенный в облаке для быстрого развертывания, обширный набор инструментов Cryptohopper и удобный интерфейс делают его хорошим универсальным выбором.
Лучший бот для продвинутых трейдеров: 3Commas
3Commas предлагает сложные варианты торговли в удобном и удивительно доступном пакете, что делает его хорошим выбором для независимых трейдеров, желающих применять более сложные стратегии.Например, торговля опционами — непростой бизнес, но 3Commas имеет простой, хорошо визуализированный пользовательский интерфейс, который помогает инвесторам программировать автоматические стратегии опционов. В качестве дополнительного бонуса блог 3Commas предлагает ценные идеи, аналитику и руководства для криптотрейдеров.
Лучший бот для начинающих трейдеров: CryptoHero
С очень доступным цены и очень простой пользовательский интерфейс, CryptoHero идеально подходит для трейдеров, которые плохо знакомы с криптоботами.Он также оптимизирован для ИИ, еще одного преимущества для (доверчивых) ограниченных во времени или новичков.
Торговый бот с лучшими бесплатными визуальными стратегиями: Superalgos
В то время как большинство бесплатных ботов предназначены для людей с навыками программирования, Superalgos предлагает визуальный интерфейс, похожий на те, которые используются чаще нашел в платных предложениях.Это открывает доступ к торговле крипто-ботами новой аудитории нетехнических пользователей. Его возможности на удивление надежны и включают автоматическую торговлю, визуальное проектирование стратегии, а также предварительное и обратное тестирование. Более того, инициатива направлена на то, чтобы оставаться бесплатным, открытым исходным кодом и нулевым доверием. Недавно он запустил собственный токен SA, позволяющий сторонникам стать частью сообщества управления.
Pionex — это криптовалютная биржа, которая дает пользователям доступ к 12 бесплатным торговым ботам, включая сеточных и арбитражных ботов.Ценник в $ 0 привлекателен, но так же и тот факт, что, поскольку боты встроены в биржу, пользователю не нужно бороться с какими-либо интеграциями API. Однако имейте в виду; чтобы пополнить свой счет в долларах США, вам необходимо загрузить второе приложение Pionex Lite.
Биржи : Pionex (арбитраж на спотовых фьючерсах)
Комиссии : Без ежемесячной цены, но 0,05% комиссии за каждую торговую транзакцию сети, и Pionex берет 10% прибыли арбитража
Язык программирования: Пользовательский интерфейс, программирование не требуется
Лучший бесплатный торговый инструмент для сделок с малой задержкой: Ichibot
Ichibot — это больше инструмент, чем бот, поскольку он полностью запускается через интерфейс командной строки и не будет принимать никаких торговых решений самостоятельно.Это платформа для разработки торговых стратегий для тех, кто предпочитает код кликам. Пользователи могут разрабатывать сложные торговые стратегии для Binance и FTX и выполнять их в режиме реального времени, чтобы воспользоваться рыночными колебаниями.
Лучший бот для социальной торговли: Shrimpy
Shrimpy ориентирован на долгосрочное управление портфелем. Помимо включения автоматической торговли, ребалансировки портфеля и мониторинга производительности между биржами, Shrimpy также предоставляет пользователям уникальную социальную функцию. Трейдеры могут копировать торговые стратегии ведущих пользователей.Или, если их собственные сделки очень успешны, они могут оказаться на вершине «таблицы лидеров» Shrimpy, что даст им возможность получать ежемесячный доход от публикаций. Сообщество Shrimpy, большое количество поддерживаемых бирж и простой в использовании интерфейс сделали его ведущей платформой для автоматической торговли.
Биржи : Bibox, Binance, Binance US, Bitfinex, Bitmart, Bitstamp, Bittrex, Bittrex Global, Coinbase Pro, FTX, FTX US, Gemini, HitBTC, Huobi Global, Kraken, KuCoin, Okex
, PolarisКомиссии : от 19 до 299 долларов в месяц
Язык программирования: Пользовательский интерфейс, программирование не требуется
Лучшие бесплатные боты DeFi: TokenSets
TokenSets — это мощная инфраструктура управления портфелем DeFi, которая не имеет ( еще) установлены торговые комиссии.«Наборы» DeFi — это обеспеченные портфели, которые балансируются в соответствии со стратегиями каждого инвестора. В то время как некоторые наборы управляются индивидуальными или институциональными разработчиками, другие являются «роботизированными наборами», которые автоматически перебалансируются на основе определенных технических индикаторов. TokenSets — отличный вариант для инвесторов, заинтересованных в начале работы с DeFi — особенно сейчас, до того, как начнутся его торговые сборы.
Интеграции : AAVE, Compound, Balancer, Uniswap
Сборы : Нет
Язык программирования: Пользовательский интерфейс или вы можете создавать наборы с написанием смарт-контракта в твердом состоянии
Вы выбрали своего бота, запрограммировали его стратегии и наблюдали за его результатами.Теперь, как вы подаете налоги на эти транзакции? Проще говоря, криптоботы торгуют на биржах от вашего имени. Итак, когда приходит время отчитываться о криптовалюте по налогам, вам просто нужно импортировать свои сделки с этих бирж в программное обеспечение для налогообложения криптовалют. Это тот же самый процесс, который вы использовали бы для сделок, которые совершаете сами.
При выборе стратегии бота очень важно знать, сколько сделок будет совершать бот. Высокочастотные торговые роботы, совершающие десятки или сотни сделок в день, могут приводить к десяткам — или даже сотням — тысяч транзакций, о которых необходимо сообщать.Это увеличивает сложность ваших налоговых расчетов. Однако, если вы определили, что высокочастотная пассивная криптовалютная торговля является правильной стратегией для вас, TokenTax может обрабатывать такую торговлю с помощью соответствующего плана налогообложения криптовалют.
Связанное содержимое
Чтобы быть в курсе последних новостей, подписывайтесь на TokenTax в Twitter @tokentax.
Обмен криптовалюты EXMO пострадал от сбоев из-за DDoS-атаки
Британская криптовалютная биржа EXMO столкнулась с перебоями в работе своих сервисов, поскольку стала жертвой распределенной атаки типа «отказ в обслуживании» (DDoS), в результате которой ее платформа была отключена примерно на 3 года. часов, второй приступ за последние 2 месяца.
Об этом сообщила биржа в твите в понедельник, 15-го числа, в котором компания сообщила причину сбоя веб-сайта и сообщила своим пользователям, что работает над решением проблемы.
DDoS-атака использует несколько систем для перегрузки сервера недействительными запросами, не позволяя ему устанавливать легитимные соединения и в некоторых случаях приводя к сбоям.
Хотя эти атаки можно смягчить на централизованных платформах, полностью предотвратить их сложно из-за уровня сложности, достигнутого злоумышленниками.
EXMO поражали более одного раза
EXMO уже были целью хакеров еще в декабре 2020 года, когда биржа потеряла около 5% своих активов, по словам Марии Станкевич, руководителя отдела развития биржи.
Тогда эти 5% составляли около 10,5 миллионов долларов в BTC; ETH, XRP и другие криптовалюты, при этом часть средств возвращается в сотрудничестве с другими биржами.
Хотя в этом случае не было украдено никаких активов, атака помешала использованию платформы законными пользователями, что привело к падению объема торгов примерно на 20% по данным coingecko.
Атаки на централизованные биржи — это не новость
EXMO — не единственная биржа, ставшая целью хакеров, но и последнее дополнение к списку, который уже учитывался такими крупными биржами, как Binance, Bitfinex, OKEx и KuCoin.
Хотя в большинстве случаев эти атаки предназначены только для того, чтобы нарушить возможности бирж по предложению своих услуг, атаки, подобные той, от которой пострадали EXMO и KuCoin в декабре и сентябре 2020 года соответственно, привели к убыткам в миллионы долларов.
Централизация и кастодиальный характер этих бирж делают их прибыльной целью для злоумышленников, стремящихся украсть криптоактивы, а также более легкой мишенью для DDoS-атак, чем децентрализованные сервисы.
В то время как децентрализованные биржи подвержены атакам, о чем свидетельствует атака, от которой в последние недели пострадал yearn.finance, их безопасность также зависит от настроек контракта как такового, а не его инфраструктуры.
Что касается прошлых атак на другие биржи, генеральный директор OKEx Джей Хао и генеральный директор Binance Чанпэн Чжао заявили, что, по их мнению, за атаками стоят конкуренты.Однако EXMO еще не опубликовали более подробную информацию о том, как произошла атака и кто, возможно, стоял за ней.
Децентрализованные биржи продолжают набирать популярность
Децентрализованные биржи (DEX), которые часто рассматриваются как более безопасная и эффективная альтернатива, продолжают набирать популярность в криптосообществе за счет предоставления услуг, не связанных с хранением, более низких комиссий и более широкого списка криптовалют.
Еще 15 января Uniswap достигла объема торгов в 100 миллиардов долларов всего через 9 месяцев после запуска в мае 2020 года, став первой DEX, достигшей этого рубежа.
В январе биржа достигла 20 миллионов долларов ежемесячного объема торгов, став одним из основных игроков в экосистемах криптовалюты, поскольку крупные централизованные биржи стремятся сохранить свое преимущество в этом секторе.
Популярные DEX, такие как 1inch и Sushiswap, также продолжают расти в популярности, и в январе 2021 года общая ниша в этой нише превысила 63 миллиарда долларов. С такой суммой интереса справедливо предположить, что DEX будут продолжать расширяться на рынке. этот год.
В то время как централизованные биржи продолжают лидировать на рынке криптовалют, растущий интерес к криптовалюте, усиление регулирования и появление новых криптовалют каждый день будут играть важную роль в продолжении конкуренции между централизованными и децентрализованными биржами.
пакет exmo — github.com/thrasher-/gocryptotrader/exchanges/exmo — pkg.go.dev
пакет GoCryptoTrader Exmo
Этот пакет exmo является частью кодовой базы GoCryptoTrader.
Это все еще в активной разработке
На этой доске Trello вы можете отслеживать идеи, запланированные функции и то, что происходит в процессе: https://trello.com/b/ZAhMhpOy/gocryptotrader.
Присоединяйтесь к нам, чтобы обсудить все, что связано с GoCryptoTrader! GoCryptoTrader Slack
Обмен Exmo
Текущие характеристики
Как включить
// Биржи будут абстрагированы в дальнейших обновлениях, а примеры будут
// поставляем тогда
Как совершать общедоступные / частные звонки в REST
- Если разрешено через «конфигурацию».json, обмен будет добавлен в
Массив IBotExchange в боте
go var Bot
, и вы сможете использовать только функции интерфейса оболочки для доступа к данным обмена. Просмотреть процедуры.go для примера использования интеграции с GoCryptoTrader. Элементарный пример ниже:
main.go
var e exchange.IBotExchange
for i: = range bot.exchanges {
if bot.exchanges [i] .GetName () == "Exmo" {
e = bot.exchanges [i]
}
}
// Публичные вызовы - функции-оболочки
// Получает информацию о текущем тикере
галочка, err: = e.GetTickerPrice ()
if err! = nil {
// Обработка ошибки
}
// Извлекает текущую информацию из книги заказов
ob, err: = e.GetOrderbookEx ()
if err! = nil {
// Обработка ошибки
}
// Частные вызовы - функции оболочки - убедитесь, что ваши APIKEY и APISECRET
// устанавливаем, а AuthenticatedAPISupport имеет значение true
// Получает информацию о текущем счете
accountInfo, err: = e.GetAccountInfo ()
if err! = nil {
// Обработка ошибки
}
- Если включено через индивидуальный импортный пакет, примитивный пример ниже:
// Общественные звонки
// Получает информацию о текущем тикере
тикер, err: = e.GetTicker ()
if err! = nil {
// Обработка ошибки
}
// Извлекает текущую информацию из книги заказов
ob, err: = e.GetOrderBook ()
if err! = nil {
// Обработка ошибки
}
// Частные вызовы - убедитесь, что ваши APIKEY и APISECRET установлены и
// AuthenticatedAPISupport имеет значение true
// GetUserInfo возвращает информацию об аккаунте
accountInfo, err: = e.GetUserInfo (...)
if err! = nil {
// Обработка ошибки
}
// Отправляет ордер и обмен и возвращает его tradeID
tradeID, err: = e.Trade (...)
if err! = nil {
// Обработка ошибки
}
Щелкните шеврон GoDocs выше, чтобы просмотреть текущую информацию GoDoc для этого пакета
Вклад
Не стесняйтесь отправлять любые запросы на включение или предлагать какие-либо функции для добавления.
При отправке PR соблюдайте наши правила кодирования:
Код- должен соответствовать официальным правилам форматирования Go (т. Е. Использовать gofmt). Код
- должен быть задокументирован в соответствии с официальными рекомендациями Go в отношении комментариев.