ENGLISH VERSION

Fuka: торговый крипто-бот

Бот Fuka автоматизирует торговлю криптовалютами на бирже MEXC. Он покупает и продает криптовалюты по заданным стратегиям. Для управления торговым ботом используется Telegram-бот.

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

Авторы бота не несут ответственности за возможные потери, связанные с использованием бота.

Быстрый старт

Проверить работу бота можно совершенно бесплатно: Fuka предоставляет тестовый тариф. Рекомендуется для начала настроить одну стратегию с минимальныой суммой ордера и посмотреть как бот будет работать. Начать работу с ботом можно всего в несколько шагов.

Первым делом необходимо настроить API-ключи на бирже MEXC и предоставить их боту.

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

/markets

Выбранный рынок должен быть добавлен в торговые пары API-ключа на бирже MEXC.

При выборе рынка таже полезно использовать открытую тестовую статистику.

Следующим шагом надо создать стратегию. Для создания стратегии надо придумать ее имя. Предположим, что вы хотите создать стратегию с именем "FS" (сокращенно от "first strategy") и для работы выбран рынок SUIUSDT. Для создания стратегии надо ввести команду:

/strat_new SUIUSDT FS

Готово! Создана стратегия с настройками по умолчанию. Для теста бота лучше не изменять настройки стратегии, но в дальнейшем их можно будет изменить. Осталось только активировать стратегию. Для активации стратегии введите:

/strat_edit FS active 1

Если API ключи настроены правильно и на балансе есть средства, бот начнет торговать в течении 5-10 минут. Спустя некоторое время можно будет посмотреть результаты торговли введя команду:

/stat

Остановить работу бота можно командой:

/strat_edit FS active 0

Рынок криптовалюты имеет разные фазы: роста и падения, высокой и низкой волатильности. В некоторых фазах бот торгует интенсивно, а некоторых - нет. В случае длительных падений рынка не стоит торопиться и отменять выставленные ботом ордера, а лучше подождать. Бот имеет большое количество настроек. Некоторые из них позволяют уменьшать потери на падающем рынке, другие - увеличивать прибыль на растущем. После ознакомления с основами работы с ботом рекомендуется изучить данную документацию и настроить бота в соотвествии со своими предпочтениями.

Алгоритм работы

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

Операция покупки и выставления лимитного ордера происходит в следующих случаях:

  • Если нет открытых лимитных ордеров.
  • Если с момента последней операции покупки рыночная цена криптовалюты упала на процент, указанный в настройках.

Это составляет основу работы бота. Стратегии имеют и другие настройки, влияющие на алгоритм. Они будут описаны ниже.

Настройка ключей MEXC

Для работы бота необходимо создать API-ключи на бирже MEXC и предоставить их боту. Ключи позволяют боту автоматически торговать на бирже от вашего имени.

Для создания ключей на бирже MEXC выполните следующие шаги:

  • Зайдите на сайт биржи MEXC в раздел управления ключами: https://www.mexc.com/ru-RU/user/openapi (необходимо быть авторизованным на сайте биржи).
  • Создайте новый ключ с правами "Торговля" и "Аккаунт" (необходимо проставить все чекбоксы ).
  • Сохраните SECRET_KEY и ACCESS_KEY, выданные биржей. Эти ключи необходимо предоставить боту.
  • Для созданного ключа надо настроить торговые пары, которые будут использоваться ботом. Сделать это можно позже при настройке стратегий (бот умеет работать с оганиченным числом торговых пар).

API ключи имеют срок жизни. Не забывайте обновлять ключи иначе бот перестанет работать.

Теперь, когда API-ключ готов надо сохранить его в боте. Для этого напишите боту команду:

/mexc_creds [ACCESS_KEY] [SECRET_KEY]

Стратегии

Стратегия - это набор настроек, по которым бот покупает и продает криптовалюту. Fuka позволяет запускать несколько стратегий одновременно, в том числе на одну и ту же торговую пару (это может пригодиться для параллельного теста разных настроек). При этом работа стратегий ограничивается активным тарифом (см. раздел Тарифы). Список стратегий можно посмотреть командой:

/strat

Процесс создания, активации и деактивации стратегии описан в разделе Быстрый старт. Для просмотра текущих настроек стратегии используйте команду:

/strat [STRATEGY_NAME]

Например, для просмотра информации о стратегии с именем "FS" надо написать боту команду:

/strat FS

Для редактирования настроек стратегии используйте команду:

/strat_edit [STRATEGY_NAME] [PARAMETER] [VALUE]

Например, для изменения суммы ордера (order_amount) на значение 100 для стратегии с именем "FS" надо написать боту команду:

/strat_edit FS order_amount 100

Стратегии имеют достаточно много настроек. Основные из них перечислены и описаны ниже. Остальные будут описаны в отдельных разделах, описывающих конкретные механизмы.

  • order_amount - сумма ордера. На эту сумму будет проведена покупка криптовалюты по рынку в рамках торговой операции. При этом фактическая сумма заполнения ордера обычно выходит чуть меньшей. Значение настройки рекомендуется выставлять равным 1/30 - 1/40 от суммы депозита. Чем меньше сумма ордера относительно депозита там безопаснее торги (большую просадку рынка удастся отработать).
  • profit_percent - целевой процент прибыли. Именно на такую прибыль бот ориентируется выставляя лимитный ордер на продажу. Фактическая прибыль может отличаться от целевой из-за комиссии и фактической цены заполнения ордера.
  • decrease_percent - если курс торговой пары снизиться на этот процент относително последней операции будет инициирована еще одна торговая операция.
  • max_open_orders_count - максимальное число открытых стратегией лимитных ордеров. Данный параметр по сути устанавливает лимит средсв, которые может использовать одна стратегия. Данный параметр помимо установки вручную может устанавливаться автоматически при влючении механизма автоизменения. Подробнее этот механизм описан в разделе Автоматическое изменение максимального числа открытых ордеров.

Для того чтобы полнее понять работу вышеописанных настроек рекомендуется прочитать раздел Алгоритм работы.

Задержка при покупке на падающем рынке

Если рынок падает быстро, то бот может создать много торговых операций за короткий промежуток времени из-за слишком частого выполнения условия падения на decrease_percent. Уменьшить количество выполняемых торговых операций можно при помощи настройки стратегии decrease_timeout. Этот параметр задает минимальное время в течении которого не будет создана новая торговая операция из-за выполнения условия падения на decrease_percent. Параметр задается в секундах. Если параметр равен 0, то механизм зарежки отключен.

Автоматическое изменение максимального числа открытых ордеров

Рынок может падать не только быстро, но и длительно. В случае длительного падения бот может создать много торговых операций и упереться в лимит, установленный параметром max_open_orders_count довольно быстро. Особенно обидно это будет в случае, если рынок в дальнейшем начнет расти, но новые торговые операции не будут созданы из-за ограничения по количеству открытых ордеров. Для того чтобы избежать подобной ситуации можно включить механизм автоматического изменения максимального числа открытых ордеров.

Для включения механизма надо выполнить команду:

/strat_edit [STRATEGY_NAME] max_open_orders_count_autochange 1

После включения настройки станут доступны еще 3 параметра: max_open_orders_count_top и max_open_orders_count_bottom. Они опеределяют корридор значений, в котором будет изменяться параметр max_open_orders_count, а также параметр max_open_orders_count_gap, который будет определять целевое значение доступных ордеров.

Раз в сутки механизм стремиться установить параметр max_open_orders_count в значение равное количеству открытых ордеров плюс max_open_orders_count_gap. Но при этом не выходя за пределы корридора max_open_orders_count_top и max_open_orders_count_bottom. Таким образом максимум параметра max_open_orders_count (раыный параметру max_open_orders_top) будет достигаться в течение нескольких дней, что позволит проводить торговые операции на более широком диапазоне в случае падения рынка, а не заморозить доступный депозит в начале падения.

Конечно, у данного подхода есть и обратная сторона: если в течении дня будет достигнут текущий лимит ордеров, а рынок станет волатильным чуть ниже курса последнего открытого ордера, то торги на этой волатильности будут упущены.

Увеличение суммы ордера при малом количестве открытых ордеров

Так как для более безопасного использования бота рекомендуется устанавливать сумму ордера равной 1/30 - 1/40 от суммы депозита (если используется одна стратегия, если несколько - еще меньше), то в моменты роста рынка большая часть депозита не будет использована в торговых операциях. Для того чтобы увеличить использование депозита в моменты роста рынка можно воспользоваться настройками root_order_amount_coefficient и root_operations_count. На работу они влияют следующим образом: до тех пор пока количество открытых ордеров в рамках стратегии больше или равно значению root_operations_count сумма ордера будет увеличиваться на коэффициент, который зависит от root_order_amount_coefficient. Итоговый order_amount будет равен: order_amount * (root_order_amount_coefficient / 10 + 1).

Например, если order_amount равен 100, а root_order_amount_coefficient равен 5, то итоговая сумма будет равна 100 * (5 / 10 + 1) = 100 * (0.5 + 1) = 100 * 1.5 = 150.

Статистика

Для просмотра результатов работы бота необходимо воспользоваться командой отображения статистики. В самом простом виде она выглядит так:

/stat

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

/stat [day|month|year] [YYYY-MM-DD]

Например для получения статистики за декабрь 2024 года надо указать параметр day и любую дату в декабре 2024 года в формате YYYY-MM-DD:

/stat day 2024-12-10

Если не указан третий параметр команды, то для day, month, year будет возвращена статистика за текущиий день, месяц и год соотвественно.

Бот работает в таймзоне UTC. Это актуально для всех команд, но особенно важно для статистики. При просмотре данных учитывайте, что начало и конец дня в часовом поясе бота может не совпадать с вашим часовым поясом.

Открытая тестовая статистика

Бот предоставляет открытую тестовую статистику. Она доступна по команде:

/stat_test

Поведение и параметры команды аналогичны команде обычной статистики /stat, только данные будут показаны не личные, а тестовые.

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

Тестовые стратегии имеют следующие настройки:

  • order_amount: 2
  • root_order_amount_coefficient: 0
  • root_operations_count: 0
  • profit_percent: 0.5
  • decrease_percent: 1
  • max_open_orders_count: autochange
  • max_open_orders_count_autochange: Yes
  • max_open_orders_count_top: 50
  • max_open_orders_count_bottom: 10
  • max_open_orders_count_gap: 5
  • decrease_timeout: 600

Параметры root_order_amount_coefficient и root_operations_count не настраивались, так как они не влияют на количество закрытых операций, а влияют на размер прибыли. Для тестового аккаунта важно показать именно количество торговых операций.

Поддержка

Задать вопрос и получить консультацию по использованию бота можно обратившись в службу поддержки. Чат с поддержкой доступен по команде:

/chat [MESSAGE]

Например:

/chat Добрый день, у меня есть вопрос насчет тарифов ...

Ответ от поддержки будет направлен прямо в телеграм бот.

К сожалению, на данный момент поддержка не всегда может гарантировать быструю реакцию на запросы, поэтому отправив запрос будьте готовы жать ответ. Актуальное максимальное время ожидания составляет 1 день.

Тарифы

Тарифы определяют доступные параметры запуска торгового бота. Тариф имеет время жизни, по истечении которого прекращает свое действие. Тарифом регулируется 2 параметра:

  • Максимальное число активных стратегий - количество стратегий, запущенных в работу. В случае если активированных стратегий будет больше, чем разрешает тариф, то система запустит только разрешенное количество, а оставшиеся будут проигнорированы.
  • Максимальный order_amount стратегии - максимальная сумма торговой операции для активной стратегии. Если будет настроена и активирована стратегия с суммой операции большей, чем разрешает тариф, то такая стратегия будет проигнорирована системой (не запустится).

Тариф можно получить в подарок (например, при регистрации) или купить. Ознакомиться с доступными к приобретению тарифами и посмотреть параметры активного тарифа можно воспользовавшись командой:

/tariff

Для приобретения тарифа необходимо написать в поддержку указав желаемый тариф и удобный способ оплаты (сеть в которой удобно перевести USDT или USDC). В ответ придет сообщение с указанием кошелька и финальной суммы, которую надо перевести. Если в данный момент у вас активирован тариф, то сумма покупки уменьшится на остаточную стоимость тарифа.

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