Поддерживаемые биржи: Poloniex, Bittrex, Kucoin, Binance, Bitfinex, BitMEX, EXMO, Huobi, HitBTC, Okex, BitForex, Yobit, p2pb2b, CEX.IO, Tradeogre.
Публикация сделана на основе и с разрешения автора обработки: Торговля на биржах криптовалют
Основное окно обработки содержит:
Кнопка "Обновить список пар" - ручное обновление данных о баланcе, открытых ордеров, истории ордеров, списка торговых пар по активной бирже.
Кнопка "Нарисовать график" - запуск процедуры анализ движения цены и построение графиков по активным ордерам. Анализ цены происходит в разрезе настроек каждой пары.
Кнопка "Запустить бот" - то же что и кнопка нарисовать график, но при это запускается автоматическая торговля по данным построенного графика.
На закладке "Торговый центр" выведены кнопки для ручной торговли.
Кнопка "Обновить ордера" - ручное обновление данных о открытых ордерах и истории сделок по активной паре.
Свернутая группа "Charts" содержит данные о истории торгов, стакан заявок и графики по активной паре.
Закладка "Открытые ордера" - список открытых ордеров пользователя.
Закладка "История сделок" - список сделок пользователя по активной паре.
Закладка "Актуальный расчет" - список сделок по активной паре пользователя, закладка необходима для автоматической торговли бота.
Закладка "Оповещение" - список уведомлений при автоматической торговле ботом.
Закладка "Настройки" содержит:
"Период автоматического обновления котировок" - автоматическое обновление котировок по активной паре (По умолчанию 2 мин).
"Период автоматического обновления ордеров" - автоматическое обновление стакана ордеров и историю торговли с биржи (По умолчанию 2 мин).
Если в настройках активной пары выбран период "Свеча (минут)", который не предоставляет биржа (Основные периоды предоставляемые биржами 1 мин, 5 мин, 15 мин, 30 мин, 1 час) , то график будет строиться по цене закрытия интервала значения "Cвеча (минут)".
Закладка "Настройки API" содержит:
API предоставляемое биржой. Для обновления настроек нажать кнопку "Заполнить API".
Вручную нужно заполнить apikey, sekretkey и passphrase (Если требует биржа)
В колонке "Upd" выбирается активная биржа и пара для торговли.
В колонке "Strategy" настраивается стратегия автоматической торговли по каждой валютной пары. Общая стратегия проставляемая по умолчанию.
На закладке "charts" содержит данные по каждой активной паре для построения графика и автоматической торговли:
Цена открытия, закрытия максимальная цена и минимальная, в зависимости от настроек "Свеча (минут)". Так же фиксируется расчет для построения графиков MACD, Stoсhastic, Bolinger bands, ADX.
Как вообще это работает?
Бот трендовый, для анализа движения цены строит график MACD. Для выявления тренда боту необходимо построить график минимум по 20-30 свечам.
В итоге выявляет два выгодные моменты для торговли:
Когда график падал, но начал расти.
Когда график начал расти и продолжает расти, пока не наметилась тенденция к падению.
Для начала торговли отправной точкой является средняя цена "Среднее цены (SMA)".
В случае исполнения ордера на покупку (в течении "Время жизни ордера" если ордер за это время не исполнился, то он отменяется), выставляется новый ордер на продажу с количеством полученное при покупке (Минус комиссия биржи) и ценой с учетом желаемого профита ("Профит"). После его исполнения все начинается заново с выявления тренда.
Если цена не дошла до выставленного ордера на продажу и откатилась вниз, бот ждет разворота тренда и выставляет новый ордер.
Тут есть два варианта:
1. Если "Цена покупки" выбрана "min close price", то новый ордер выставляется гораздо ниже, чем предыдущий сработавший ордер. Он берет последнюю цену покупки отнимает от нее процент ("Первый отступ шага") накручивает на него процент "Увеличение отступа шага" и получившееся значение значение является ценой нового ордера на покупку. При этом "Объем депо", следующего вниз ордера больше на процент "Мартингейл".
2. Если "Цена покупки" выбрана "ema last price", то цену последней покупки не анализируется, а цена ордера будут выставляться по текущей средней цене с учетом процента "Первый отступ шага" и "Увеличение отступа шага", увеличив депо на процент "Мартингейл".
В случае исполнения следующего ордера на покупку, бот обновляет ордер на продажу (количество группируемых ордеров регулируется значением "Группировка ордеров") с учетом всего объема закупленных средств и формирует средневзвешенную цену закупленных средств увеличивая ее на процент профита.
И так далее пока не закроет ордер на продажу.
Количество ордеров для усреднения цены по каждой паре ограничено значением "Количество ордеров".
UPD: 15.08.2018
Изменения:
Добавлена поддержка биржи Binance.
Добавлена стратегия усреднения цены продажи (Рекомендуется удостовериться, что баланс позволяет докупать валюту при падении).
Произвольный алгоритм вычисления лучшей точки входа в покупку без остановки работы бота. (Если мой алгоритм покупки вас не устраивает, можете без остановки бота создать свой)
Добавлен индикатор ADX (Сила тренда), Bolinger Bands (Полосы Боллинджера).
UPD: 06.11.2018
Изменения:
Добавлена поддержка биржи Kucoin.
Исправлены выявленные ошибки.
Переработан торговый алгоритм бота.
UPD: 27.11.2018
Изменения:
Добавлена поддержка биржи BitMEX (ограничение только лимитные ордера).
Добавлена поддержка биржи Cobinhood (биржа с комиссией 0%).
Исправлены выявленные ошибки.
UPD: 19.12.2018
Изменения:
Добавлена поддержка биржи EXMO.
Исправлены выявленные ошибки.
UPD: 06.02.2019
Изменения:
Реализована возможность настройки стратегии бота в разрезе каждой пары.
Исправлены выявленные ошибки.
UPD: 29.04.2019
Изменения:
Обновлен API Kucoin.
Обновлен API Bittrex.
Доработан торговый алгоритм бота. Реализована стратегия торговли по различной цене:
1. Вариант выставление ордеров от последней минимальной цены выполненного ордера. Каждый последующий ордер ниже предыдущего с учетом отступа.
2. Без учета последней цены, ордера будут выставляться по текущей средней цены с учетом отступа.
Добавлены возможность выставлять несколько открытых ордеров.
По биржам Bittrex, Binance, Kucoin, EXMO, Bitfinex добавлена проверка на минимальное количество покупки по ордеру.
Добавлена проверка достаточного количества средства на балансе для выставления ордера на покупку.
Для бирж EXMO, Binance реализована проверка на частичное закрытие ордера.
Исправлены выявленные ошибки по биржам Poloniex, EXMO.
UPD: 11.06.2019
Изменения:
Добавлена поддержка биржи Huobi.
Расширены настройки в разрезе каждой пары:
Cвеча (минут) - интервал по которому производится расчет. Для расчета берется цена закрытия каждого интервала. Значение по умолчанию 15 минут.
Количество сделок - количество выводимых на графике свечей. Значение по умолчанию 30.
Среднее цены (SMA) - количество интервалов для расчета средней цены. Используется для определения "Цены покупки". Значение по умолчанию 10.
Добавлен раздел "Оповещение" - для уведомления о событиях:
-Количество открытых ордеров
-Количество выполненных ордеров
-Количество купленных монет
-Последние событие о покупке/продаже
-Ошибки выполнения.
Исправлены выявленные ошибки
UPD: 02.09.2019
Изменения:
Добавлена поддержка биржи HitBTC.
UPD: 12.09.2019
Изменения:
Добавлена поддержка биржи Okex.
Обновлен API Binance.
Обновлена формула расчета входа в сделку.
Исправлены выявленные ошибки.
UPD: 27.09.2019
Изменения:
Добавлена поддержка биржи BitForex.
Исправлены выявленные ошибки.
UPD: 10.01.2020
Изменения:
Обновлен API Yobit.
Расширены настройки в разрезе каждой пары:
Задержка после исполнения ордера (минут) - позволяет задать принудительную паузу после исполнения ордера на покупку. В некоторых случаях позволяет снизить вероятность покупки при резком падении цены и дождаться лучшей точки входа. Рекомендуется устанавливать значение равное "Cвеча (минут)". Значение по умолчанию 15 минут.
Группировка ордеров - вместо одного общего ордера на продажу, настройка позволяет задавать сколько исполненных ордеров на покупку будет использовано для создания общего ордера на продажу с количеством полученным при покупке и средневзвешенной ценой. Например задав значение 1 - на основании каждого выполненного ордера на покупку будет создаваться один ордер на продажу, при значение 2 из суммы двух исполненных ордеров на покупку будет создан один общий ордер на продажу, при значение 3 из суммы трех ордеров будет создан ордер на продажу и тд. Группировка ордеров по умолчанию задана в порядке возрастания цены от меньшего к большему. Значение по умолчанию 2.
Для фиксации группировки ордеров на против каждого исполненного ордера на покупку выставляется tid соответствующего ему ордера на продажу.
По биржам Okex, Binance изменено формирование истории сделок.
По биржам Bitmex, Binance изменено определение статуса ордера.
Изменено определение разрядности цены и количества при покупке/продаже через API биржи. (если биржа такую информацию предоставляет)
Исправлены выявленные ошибки.
UPD: 18.05.2020
Изменения:
Добавлена поддержка биржи p2pb2b.
API EXMO переведен на версию v.1.1.
Изменены настройки пар через API по Kucoin.
UPD: 24.07.2020
Изменения:
Добавлена поддержка биржи CEX.IO.
Для работы с биржой требуется указать userid в поле "passphrase"
Расширены настройки в разрезе каждой пары:
Добавлена группировка ордеров по значению цены min\max price (то есть выставляется ордер на продажу по значению "Группировка ордеров" с учетом самой меньшей цены и самой максимальной цены из списка всех выполненных ордеров ), по умолчанию группировка задана min price (то есть ордера на продажу будет сформированы из самой минимальной цены списка выполненных ордеров с учетом "Группировка ордеров") в порядке возрастания цены от меньшего к большему.
UPD: 25.08.2020
Изменения:
Добавлена поддержка биржи Tradeogre.
UPD: 21.10.2020
Изменения:
Добавлена поддержка биржи Probit.
Внимание! Скачивая обработку, вы соглашаетесь:
Все возможные риски использования бота берете на себя.
Ни один из ботов не способен учесть фундаментальные факторы и манипуляции, оказывающие влияние на цену.
Обработка тестировалась на платформе 8.3.16.1148.
Проверено на следующих конфигурациях и релизах:
- 1С:Комплексная автоматизация 2, релизы 2.5.13.109