Последнее обновление: 8 ноября 2024 г.
Отказ от ответственности. В соответствии с требованиями MiCA для пользователей из ЕЭЗ (Европейской экономической зоны) будут действовать определенные ограничения при работе с несанкционированными стейблкоинами. Дополнительная информация доступна здесь.
Сеточная торговля — это бот для автоматизации торговли фьючерсными контрактами. Она предназначена для размещения ордеров через заданные интервалы в заданном ценовом диапазоне.
Во время использования данной стратегии ордера размещаются выше и ниже установленной цены, создавая сетку ордеров с постепенным увеличением и уменьшением цен. В результате создается торговая сетка. Например, трейдер может разместить ордера на покупку BTC через каждые 1 000 USDT ниже рыночной цены, а ордера на продажу через каждые 1 000 USDT выше рыночной цены. Это позволяет извлекать выгоду от торговли при различных условиях.
Сеточная торговля идеальна для использования на волатильных и «боковых» рынках, когда цены колеблются в заданном диапазоне. Данная стратегия позволяет получать прибыль при небольших изменениях цен. Чем больше элементов в сетке, тем чаще совершаются сделки. Однако это ведет к повышенным издержкам, поскольку прибыль по каждому из ордеров становится ниже.
Таким образом, необходимо найти компромисс между получением небольшой прибыли от совершения множества сделок и стратегией с меньшим количеством ордеров, но генерирующей большую прибыль на каждый из них.
Сеточная торговля на Binance теперь поддерживает сделки с фьючерсами USDⓈ-M и COIN-M. Пользователи могут настраивать параметры сетки, устанавливая верхние/нижние границы, а также частоту сетки. После создания сетки система автоматически разместит одера на покупку или продажу по заранее установленным ценам.
Давайте посмотрим, как это работает.
Предположим, вы ожидаете, что в следующие 24 часа цена Биткоина будет колебаться в диапазоне от 50 000 до 60 000 долларов США. В этом случае вы можете создать сетку для торговли в пределах прогнозируемого диапазона.
На панели сеточной торговли можно настроить параметры бота. Вот некоторые из них:
В этом случае по мере снижения цены Биткоина до $ 55 000 торговый бот будет накапливать позиции по более низкой цене, чем на рынке. А когда цены начнут восстанавливаться, бот будет осуществлять продажи по цене выше рыночной. С помощью данной стратегии можно попытаться извлечь выгоду из разворота направления движения цены.
Узнать больше можно в статье Сеточная торговля в режиме лонг/шорт.
Предупреждение о рисках: сеточную стратегию не следует рассматривать как финансовую или инвестиционную рекомендацию Binance. Вы используете сеточную торговлю на свое усмотрение и риск. Binance не несет ответственности за убытки, которые могут возникнуть в результате использования вами этой функции. Рекомендуем прочитать инструкции по сеточной торговле и убедиться, что вы полностью их понимаете, а также советуем контролировать риски и разумно подходить к торговле с учетом ваших финансовых возможностей.
1. Войдите в аккаунт Binance и перейдите в меню Фьючерсы. Выберите Торговые боты > Сетка фьючерсов.
В приложении нажмите Фьючерсы > USDⓈ-M или COIN-M. Нажмите Сетка в левом нижнем углу.
2. Выберите торговую пару, к которой вы планируете применить стратегию и установите параметры сетки. Выберите направление сетки (лонг, шорт или нейтральная), диапазон, количество сеток и размер ордера. Нажмите Создать.
Обратите внимание на то, что сетку невозможно создать при следующих условиях:
Давайте на примере бессрочного фьючерсного контракта USDⓈ-M BTCUSDT разберем процесс сеточной торговли.
Для параметров #10 и #11:
Вы можете размещать свои сеточные лимитные ордера с немедленной активацией или активировать их, когда рыночная цена достигнет определенного значения. Ордера сетки активируются, когда рыночная цена (последняя цена или цена маркировки) поднимается выше или опускается ниже указанной вами цены активации.
Для параметров 1, 2, 3, 4 и 6:
Вы можете определить несколько уровней цен в соответствии с последней рыночной ценой (покупка, продажа, средняя цена), и разместить лимитные ордера на продажу по цене выше рыночной и лимитные ордера на покупку по цене ниже рыночной. После этого достаточно дождаться активации и исполнения лимитных ордеров.
Стратегия нейтральных сеток не включает начальную позицию. Она открывается, только когда рынок превышает ближайшую ценовую точку после изначальных параметров.
Пример:
Предположим, вы установили параметры своей стратегии следующим образом:
Распределение цен будет следующим: 20 000 USDT, 25 000 USDT, 30 000 USDT, 35 000 USDT, 40 000 USDT, 45 000 USDT
Первоначальные ордера на продажу нейтральной сетки будут размещены выше текущей рыночной цены. Между тем ордера на покупку будут выставлены ниже текущей рыночной цены. Обратите внимание: цена, ближайшая к рыночной, будет исключена. В этом сценарии начальные лимитные ордера сетки будут заполнены следующим образом:
Направление | Цена |
Продажа | 45 000 USDT |
Продажа | 40 000 USDT |
Покупка | 30 000 USDT |
Покупка | 25 000 USDT |
Покупка | 20 000 USDT |
Сетка обновляется каждый раз, когда достигается один из ценовых уровней, то есть когда исполняется лимитный ордер. Цена последнего исполненного ордера деактивируется таким образом, что по достижении данной цены еще раз, новый ордер не размещается. Лимитные ордера на покупку или продажу исполняются по установленным ценам. Количество ордеров зависит от настроек сетки.
Например, начальная рыночная цена составляет 10 010 USDT, а лимитная цена сетки на каждом уровне следующая:
Цена | Направление |
10 200 USDT | Продажа |
10 100 USDT | Продажа |
10 000 долларов USDT | Покупка |
9 900 USDT | Покупка |
9 800 USDT | Покупка |
Если предположить, что цена упадет до 10 000 USDT и ордер на покупку (начальная открытая позиция) будет исполнен, лимитные ордера в сетке будут следующие:
Цена | Направление |
10 200 USDT | Продажа |
10 100 USDT | Продажа |
10 000 долларов USDT | - |
9 900 USDT | Покупка |
9 800 USDT | Покупка |
Предположим, что затем цена выросла до 10 100 USDT, из-за чего исполнился ордер на продажу по 10 100 USDT. Лимитные ордера в сетке обновятся следующим образом:
Цена | Направление |
10 200 USDT | Продажа |
10 100 USDT | - |
10 000 долларов USDT | Покупка |
9 900 USDT | Покупка |
9 800 USDT | Покупка |
Если после этого цена упадет до 9 900 USDT, то будут исполнены два ордера на покупку (по 10 000 USDT и 9 900 USDT), а лимитные ордера сетки будут впоследствии обновлены следующим образом:
Цена | Направление |
10 200 USDT | Продажа |
10 100 USDT | Продажа |
10 000 долларов USDT | Продажа |
9 900 USDT | - |
9 800 USDT | Покупка |
И так далее.
Параметр 12:
Вы можете вручную завершить работу сетки или установить стоп-триггер. Существует три варианта настройки стоп-триггера:
Вы также можете указать, хотите ли вы держать позицию открытой, когда тейк-профит и стоп-лосс сетки инициируют завершение работы. Этот параметр не зависит от других сценариев завершения, например из-за недостаточной маржи.
Для параметров 13:
Вы можете закрыть все позиции вручную или автоматически после остановки сетки.
Если включить параметр закрытия всех позиций, то после остановки сетки система автоматически закроет все открытые позиции по рыночной цене. Эта опция не повлияет на ваши настройки TP/SL. Если цена достигнет уровня TP или SL, ваши позиции будут закрыты или останутся открытыми в зависимости от ваших настроек.
Обратите внимание на то, что сетка может быть остановлена по следующим причинам:
Система уведомит вас, если сетка в данный момент находится в работе. Например, рекомендуемое плечо для сеточной торговли составляет менее 20x. Если кредитное плечо продолжает превышать 20x, вы увидите второе предупреждение о необходимости снизить кредитное плечо.
Выберите контракт, на котором будет развернут торговый бот.
По умолчанию все сетки, как USDⓈ-Margined, так и COIN-Margined, работают в режиме кросс-маржи.
В этом режиме маржа суммируется и распределяется между всеми торговыми парами на фьючерсном аккаунте согласно стратегии пользователя.
Для начала установите кредитное плечо. Обратите внимание, что кредитное плечо увеличивает как прибыль, так и убытки. Используя кредитное плечо, вы можете увеличить прибыль по относительно небольшим ценовым движениям. Однако стоит помнить об оборотной стороне кредитного плеча и использовать его с осторожностью.
*Не может быть изменена после размещения ордера из сетки
Установите нижнюю и верхнюю цену сетки. Позиции перестанут открываться после того, как будет достигнута самая высокая или самая низкая цена в сетке. Например, текущая цена бессрочных фьючерсов BTCUSDT равняется 48 000 USDT. Вы считаете, что она упадет после того, как станет выше 49 000 USDT. В этом случае верхней ценой будет 49 000 USDT. После того как цена достигнет 49 000 USDT, позиции по сетке больше не будут открываться.
*Не может быть изменена после размещения ордера из сетки
Арифметический режим: разница между ценами ордеров в сетке одинакова.
В сетке в арифметическом режиме ценовой диапазон от нижней границы (grid_lower_limit) до верхней границы (grid_upper_limit) делится на заданное количество ордеров (grid_count) с равными промежутками.
Разница в цене в процентах (price_diff_percentage) между ордерами рассчитывается по формуле:
price_diff = (grid_upper_limit - grid_lower_limit) / grid_count
Затем создается ряд ценовых уровней (price_1, price_2, ...) с одним и тем же отношением между уровнями:
price_1 = grid_lower_limit
price_2 = grid_lower_limit + price_diff
price_3 = grid_lower_limit + price_diff * 2
...
price_n = grid_lower_limit + price_diff * (n-1)
Для верхней границы (grid_upper_limit), n = количество ордеров (grid_count)
Пример: в арифметическом режиме разница между ценовыми уровнями (price_diff) = 100: 1000, 1100, 1200, 1300, 1400,... (каждый последующий уровень выше предыдущего на 100)
Геометрический режим: отношение цены последующего ордера к цене предыдущего равно одному и тому же постоянному числу.
В геометрическом режиме ценовой диапазон от нижней границы (grid_lower_limit) до верхней границы (grid_upper_limit) делится на количество ордеров (grid_count) с равным коэффициентом цены.
Отношение между ценовыми уровнями (price_ratio) рассчитывается по формуле:
price_ratio = (grid_upper_limit / grid_lower_limit) ^ (1/grid_count)
Разница в цене в процентах (price_diff_percentage) между ордерами рассчитывается по формуле:
price_diff_percentage = ( (grid_upper_limit / grid_lower_limit) ^ (1/grid_count) - 1) * 100%
Затем создается ряд ценовых уровней (price_1, price_2, ...) с одним и тем же отношением между уровнями:
price_1 = grid_lower_limit
price_2 = grid_lower_limit* price_ratio (цена 2 = нижняя граница сетки * коэффициент цены)
price_3 = grid_lower_limit * price_ratio ^ 2
...
price_n = grid_lower_limit* price_ratio ^ (n-1) (цена n = нижняя граница сетки * коэффициент цены ^ (n-1))
Для верхней границы (grid_upper_limit), n = количество ордеров (grid_count)
Пример: разница в процентах между ценовыми уровнями в геометрическом режиме (price_diff_percentage) = 10%: 1000, 1100, 1210, 1331, 1464.1,... (каждый последующий уровень выше предыдущего на 10%)
*Не может быть изменена после размещения ордера из сетки
Примечание: разница цен не может быть меньше размера тика, в противном случае необходимо настроить количество ордеров (Grid_count) или верхнюю/нижнюю цену сетки (Grid upper/lower limit).
По какой формуле рассчитывается минимально допустимая разница (min_price_diff)?
1) Арифметический режим, price_diff = (grid_upper_limit - grid_lower_limit)/gridCount
2) Геометрический режим, min_price_diff = grid_lower_limit*price_ratio
Если прибыль по сетке меньше, чем комиссия мейкера, вы получите уведомление о том, что общая прибыль сетки может не покрыть комиссию за торговлю.
Как рассчитать? (Значение прибыль по сетке приведено только для справки)
1) Арифметический режим
d = (grid_upper_limit - grid_lower_limit) / grid_count (d = (верхняя граница - нижняя граница) / количество ордеров)
c = TradingFeeRate (ваша текущая комиссия мейкера)
profit_per_grid_lower=[1+ (grid_upper_limit - grid_lower_limit)/(grid_count* grid_upper_limit )]*(1-commission%)^2-1 (нижнее значение прибыли = [1+ (верхнее значение прибыли - нижнее значение прибыли)/(количество ордеров * верхнее значение прибыли)] * (1-комиссия в %)^2 - 1
profit_per_grid_higher = (1-c) * d / grid_lower_limit-2c (верхнее значение прибыли = (1-c) * d / нижнее значение прибыли - 2c)
Пример: ценовой интервал = 1 000 - 2000, количество ордеров = 10, комиссия = 0.1%
Разница цен каждой сетки составляет = (2000-1000) / 10 = 100
profit_per_grid_lower = (2000*(1-0.1%)) / (2000-100) - 1 - 0.1% = 5.05% (нижнее значение прибыли = (2000*(1-0.1%) / (2000-100) - 1 - 0.1% = 5.05%)
profit_per_grid_higher = (1-0.1%) * 100 / 1,000 - 2 * 0.1% = 9.79% (верхнее значение прибыли = (1-0.1%) * 100 / 1,000 - 2 * 0.1% = 9.79%)
2) Геометрический режим
r = (grid_upper_limit/grid_lower_limit) ^ (1/grid_count) (r = (верхняя граница - нижняя граница) ^ (1 / количество ордеров))
c = TradingFeeRate (ваша текущая комиссия мейкера)
profit_per_grid_geo = (1-c) * r - 1 - c
Пример: ценовой интервал = 1 000 - 2000, количество ордеров = 10, комиссия = 0.1%
Ценовой коэффициент каждой сетки: (2 000 / 1 000) ^ (1/10) = 107,18%
Прибыль по сетке = (1 - 0,1%) * 107,18% - 1 - 0,1% = 6,97%
*Не может быть изменена после размещения ордера из сетки
Начальная маржа = общая сумма инвестиций / кредитное плечо (Initial margin = initial_value / leverage)
Вы можете настроить процент от инвестируемой суммы до 100% (начальная маржа = процент * остаток маржи). Обратите внимание, что он должен находиться в интервале между минимальной начальной маржой (min_initial_margin) и остатком маржи.
Для сетки фьючерсов USDⓈ-M
Рассчитаем минимальное количество сеток:
min grid qty = max(minQty, minNotional/grid_lower_limit)
min_initial_margin= min grid qty * sum (price)/ (leverage * adjust_coef)
Предполагаемая цена (assuming price) определяется следующими формулами:
assuming_price (BUY) = price*
assuming_price (SELL) = max (mark_price, price)
* Цена (price) — это цена каждого ордера в стратегии сеточной торговли, автоматически устанавливаемая параметрами сетки. Это определение применяется ко всем терминам «цена» в этой статье.
min_initial_margin = sum (min grid qty * assuming price + leverage * min grid qty * abs {min [0, side * (mark price - price)]}) / (leverage * adjust_coef) (минимальная начальная маржа = сумма (минимальное количество ордеров * предполагаемая цена + кредитное плечо * минимальное количество ордеров * абсолютное значение {минимум [0, направление * (цена маркировки - цена)]}) / (кредитное плечо * коэффициент корректировки))
Примечание. Если вы установили цену активации, цена маркировки должна быть заменена ею.
Для сетки фьючерсов COIN-M:
Рассчитаем минимальное количество сеток:
min grid qty = minQty
min_initial_margin = min grid qty * sum (contract_multiplier / price) / (leverage * adjust_coef) (минимальная начальная маржа = минимальное количество ордеров * сумма (коэффициент контракта / цена) / (кредитное плечо * коэффициент корректировки))
Определяем предполагаемую цену:
assuming_price (BUY) = min(mark price, price)
assuming price(SELL) = price
min_initial_margin = min grid qty * sum (contract_multiplier /assuming price + leverage * contract_multiplier * abs {min [0, side * (1 / Order's Price - 1 / mark price)]}) / (leverage * adjust_coef)
* min grid qty — это минимальная сумма сделки с торговой парой. Узнать больше можно на странице с торговыми правилами.
*Если вы установили цену активации, цена маркировки должна быть заменена ценой активации.
* Сейчас параметр adjust_coef по умолчанию равен 0,8. Он будет корректироваться в зависимости от рыночных условий.
* Не может быть изменена после размещения ордера сетки.
Общая сумма инвестиций = начальная маржа * кредитное плечо
Для сетки фьючерсов USDⓈ-M
Нейтральное направление
grid_qty = adjust_coef * initial_margin * leverage / sum(price) (сумма на ордер = коэффициент корректировки * начальная маржа * кредитное плечо / сумма (цена))
Направление сетки лонг/шорт
Предполагаемая цена (assuming price) определяется следующими формулами:
assuming_price (BUY) = price
assuming_price (SELL) = max (mark_price, price)
grid qty = adjust_coef * initial_margin * Leverage / sum (assuming_price + leverage * abs (min (0, side * (mark_price-price)) ) )
*Если вы установили цену активации, цена маркировки должна быть заменена ценой активации.
Для сетки фьючерсов COIN-M
Нейтральное направление
grid qty = adjust_coef * initial_margin * leverage / sum (1 / price) (сумма на ордер = коэффициент корректировки * начальная маржа * кредитное плечо / сумма (1 / цена))
Направление сетки лонг/шорт
Предполагаемая цена (assuming price) определяется следующими формулами:
assuming_price (BUY) = min(mark price, price)
assuming_price (SELL) = price
grid qty = adjust_coef * initial_margin * Leverage / sum(contract_multiplier /assuming_price + leverage *contract_multiplier* abs(min(0, side*(1 / price - 1 / mark price)) ) )
*Если вы установили цену активации, цена маркировки должна быть заменена ценой активации.
По умолчанию доступный маржинальный баланс отображается на фьючерсном аккаунте USDⓈ-M или COIN-M. В режиме маржи портфеля доступный баланс можно посмотреть на спотовом кошельке.
*Опционально, может быть изменена до активации сетки
1) Тип активации сетки: сетка активируется, когда последняя цена или выбранная цена маркировки достигает цены активации.
2) Тип активации стоп-триггера: сетка останавливается, когда последняя цена или цена маркировки достигает верхней или нижней стоп-цены.
* Не может быть изменена после размещения ордера из сетки
Ордер из сетки активируется, когда последняя цена или цена маркировки поднимется выше или опустится ниже установленной вами цены активации.
*Не может быть изменена после размещения ордера из сетки
1. Триггер по цене
Верхняя стоп-цена должна быть выше верхней цены, последней цены и цены активации. Когда последняя рыночная цена достигнет верхней стоп-цены, сетка прекратит работу.
Нижняя стоп-цена
Нижняя стоп-цена должна быть ниже нижней цены, последней цены и цены активации. Когда последняя рыночная цена достигнет нижней стоп-цены, сетка прекратит работу.
2. Триггер по PNL
Расчет общей прибыли будет происходить по цене маркировки, которая может не совпадать с данными, отображаемыми на странице (данные на странице рассчитываются по последней цене).
3. Триггер по ROI
Система рассчитает PNL, соответствующий введенному вами коэффициенту ROI, и определит, выполнены ли условия для срабатывания тейк-профита или стоп-лосса на основе оценочной прибыли.
4. Закрытие всех позиций по стопу TP/SL
Вы также можете указать, хотите ли вы держать позицию открытой, когда тейк-профит или стоп-лосс сетки инициируют завершение работы сетки. Этот параметр не зависит от других сценариев завершения, например из-за недостаточной маржи.
*Не может быть изменена после размещения ордера из сетки
Вы можете включить эту функцию, чтобы автоматически закрыть все открытые позиции по торговой паре по рыночной цене, когда сетка остановится. Эта опция не повлияет на ваши настройки TP/SL. Если цена достигнет уровня TP или SL, позиции будут закрыты или останутся открытыми в зависимости от настроек.
*Обратите внимание, что приведенные выше рекомендации по настройке параметров носят исключительно справочный характер. Торговля фьючерсами связана с высокими рисками и может принести как существенную прибыль, так и убытки. Прибыль в прошлом не гарантирует прибыль в будущих сделках. В случае резкого изменения цены есть вероятность ликвидации всего вашего маржинального баланса. Binance не несет ответственности за ваши убытки.
номинальная позиция (position_notional) = последняя цена маркировки (latest_mark_price) * размер позиции (size)
номинальная стоимость позиции (position_notional_value) = абсолютная номинальная позиция (abs (position notional))
present notional = max (abs (position_notional + open order's bid_notional), abs (position_notional - open order's ask_notional)) (текущая номинальная стоимость = максимум (абсолютное значение (номинальная позиция + номинальная цена бид открытого ордера), абсолютное значение (номинальная позиция - номинальная цена аск открытого ордера))
* Abs: абсолютное значение
open order's ask_notional=askNotional (номинальная цена спроса открытого ордера = номинальная цена аск)
open order's bid_notional=bidNotional (номинальная цена бид открытого ордера = номинальная цена бид)