FairBot Classic - бот для торговли криптовалютами
Интеграция - Мессенджеры и боты
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Поддерживаемые биржи: 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.
UPD: 31.07.2026
Выпущено большое обновление FairBot Classic.
Обработка практически полностью переработана с учётом изменений API криптовалютных бирж. Устаревшие и неработающие подключения удалены. Добавлены полноценный виртуальный режим и обновлённый расчёт торговых индикаторов.
Поддерживаемые биржи
В новой версии оставлены четыре актуальные спотовые биржи:
- Binance;
- KuCoin;
- OKX API v5;
- Bybit API v5.
Устаревшие профили Bittrex, Poloniex, EXMO, Bitfinex, BitMEX, Huobi, Yobit удалены.
FairBot Classic поддерживает два режима.
Виртуальная торговля
Полноценный режим торговли без отправки заявок на биржу:
- виртуальные балансы;
- лимитные заявки BUY и SELL;
- резервирование средств при создании заявки;
- освобождение резерва при отмене;
- исполнение заявки по рыночной котировке;
- учёт комиссии биржи;
- история виртуальных сделок;
Реальная торговля
Реальные ордера отправляются непосредственно на выбранную биржу через её приватный API.
Исправлен расчёт индикаторов
Расчёт технических индикаторов переписан.
MACD
Устранена ошибка, при которой ранее рассчитанные значения MACD могли изменяться при каждом обновлении формы.
ADX
исправлен расчёт True Range.
Исправлена загрузка свечей
Добавлена обязательная сортировка свечей по времени перед расчётом.
Балансы и комиссии
Добавлено раздельное хранение виртуальных и реальных балансов.
Для баланса учитываются:
- доступная сумма;
- зарезервированная сумма;
- общий остаток;
- режим торговли;
В ордерах и истории сохраняются:
- базовая валюта;
- валюта котировки;
- сумма комиссии;
- режим торговли.
Если комиссия не задана в настройках биржи, в виртуальном режиме используется значение 0,1%. Исполненную виртуальную сделку удалить нельзя, поскольку это нарушит остатки виртуального счёта.
Рекомендуемый порядок первого запуска
- Открыть обработку.
- Заполнить профили бирж.
- Выбрать одну биржу и одну торговую пару.
- Настроить период свечи и формулу стратегии.
- Указать начальный виртуальный баланс.
- Оставить режим «Виртуальный».
- Запустить бота и проверить полный цикл BUY - SELL.
- Только после проверки добавлять приватные API-ключи.
- Реальную торговлю начинать с минимально допустимой суммы.
Внимание! Скачивая обработку, вы соглашаетесь:
Все возможные риски использования бота берете на себя.
Ни один из ботов не способен учесть фундаментальные факторы и манипуляции, оказывающие влияние на цену.
Обработка тестировалась на платформе 8.3.27.2130.
Проверено на следующих конфигурациях и релизах:
- 1С:Комплексная автоматизация 2, релизы 2.5.26.118
Вступайте в нашу телеграмм-группу Инфостарт
криптовалюта биржа биткоин kucoin binance bybit okex криптобиржа
См. также
SALE! 50%
Мессенджеры и боты SMS рассылки Email рассылки Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)
Расширение 1С с полным набором инструментов для качественных транзакционных, триггерных и маркетинговых рассылок Email, SMS, MAX, WhatsApp, Telegram. Даже простые уведомления об оплате счетов способны существенно упростить сбор дебиторской задолженности. Применение всех возможностей прямого маркетинга выводит коммуникацию с клиентами, уровень сервиса и лояльность на новый уровень.
6100
3050 руб.
07.04.2014 99875 93 205
Мессенджеры и боты 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)
Интеграция мессенджеров Max, WhatsApp и 1С: УНФ, УТ, КА, ERP - отправка и получение сообщений, картинок, файлов и видео прямо в 1С. Расширение работает с сервисом GreenApi. Важно: Интеграция с Telegram пока только для конфигурации 1С:УНФ.
30500 руб.
23.06.2023 18900 62 27
Мессенджеры и боты 1С:Предприятие 8 1С 8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Управленческий учет Платные (руб)
Расширение WhatsApp/MAX/Telegram-клиент для 1С работает через сервис Green-Api.com (WhatsApp/MAX/Telegram) и BotFather (Telegram). Это отправка/получение сообщений, изображений, смайлов, файлов из 1С.
15000 руб.
09.02.2024 14074 27 74
Мессенджеры и боты 1С 8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Россия Платные (руб)
Готовый чат-бот MAX для 1С виде расширения. Клиенты проверяют остатки и заказы прямо в мессенджере. Ролевая модель, гибкое меню, отправка файлов, диалоги. Подключайте свою логику через внешние обработки.
14640 руб.
26.03.2026 3943 5 0
Мессенджеры и боты SMS рассылки Email рассылки 1С:Предприятие 8 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)
Общение с клиентами несколькими операторами 1С с одного или нескольких аккаунтов Max, Telegram и WhatsApp в вашей базе 1С. Рассылки, чат-боты, сценарии. Работает как самостоятельное решение, так и в составе других конфигураций 1С 8.3 - 8.5.
5900 руб.
08.04.2020 59711 123 2
Мессенджеры и боты 1С 8.3 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 Платные (руб)
Обработка для быстрого подключения мессенджера MAX к любой конфигурации 1С.
10000 руб.
02.02.2026 8852 40 2
Мессенджеры и боты SMS рассылки 1С:Предприятие 8 1С:Управление нашей фирмой 3.0 Россия Платные (руб)
Решение реализовано в виде расширения. Заменяет отправку смс на отправку в WhatsApp через Green-api. Отправка чека картинкой.
7930 руб.
15.05.2024 5123 5 11
Мессенджеры и боты Учет документов 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)
Расширение для согласования справочников и документов в основных типовых конфигурациях. Ролевая адресация, условная маршрутизация, чат-бот telegram/max, интеграция с n8n, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Сертификат 1С-Совместимо.
14900 руб.
15.11.2018 43877 58 62
В начале модуля формы добавил:
&НаКлиенте
Перем мРазницаВремени;
В процедуре ПриОткрытии в конце:
Если мРазницаВремени = Неопределено Тогда
unixtime = Формат((УниверсальноеВремя(ТекущаяДата()) - дата(1970,1,1,1,0,0))*1000, "ЧГ=0");
мРазницаВремени = ТекущаяУниверсальнаяДатаВМиллисекундах()-Число(unixtime);
Иначе
unixtime = Формат(ТекущаяУниверсальнаяДатаВМиллисекундах() - мРазницаВремени, "ЧГ=0");
КонецЕсли;
А в функции ЗапросНаБиржу
строку
unixtime = Формат((УниверсальноеВремя(ТекущаяДата()) - дата(1970,1,1,1,0,0))*1000, "ЧГ=0");
заменил на
unixtime = Формат(ТекущаяУниверсальнаяДатаВМиллисекундах() - мРазницаВремени, "ЧГ=0");
теперь не совпадает
Вот теперь список nonce:
1591759734753
1591759735761
1591759736788
1591759982804
1591760049062
1591760049634
1591760097203
жирным выделено совпадение в пределах секунды
В начале модуля формы добавил:
&НаКлиенте
Перем мРазницаВремени;
В процедуре ПриОткрытии в конце:
Если мРазницаВремени = Неопределено Тогда
unixtime = Формат((УниверсальноеВремя(ТекущаяДата()) - дата(1970,1,1,1,0,0))*1000, "ЧГ=0");
мРазницаВремени = ТекущаяУниверсальнаяДатаВМиллисекундах()-Число(unixtime);
Иначе
unixtime = Формат(ТекущаяУниверсальнаяДатаВМиллисекундах() - мРазницаВремени, "ЧГ=0");
КонецЕсли;
А в функции ЗапросНаБиржу
строку
unixtime = Формат((УниверсальноеВремя(ТекущаяДата()) - дата(1970,1,1,1,0,0))*1000, "ЧГ=0");
заменил на
unixtime = Формат(ТекущаяУниверсальнаяДатаВМиллисекундах() - мРазницаВремени, "ЧГ=0");
теперь не совпадает
Вот теперь список nonce:
1591759734753
1591759735761
1591759736788
1591759982804
1591760049062
1591760049634
1591760097203
жирным выделено совпадение в пределах секунды
Но причина проблемы с nonce немного другая: несколько одновременных запросов обрабатываются либо с разным приоритетом, либо тупо прилетают на сервер в разное время и не факт, что запрос с меньшим nonce обработался раньше.
Я просто пока игнорирую такие ситуации, хотя и получаю об этом сообщения.
unixtime + ТекущаяУниверсальнаяДатаВМиллисекундах()%1000Я тоже использую счётчик. Видимо буду ещё пилить очередь запросов, чтобы они более надёжно обрабатывались По очереди.
Либо по разным API Key разносить события.
Вариант с разнесением запросов по разным API-ключам - это самый простой выход, но что-то лично мне уже не охота допиливать бота :)
п.с. Пожалуйста, можете добавить биржу tradeogre.com ?? У них есть api.
Метод недоступен для невидимого элемента.
{ВнешняяОбработка.FairBot.Форма.Форма.Форма(8605)}: ЭтаФорма.Элементы.orders_ask.Обновить();
по причине:
Метод недоступен для невидимого элемента.
Ошибка при вызове конструктора (COMОбъект)
{ВнешняяОбработка.FairBot.Форма.Форма.Форма(1425)}:Текст = Новый COMОбъект("System.Text.UTF8Encoding");
{ВнешняяОбработка.FairBot.Форма.Форма.Форма(4821)}:signature=hash_hmac_sha256(uri1,apisecret,истина);
{ВнешняяОбработка.FairBot.Форма.Форма.Форма(1839)}:Ответ = ЗапросНаБиржу(НастройкаСервера.url_server, "/v1/account/accounts", Неопределено, НастройкаСервера.apikey, НастройкаСервера.apisecret, НастройкаСервера.method,"GET",НастройкаСервера.passphrase);
по причине:
Unknown error 0x80131700
Подскажите, при запуске обработки валятся ошибки, как их исправить:
1) При выборе биржи, в верхнем правом окне выходит error;
2) При выборе любой другой биржи выходит ошибка, как на скрине, и база зависает, пока не снять в диспетчере;
3) При повторном открытии выходят другие ошибки (см. скрин), и больше не открывается обработка.
Платформа 8.3.25. Пробовал на пустой базе, на БП 3.0, УТ 11.5 - результат один.
Рейтинг: 124
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 886245
Создание 15.08.18 08:17
Обновление 09.10.26 12:19
Просмотры 22464
Загрузки 131
Рейтинг
29
Комментарии 96
Код открыт Да
Рубрики Мессенджеры и боты
Кому Для всех
Тип файла Внешняя обработка (ert,epf)
Платформа 1С 8.3
Конфигурация Универсальные
Операционная система Не имеет значения
Страна Не имеет значения
Отрасль Финансовые услуги, инвестиции
Налоги Не имеет значения
Вид учета Управленческий учет
Доступ к файлу Абонемент ($m)