Iceberg-заявки («айсберги») – это особый вид ордеров, используемый крупными игроками на рынке. Визуально такие заявки кажутся небольшими, но после исполнения они обновляются, открывая следующую «скрытую» часть. Это позволяет крупным трейдерам маскировать свои объемы и минимизировать влияние на цену актива.
Как использовать Iceberg-заявки в трейдинге?
- Iceberg в BID (покупка) – крупный игрок набирает позицию, что может сигнализировать о росте цены.
- Iceberg в ASK (продажа) – крупный игрок разгружает активы, что может указывать на потенциальное падение курса.
Таким образом, мониторинг Iceberg-ордеров помогает трейдерам понимать намерения крупных участников рынка и принимать более обоснованные торговые решения.
Разбор кода
Мы будем использовать публичное API Bybit для анализа стакана заявок в реальном времени и выявления крупных скрытых ордеров.
Основные функции скрипта:
- Функция
get_order_book()
– получает стакан заявок с Bybit, обрабатывает данные и возвращает списки BID и ASK с ценами и объемами. - Функция
detect_iceberg_orders()
– сравнивает текущий стакан с предыдущими данными и выявляет скрытые крупные ордера, анализируя изменение объема на одной цене. - Логика выявления Iceberg-заявок:
- Если объем на одной цене в BID или ASK увеличивается более чем в 1.5 раза по сравнению с предыдущим значением, выводится сообщение о выявленной Iceberg-заявке.
- Цикл
while True
– скрипт работает в режиме реального времени, проверяя стакан каждые 2 секунды.
Как запустить код?
-
Установите Python (если он не установлен).
-
Установите необходимые библиотеки (если не установлены):
pip install requests
- Запустите скрипт командой:
python iceberg_detector.py
-
В консоли будут отображаться выявленные Iceberg-заявки в BID и ASK.
-
Полный код скрипта
import requests
import time
# API Bybit (глубина стакана)
ORDER_BOOK_URL = "https://api.bybit.com/v5/market/orderbook"
SYMBOL = "BTCUSDT"
DEPTH = 50 # Берём топ-50 заявок
def get_order_book():
"""Получает стакан заявок"""
params = {"category": "spot", "symbol": SYMBOL, "limit": DEPTH}
response = requests.get(ORDER_BOOK_URL, params=params)
if response.status_code == 200:
data = response.json().get("result", {})
bids = [(float(price), float(size)) for price, size in data.get("b", [])]
asks = [(float(price), float(size)) for price, size in data.get("a", [])]
return bids, asks
else:
print(f"Ошибка API: {response.status_code}")
return None, None
def detect_iceberg_orders():
"""Выявляет скрытые Iceberg-заявки"""
prev_bids, prev_asks = get_order_book()
if not prev_bids or not prev_asks:
print("❌ Ошибка получения стакана.")
return
print("📡 Начинаем мониторинг Iceberg-заявок...")
while True:
time.sleep(2) # Ждём обновления стакана
bids, asks = get_order_book()
if not bids or not asks:
continue
# Анализ заявок (BID - покупатели)
for i in range(min(len(bids), len(prev_bids))):
if bids[i][0] == prev_bids[i][0] and bids[i][1] > prev_bids[i][1] * 1.5:
print(f"❄️ Iceberg-заявка в BID: {bids[i][0]} - новый объём {bids[i][1]} BTC (было {prev_bids[i][1]} BTC)")
# Анализ заявок (ASK - продавцы)
for i in range(min(len(asks), len(prev_asks))):
if asks[i][0] == prev_asks[i][0] and asks[i][1] > prev_asks[i][1] * 1.5:
print(f"❄️ Iceberg-заявка в ASK: {asks[i][0]} - новый объём {asks[i][1]} BTC (было {prev_asks[i][1]} BTC)")
prev_bids, prev_asks = bids, asks # Обновляем стакан
if __name__ == "__main__":
detect_iceberg_orders()
Вывод
Анализ Iceberg-ордеров – мощный инструмент для понимания поведения крупных игроков на рынке. Использование этого скрипта поможет трейдерам:
✅ Выявлять скрытые объемы крупных участников.
✅ Предсказывать вероятные движения цены.
✅ Улучшать свои торговые стратегии на основе реальных данных из стакана заявок.
Если вам интересны подобные инструменты для анализа рынка, следите за обновлениями и новыми публикациями!
Пока нет комментариев. Будьте первым!