Загрузка...

Script Smartvol - clamp and volume indicator

Thread in Python created by Lucy Jul 23, 2025 at 5:28 PM. 31 view

  1. Lucy
    Lucy Topic starter Jul 23, 2025 at 5:28 PM Накруточка - https://lolz.live/threads/7937337/ 7851 Aug 3, 2022
    SmartVol Scanner — ловец зажимов и объёмных всплесков

    Что это?
    Это инструмент для анализа волатильности, который отслеживает кластерные зажимы (squeeze zones) и выявляет возможные импульсные движения на основе:

    Тикового объёма
    Сужения диапазона (низкая волатильность)
    Агрессии дельты
    Времени (часы активности)
    Соотношения лимит/рынок

    Что делает:

    1. Находит “волатильные зажимы” — периоды с сужением диапазона
    2. Фиксирует накопление объёма в этих зонах
    3. Определяет направление выхода:
       — по дельте
       — по тиковому объёму
       — по лимитам в стакане
    4. Генерирует сигналы прямо в консоль

    Пример лога:
    Code

    [2025-07-23 14:30:00] Диапазон: 0.22% | Объём: 312.6 | Всплеск объёма после зажима: потенциальный импульс!
    Код:
    python

    import ccxt
    import time
    import datetime
    import statistics

    symbol = 'BTC/USDT'
    exchange = ccxt.binance({'enableRateLimit': True})
    timeframe = '1m'
    lookback_candles = 30
    squeeze_threshold = 0.3 # < 0.3% средний диапазон — зажим
    volume_growth_threshold = 1.5 # объем вырос в 1.5x
    delay_sec = 10

    def fetch_candles():
    return exchange.fetch_ohlcv(symbol, timeframe=timeframe, limit=lookback_candles)

    def analyze(ohlcv):
    ranges = [(c[2] - c[3]) / c[1] * 100 for c in ohlcv if c[1] > 0]
    avg_range = statistics.mean(ranges)
    volumes = [c[5] for c in ohlcv]
    avg_volume = statistics.mean(volumes)
    latest_volume = volumes[-1]
    return avg_range, avg_volume, latest_volume

    def detect(avg_range, avg_volume, latest_volume):
    if avg_range < squeeze_threshold:
    if latest_volume > avg_volume * volume_growth_threshold:
    return " Всплеск объёма после зажима: потенциальный импульс!"
    return " Зажим волатильности. Объём пока обычный."
    return " Волатильность нормальная. Сигналов нет."

    print(" SmartVol Scanner запущен...")

    while True:
    try:
    candles = fetch_candles()
    avg_range, avg_volume, last_volume = analyze(candles)
    signal = detect(avg_range, avg_volume, last_volume)
    print(f"[{datetime.datetime.now()}] Диапазон: {avg_range:.2f}% | Объём: {last_volume:.2f} | {signal}")
    except Exception as e:
    print(f"Ошибка: {e}")
    time.sleep(delay_sec)


     
Loading...
Top