UltraFlashCash

Торговая идея робота

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

Бот разработан таким образом, чтобы не иметь превышений рейт-лимитов (максимально разрешенного количества запросов) и при этом сохранять высокую скорость исполнения стратегии.

Блок «Настройки подключения»

В поле «API KEY» вводим публичный API ключ, созданный на едином торговом аккаунте
В поле «SECRET» вводим секретный API ключ, созданный на едином торговом аккаунте
В поле «Лицензия» вводим лицензию для доступа к функционалу бота и возможности автоматической торговли

Настройка, если вы торгуете на основном счету
В этом случае, вводите только API ключи в поля «API KEY» и «SECRET». Галка «Торговля на субаккаунте» должна
быть отключена.

Настройка, если вы торгуете на субаккаунте
В этом случае, в полях «API KEY» и «SECRET» вводите ключи от основного счета. Они нужны для того, чтобы
получить доступ к субаккаунтам и проверить соответствие вашего субаккаунта к основному аккаунту.

Далее устанавливается галочка в чек-боксе «Торговать на субаккаунте», после установки галочки появится новое окошко, в которое надо ввести дополнительно в поля «API KEY» и «SECRET» API ключи, созданные на субаккаунте.

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

Разрешения в настройках API ключей можно выставить по примеру, указанному на скриншоте ниже:

Разрешение «Перевод с субаккаунта» при создании API ключей выставляется для возможности торговли на субаккаунте. 

Ключи шифруются, поэтому, бота можно запускать даже в небезопасных местах.

Установив галочку в чекбоксе «Не сохранять ключи», ключи не сохраняются в боте и каждый раз при перезапуске бота, API ключи надо вводить повторно.

Установив галочку в чекбоксе «Режим Копитрейдинг», бот автоматически будет выбирать торговые пары, которые доступны для копитрейдинга.

Галочки в чекбоксах «USDT-FUT»,«USDC-FUT» и «SPOT» дают возможность выбора торгуемой секции

Кнопка «Подключиться к бирже» — предназначена для проверки лицензии, API ключей и подключения к бирже. После
успешного подключения, становятся доступными все другие блоки.

Блок «Управление ботом»

Этот блок предназначен для управления торговым процессом.

Кнопка «Старт» предназначена для запуска бота в торговлю.
Кнопка «Стоп» — для остановки торговли.
Кнопка «Закрыть все позиции» — для закрытия всех открытых сделок.

Установив галочку в чекбоксе «Автозапуск бота», при перезапуске бота, бот будет автоматически подключаться к бирже и самостоятельно производить запуск торговли по предустановленным настройкам.

 

Чтобы автоматизировать запуск бота при незапланированной перезагрузки сервера делаем несколько простых шагов:

Открываем разархивированную папку с ботом, нажимаем правой мышкой на исполняемый файл бота FlashCash.exe, в выпадающем окне переходим на пункт отправить и нажимаем Рабочий стол ( Создать ярлык)
Дальше нажимаем комбинацию клавиш Win+R и вводим в окно Выполнить shell:startup


После чего нажимаете OK, сразу откроется папка с ярлыками программ для автозапуска. Копируете туда ранее созданный ярлык с рабочего стола.
В итоге мы получаем такой сценарий: Сервер перезагружается, с автозагрузки бот запускается, а так как установлена галочка в чекбоксе «Автозапуск бота», бот подключается к бирже и запускает торговлю по предустановленным настройкам.

Для того, чтобы обновлять раз в сутки данные по параметру фильтрации «Минимальный оборот ( тыс. USDT)», а также вводить в торговлю недавно добавленные торговые пары на выбранную секцию и получать данные об изменениях торговых плечей, необходимо настроить через планировщик задач автоматическую перезагрузку бота.

Для этого нажимаем комбинацию клавиш Win+R и вводим в окно Выполнить taskschd.msc

В появившемся окне Планировщик заданий выбираем действие Создать простую задачу 

Вводим произвольное название задачи, нажимаем Далее

Выбираем Триггер для запуска задачи, выбираем как часто запускать задачу — Ежедневно, нажимаем Далее

Задаем время в которое будет выполняться запуск задачи, нажимаем Далее

Устанавливаем действие — Запустить программу, нажимаем Далее

В новом появившемся окне нажимаем кнопку Обзор и указываем путь к исполняемому файлу, нажимаем кнопку Открыть

В поле Программа или сценарий должен появиться путь к исполняемому файлу бота, нажимаем Далее

Задача создана, нажимаем Готово


В планировщике задач, в папке Библиотека планировщика заданий видим в списке новую задачу, которая будет запускать бот в заданное время

Теперь создаем простую задачу для выключения бота, нажимаем Далее

Выбираем Триггер для запуска задачи, выбираем как часто запускать задачу — Ежедневно, нажимаем Далее

Задаем время на 10 секунд раньше, чем в задаче на запуск бота, нажимаем Далее

Устанавливаем действие — Запустить программу, нажимаем Далее

В новом появившемся окне нажимаем в поле Программа или сценарий указываем команду taskkill

В поле Добавить аргументы указываем /im FlashCash.exe /F нажимаем Далее 

Задача создана, нажимаем Готово


В библиотеке планировщика заданий появится две задачи, первая в 17:59:50 будет выключать бота, вторая задача в 18:00:00 будет включать бота.

Блок «Логирование»

Это информационный блок, который выводит общую информацию, что делает робот в текущий момент с
объяснениями и деталями.

Блок «Открытые ордера»

В этом блоке выводится информация по всем открытым ботом ордерам, по какому контракту,
тип операции (покупка или продажа), вид ордера (стоп или лимит), цена, объём

Блок «Открытые позиции»

В этом блоке выводится информация по всем открытым ботом позициям, по какому контракту,
цену, объём, PnL% и цену ликвидации

Блок «Настройка торговой стратегии»

Этот блок предназначен непосредственно для настройки торговой стратегии.

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

«Лонг» — установка галочки в этом поле дает разрешение открывать покупки
«Шорт» — установка галочки в этом поле дает разрешение открывать продажи

«Индикатор» — в этом поле, из выпадающего списка, мы выбираем индикатор, по которому будет работать стратегия торговли.

На данный момент в боте используются такие индикаторы:

RSI


открытие лонг — пересечение RSI снизу вверх уровня 30
открытие шорт — пересечение RSI сверху вниз уровня 70

Относительно настроек установленных на скриншоте, в боте вводить
Период — 14
Парам 1 — 30
Парам 2 — 70

RSI Trend

открытие лонг — пересечение RSI снизу вверх уровня 70
открытие шорт — пересечение RSI сверху вниз уровня 30

Относительно настроек установленных на скриншоте, в боте вводить
Период — 14
Парам 1 — 30
Парам 2 — 70

MACD

открытие лонг — пересечение гистограммы MACD снизу вверх уровня 0
открытие шорт — пересечение гистограммы MACD сверху вниз уровня 0

Относительно настроек установленных на скриншоте, в боте вводить
Период — 12
Парам 1 — 26
Парам 2 — 9

SMA


открытие лонг — пересечение SMA с меньшим периодом снизу вверх SMA с большим периодом
открытие шорт — пересечение SMA с меньшим периодом сверху вниз SMA с большим периодом

Относительно настроек установленных на скриншоте, в боте вводить
Период — 50
Парам 1 — 200

Super Trend


открытие лонг — пересечение Super Trend сверху вниз цены закрытия бара
открытие шорт — пересечение Super Trend снизу вверх цены закрытия бара

Относительно настроек установленных на скриншоте, в боте вводить
Период — 10
Парам 1 — 3

ParabolicSAR


открытие лонг — пересечение ParabolicSAR сверху вниз цены закрытия бара
открытие шорт — пересечение ParabolicSAR снизу вверх цены закрытия бара

Относительно настроек установленных на скриншоте, в боте вводить
Парам 1 — 0.02 (Размер шага для коэффициента ускорения)
Парам 2 — 0.2 (Максимальный предел коэффициента)
Парам 3 — 0.02 (Начальный коэффициент ускорения)

MAPM


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

Относительно настроек установленных на скриншоте, в боте вводить
Период — 11 (настройка для краткой EMA по которой будет строиться индикатор MACD)
Парам 1 — 45 (настройка для длинной EMA по которой будет строиться индикатор MACD)
Парам 2 — 60 (настройка для краткой EMA, которая будет строиться по индикатору MACD, красная на картинке)
Парам 3 — 520 (настройка для длинной EMA, которая будет строиться по индикатору MACD, синяя на картинке)

MARKET

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

«Таймфрейм» — в этом поле из выпадающего списка выбираем таймфрейм, на котором будет построен индикатор.

«Период» — в это поле мы устанавливаем период для построения индикатора стратегии, по которому бот будет торговать

«Парам 1» — в этом поле указываем дополнительные параметры для индикатора (если требуется)
«Парам 2» — в этом поле указываем дополнительные параметры для индикатора (если требуется)
«Парам 3» — в этом поле указываем дополнительные параметры для индикатора (если требуется)

«Выход по сигналу» — если установить галочку в этом поле, бот будет выходить из позиции по
обратному сигналу от сигнала на вход

«Количество докупок» — в этом поле указываем количество этих дополнительных ордеров. Докупочные ордера выставляются сразу всей сеткой, если не установлена галочка в поле «Один докупочный ордер». Если установить «0», то дополнительных ордеров не будет

«Шаг» — в этом поле устанавливается расстояние между ордерами в %

«Множитель» — в этом поле указываем множитель для шага. Если мы хотим, чтобы
расстояние между докупками увеличивалось, то множитель делаем больше 1. Т.е., если мы
установим 1,5, при шаге 1%, то между первым и вторым ордером на докупку расстояние будет
уже 1,5% (1,5 х 1%), а между второй и третьей 2,25% (1,5 х 1,5 х 1%). Если надо, чтобы шаг был
неизменным, оставьте в этом поле 1. Значение этого поля не может быть ниже 1.

«Мартингейл» — в этом поле указываем коэффициент мартингейла для докупок. Если, например,
установим значение 1.2, то объем каждой последующей докупки будет на 20% больше чем
предыдущая. Если хотим, чтобы объем дополнительных сделок не менялся, тогда оставляем
значение 1. Значение этого поля не может быть ниже 1.

«Тейк профит» — в этом поле устанавливается размер тейк профита в процентах от средней цены входа. Если не хотим
устанавливать тейк-профит в стратегии, ставим «0» в данном поле

«Стоп лосс» — в этом поле устанавливается размер стоп лосс от средней цены входа. Если не хотим устанавливать стоп-лосс в
стратегии, ставим «0» в данном поле

«Трейлинг профит» — в этом поле устанавливается размер трейлинг профита от параметра Активации трейла. Если не хотим
устанавливать трейлинг в стратегии, ставим «0» в данном поле. Трейлинг профит начинает
подтягиваться, когда прибыль находится в плюсе равно или более указанному % в поле Активация трейла. И далее, по
факту движения в сторону увеличения прибыли, бот подтягивает стоп на заданный % от значения поля Трейлинг профит.

«Активация трейла» — в этом поле устанавливается % от цены входа в сторону открытия сделки, как только цена пройдет указанное значение, от этой цены будет выставлен стоп ордер на расстояние указанное в поле Трейлинг профит, который по мере движения цены будет подтягиваться.
Пример:
Цена входа 100, Трейл профит 5%, Активация трейла 10%
100 + 10% = 110 — при такой цене начнет работать трейл профит
110-5% = 104,5 — по такой цене будет выставлен первый стоп ордер
Цена пошла на 120
120-5% = 114 — на такую цену будет передвинут стоп ордер, и так далее.

«Объем» — в этом поле устанавливаем объем позиции в % от депозита в котируемой валюте, выделяемый на каждую торговую пару.
Важно! Бот сам проверяет сделку на размер минимального ордера (согласно требований биржи) и
увеличивает до минимума, требуемого от биржи.

Установка галочки в поле «Объем в валюте котирования» позволяет устанавливать в поле «Объем» фактическое значение. Если пара BTCUSDT — значение устанавливается в USDT.

Установка галочки в поле «Общий стоп-лосс» дает доступ к установке стоп-лосс на процент нефиксированного
убытка по суммарному отношению к депозиту. (Депозит 100 USDT, Общий стоп-лосс стоит 25%, как только по
всем парам будет просадка на 25 USDT, бот принудительно закроет все сделки)

В поле «Задержка между свечами, мс» вводим частоту запросов по данным торговых пар, чем больше
торговых пар исключены из торговли, тем меньше можно устанавливать значение, для более быстрой работы.
Параметр подбирается самостоятельно, для определения превышения рейтлимитов.

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

В поле «Исключить пары из торгов» указываем какие пары бот будет пропускать для торговли, указываем по
порядку, через запятую. (BTCUSDT, ETHUSDT, и т.д.)

В поле «Закрыть позиции через, мин» указываем время жизни сделки в минутах. Если установить 60, то с
момента открытия сделки, если она не закрыта, бот закроет её через 60 минут. Если такую опцию не планируете использовать, поставьте в поле значение
«0».

В поле «Максимально позиций» указываем максимальное количество одновременно открытых позиций.

В поле «Не открывать при марже ниже, %» указываем ограничение на открытие сделок, если уровень маржи
опустился до указанного значения.

Установка галочки в поле «Минимальное движение в %» дает разрешение к выставлению фильтрации входа к
основному условию на вход.

Тут два параметра:
«Минимальное движение в %» — сколько в процентах должна пройти цена
«За баров» — сколько баров суммируется для расчета % изменения цены
Если установить значение 2.5% в поле «Минимальное движение в %» — то помимо сигнала по индикатору
цена должна пройти 2.5% за установленное количество баров в поле «За баров», если поставить 5 баров, то за
5 баров цена должна пройти 2.5% и в этот момент должен быть сигнал по индикатору, тогда будет вход.

Если установить галку в поле «Мартингейл позиций», тогда при условии, что предыдущая сделка закрыта в
минус, новая будет открыта размером коэф. мартингейла (указанным в этом поле) умноженный на объем
предыдущей сделки в данной паре. Если сделка закрыта в плюс – бот начинает торговать рабочим объемом.

В поле «Пауза между сделками, мин» указываем паузу между сделками, чтобы не открывать в одно время
серию скоррелированных сделок. Если такую опцию не планируете использовать, поставьте в поле значение
«0».

Если установить галочку в поле «Один докупочный ордер», то докупочные ордера будут выставляться последовательно.

Если установить галочку в поле «Белый список» и в поле добавить пары, то бот будет торговать только
добавленный список торговых пар. Приоритет у поля «Исключить пары из торгов» — если в данных полях есть
две одинаковые торговые пары, бот не будет торговать их.

Если установить галочку «Минимальный оборот ( тыс. USDT)» то станет доступным опция фильтрации
торговых пар по минимальному суточному объему торгов, данные получает бот во время старта торговли.

Если установить галочку «Односторонний режим (условный)» то бот будет открывать только одну сделку в
паре. Т.е., например, если у нас открыта сделка в одну строну, то в противоположную сторону бот не откроет
сделку пока текущая не будет закрыта. Таким образом, мы получаем что-то похожее на односторонний
режим торговли.

В поле «Максимальный мартин» устанавливаем ограничение по количеству убыточных сделок, при которых будет работать Мартингейл позиции

В поле «Выход из мартина позиции» указываем какие торговые пары бот доведет до закрытия по прибыли, после чего эти пары будут удалены из Белого списка, для работы этого параметра Белый список обязателен.

В поле «Токен Telegram» вводим токен, который получаете при создании собственного телеграм бота. 
Для начала переходите в телеграм бота, который называется BotFather 

Нажимаете старт и в меню снизу выбираете  /newbot  для создания  нового  бота.

Появится информация, о том что вы создаете нового бота и вам надо дать этому боту название

*Ура, новый бот. Как мы будем его называть? Пожалуйста, выберите имя для своего бота.

Вводим свое придуманное название для бота. Для примера я ввел название dlyainstrukcii

*Хорошо. Теперь давайте выберем имя пользователя для вашего бота. Оно должно заканчиваться на «bot». Вот так, например: TetrisBot или tetris_bot.

Теперь даем имя пользователя для нашего бота. Для примера я ввел название dlyainstrukcii_bot

В итоге получили ссылку на самого бота — https://t.me/dlyainstrukcii_bot и токен этого бота, который надо будет скопировать и вставить в поле «Токен Telegram» в боте «Ultra FlashCash» для биржи Bybit.
После того как вставили токен, нажимаете последовательно старт и стоп в боте, чтобы изменения сохранились и перезапускаете бота.
Далее переходим по ссылке https://t.me/dlyainstrukcii_bot и снизу нажимаем кнопку запустить

После того, как бот «Ultra FlashCash» для биржи Bybit будет подключен к бирже мы сможем запускать бота в торговлю и останавливать. Получать данные по открытым позициям, когда бот торгует, по ордерам и информацию по базовым депозитам. Включать и отключать оповещения.

Кнопка «Установить максимальные плечи и режим» – для выставления максимальных плеч по всем торговым
парам секции и перевод торговых пар в режим хеджирования.