Qubx 1.2.3.dev3__tar.gz → 1.2.3.dev4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/PKG-INFO +2 -2
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/pyproject.toml +1 -1
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/_version.py +2 -2
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/exchanges/binance/exchange.py +11 -68
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/.gitignore +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/LICENSE +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/README.md +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/scripts/build.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/_nb_magic.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/backtester/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/backtester/account.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/backtester/broker.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/backtester/data.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/backtester/iteratedstream.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/backtester/management.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/backtester/ome.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/backtester/optimization.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/backtester/runner.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/backtester/sentinels.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/backtester/simulated_data.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/backtester/simulated_exchange.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/backtester/simulator.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/backtester/transfers.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/backtester/utils.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/cli/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/cli/commands.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/cli/deploy.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/cli/misc.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/cli/release.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/cli/resolver.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/cli/s3.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/cli/theme.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/cli/tui.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/cli/user_config.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/config.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/account.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/adapters/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/adapters/polling_adapter.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/broker.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/connection_manager.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/data.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/exceptions.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/exchange_manager.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/exchanges/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/exchanges/base.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/exchanges/binance/broker.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/exchanges/bitfinex/bitfinex.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/exchanges/bitfinex/bitfinex_account.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/exchanges/gateio/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/exchanges/gateio/gateio.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/exchanges/hyperliquid/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/exchanges/hyperliquid/account.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/exchanges/hyperliquid/broker.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/exchanges/hyperliquid/hyperliquid.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/exchanges/kraken/kraken.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/exchanges/okx/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/exchanges/okx/account.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/exchanges/okx/broker.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/exchanges/okx/okx.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/factory.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/handlers/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/handlers/base.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/handlers/factory.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/handlers/funding_rate.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/handlers/liquidation.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/handlers/ohlc.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/handlers/open_interest.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/handlers/orderbook.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/handlers/quote.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/handlers/trade.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/rate_limits.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/subscription_config.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/subscription_manager.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/subscription_orchestrator.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/utils.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/warmup_service.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/registry.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/tardis/data.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/tardis/utils.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/control/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/control/builtin.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/control/decorator.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/control/executor.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/control/interfaces.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/control/server.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/control/types.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/account.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/basics.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/context.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/detectors/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/detectors/delisting.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/detectors/stale.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/errors.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/exceptions.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/helpers.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/initializer.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/interfaces.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/loggers.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/lookups.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/metrics.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/mixins/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/mixins/market.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/mixins/processing.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/mixins/subscription.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/mixins/trading.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/mixins/universe.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/mixins/utils.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/series.pxd +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/series.pyi +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/series.pyx +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/utils.pyi +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/core/utils.pyx +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/data/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/data/cache.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/data/containers.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/data/guards.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/data/registry.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/data/storage.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/data/storages/ccxt.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/data/storages/csv.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/data/storages/handy.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/data/storages/multi.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/data/storages/questdb.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/data/storages/stub.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/data/storages/utils.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/data/transformers.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/emitters/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/emitters/base.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/emitters/composite.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/emitters/csv.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/emitters/indicator.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/emitters/inmemory.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/emitters/prometheus.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/emitters/questdb.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/exporters/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/exporters/composite.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/exporters/formatters/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/exporters/formatters/base.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/exporters/formatters/incremental.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/exporters/formatters/slack.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/exporters/formatters/target_position.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/exporters/redis_streams.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/exporters/slack.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/gathering/simplest.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/health/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/health/base.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/health/dummy.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/loggers/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/loggers/csv.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/loggers/factory.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/loggers/inmemory.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/loggers/mongo.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/loggers/postgres.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/notifications/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/notifications/composite.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/notifications/slack.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/notifications/throttler.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/pandaz/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/pandaz/stats.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/pandaz/ta.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/pandaz/utils.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/plugins/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/plugins/loader.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/rate_limiting/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/rate_limiting/backend.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/rate_limiting/config.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/rate_limiting/engine.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/rate_limiting/ip_resolver.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/rate_limiting/manager.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/rate_limiting/pools.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/rate_limiting/redis_backend.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/resources/_build.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/resources/crypto-fees.ini +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/resources/instruments/hyperliquid-spot.json +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/resources/instruments/hyperliquid.f-perpetual.json +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/resources/instruments/symbols-binance-spot.json +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/resources/instruments/symbols-binance.cm-future.json +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/resources/instruments/symbols-binance.cm-perpetual.json +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/resources/instruments/symbols-binance.um-future.json +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/resources/instruments/symbols-binance.um-perpetual.json +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/resources/instruments/symbols-bitfinex.f-perpetual.json +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/resources/instruments/symbols-kraken-spot.json +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/resources/instruments/symbols-kraken.f-future.json +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/resources/instruments/symbols-kraken.f-perpetual.json +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/restarts/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/restarts/state_resolvers.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/restarts/time_finders.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/restorers/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/restorers/balance.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/restorers/factory.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/restorers/interfaces.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/restorers/position.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/restorers/signal.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/restorers/state.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/restorers/utils.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/state/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/state/dummy.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/state/redis.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/ta/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/ta/indicators.pxd +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/ta/indicators.pyi +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/ta/indicators.pyx +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/base.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/project/accounts.toml.j2 +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/project/config.yml.j2 +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/project/jlive.sh.j2 +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/project/jpaper.sh.j2 +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/project/pyproject.toml.j2 +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/project/src/{{ strategy_name }}/__init__.py.j2 +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/project/src/{{ strategy_name }}/strategy.py.j2 +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/project/template.yml +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/repo/.claude/skills/qubx-cli/SKILL.md +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/repo/.claude/skills/qubx-indicators/SKILL.md +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/repo/.claude/skills/simulation-explorer/SKILL.md +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/repo/.claude/skills/strategy-release/SKILL.md +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/repo/.github/workflows/ci.yml.j2 +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/repo/.gitignore.j2 +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/repo/.python-version +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/repo/.vscode/launch.json +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/repo/.vscode/settings.json +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/repo/.vscode/tasks.json +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/repo/CLAUDE.md.j2 +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/repo/README.md.j2 +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/repo/configs/.gitkeep +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/repo/justfile.j2 +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/repo/pyproject.toml.j2 +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/repo/research/.gitkeep +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/repo/src/{{ strategy_name }}/__init__.py.j2 +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/repo/src/{{ strategy_name }}/cli.py.j2 +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/repo/src/{{ strategy_name }}/strategy.py.j2 +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/repo/template.yml +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/repo/tests/test_strategy.py.j2 +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/simple/__init__.py.j2 +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/simple/accounts.toml.j2 +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/simple/config.yml.j2 +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/simple/jlive.sh.j2 +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/simple/jpaper.sh.j2 +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/simple/strategy.py.j2 +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/templates/simple/template.yml +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/trackers/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/trackers/advanced.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/trackers/composite.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/trackers/rebalancers.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/trackers/riskctrl.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/trackers/sizers.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/_pyxreloader.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/charting/lookinglass.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/charting/mpl_helpers.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/charting/orderbook.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/collections.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/hft/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/hft/numba_utils.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/hft/orderbook.pyi +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/hft/orderbook.pyx +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/marketdata/binance.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/marketdata/ccxt.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/marketdata/dukas.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/misc.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/nonce.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/ntp.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/numbers_utils.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/orderbook.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/plotting/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/plotting/dashboard.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/plotting/data.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/plotting/interfaces.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/plotting/renderers/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/plotting/renderers/plotly.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/questdb.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/rate_limiter.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/results.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/ringbuffer.pxd +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/ringbuffer.pyi +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/ringbuffer.pyx +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/runner/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/runner/_jupyter_runner.pyt +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/runner/accounts.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/runner/configs.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/runner/factory.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/runner/kernel_service.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/runner/runner.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/runner/textual/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/runner/textual/app.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/runner/textual/handlers.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/runner/textual/init_code.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/runner/textual/kernel.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/runner/textual/styles.tcss +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/runner/textual/widgets/__init__.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/runner/textual/widgets/account_summary.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/runner/textual/widgets/command_input.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/runner/textual/widgets/debug_log.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/runner/textual/widgets/orders_table.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/runner/textual/widgets/positions_table.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/runner/textual/widgets/quotes_table.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/runner/textual/widgets/repl_output.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/s3.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/slack.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/throttler.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/time.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/utils/websocket_manager.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/tests/strategies/macd_crossover/src/macd_crossover/indicators/macd.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/tests/strategies/macd_crossover/src/macd_crossover/models/macd_crossover.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/tests/strategies/macd_crossover/src/macd_crossover/models/utils.py +0 -0
- {qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/tests/strategies/obi_trader/src/obi_trader/models/obi_trader.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: Qubx
|
|
3
|
-
Version: 1.2.3.
|
|
3
|
+
Version: 1.2.3.dev4
|
|
4
4
|
Summary: Qubx - Quantitative Trading Framework
|
|
5
5
|
Project-URL: homepage, https://xlydian.com
|
|
6
6
|
Project-URL: repository, https://github.com/xLydianSoftware/Qubx
|
|
@@ -58,7 +58,7 @@ Requires-Dist: python-binance<2,>=1.0.19; extra == 'binance'
|
|
|
58
58
|
Provides-Extra: bitfinex
|
|
59
59
|
Requires-Dist: qubx-bitfinex-api<4,>=3.0.7; extra == 'bitfinex'
|
|
60
60
|
Provides-Extra: connectors
|
|
61
|
-
Requires-Dist: ccxt<5,>=4.
|
|
61
|
+
Requires-Dist: ccxt<5,>=4.5.46; extra == 'connectors'
|
|
62
62
|
Provides-Extra: jupyter
|
|
63
63
|
Requires-Dist: jupyter-console<7,>=6.6.3; extra == 'jupyter'
|
|
64
64
|
Requires-Dist: jupyter<2,>=1.1.1; extra == 'jupyter'
|
|
@@ -81,7 +81,7 @@ qubx = "qubx.cli.commands:main"
|
|
|
81
81
|
# ============================================================
|
|
82
82
|
[project.optional-dependencies]
|
|
83
83
|
# Exchange connectors (ccxt-based)
|
|
84
|
-
connectors = ["ccxt>=4.
|
|
84
|
+
connectors = ["ccxt>=4.5.46,<5"]
|
|
85
85
|
# Binance-specific (historical data utilities)
|
|
86
86
|
binance = ["python-binance>=1.0.19,<2"]
|
|
87
87
|
# Bitfinex-specific (custom API client)
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '1.2.3.
|
|
22
|
-
__version_tuple__ = version_tuple = (1, 2, 3, '
|
|
21
|
+
__version__ = version = '1.2.3.dev4'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 2, 3, 'dev4')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -4,7 +4,7 @@ import ccxt.pro as cxp
|
|
|
4
4
|
import pandas as pd
|
|
5
5
|
from ccxt.async_support.base.ws.cache import ArrayCache, ArrayCacheByTimestamp
|
|
6
6
|
from ccxt.async_support.base.ws.client import Client
|
|
7
|
-
from ccxt.base.errors import
|
|
7
|
+
from ccxt.base.errors import BadRequest, InsufficientFunds
|
|
8
8
|
from ccxt.base.precise import Precise
|
|
9
9
|
from ccxt.base.types import (
|
|
10
10
|
Any,
|
|
@@ -52,76 +52,19 @@ class BinanceQV(CcxtFuturePatchMixin, cxp.binance):
|
|
|
52
52
|
|
|
53
53
|
async def un_watch_bids_asks(self, symbols: Strings = None, params: dict = {}) -> Any:
|
|
54
54
|
"""
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
55
|
+
Unsubscribes from the bookTicker stream for the given symbols.
|
|
56
|
+
|
|
57
|
+
Upstream ccxt ships un_watch_bids_asks as a NotSupported stub, but the
|
|
58
|
+
companion watch_multi_ticker_helper has a working isUnsubscribe branch
|
|
59
|
+
that mirrors the subscribe path exactly (URL, sub-hashes, request body).
|
|
60
|
+
Delegating keeps us aligned with upstream's 2026-04 USDⓈ-M URL split
|
|
61
|
+
(/public/ws) and avoids duplicating internals that have already been
|
|
62
|
+
refactored once (get_message_hash was removed in ccxt 4.5.20).
|
|
64
63
|
"""
|
|
65
64
|
await self.load_markets()
|
|
66
|
-
methodName = "watchBidsAsks"
|
|
67
|
-
channelName = "bookTicker"
|
|
68
65
|
symbols = self.market_symbols(symbols, None, True, False, True)
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
symbolsDefined = symbols is not None
|
|
72
|
-
if symbolsDefined:
|
|
73
|
-
firstMarket = self.market(symbols[0])
|
|
74
|
-
marketType, params = self.handle_market_type_and_params(methodName, firstMarket, params)
|
|
75
|
-
subType = None
|
|
76
|
-
subType, params = self.handle_sub_type_and_params(methodName, firstMarket, params)
|
|
77
|
-
rawMarketType = None
|
|
78
|
-
if self.isLinear(marketType, subType):
|
|
79
|
-
rawMarketType = "future"
|
|
80
|
-
elif self.isInverse(marketType, subType):
|
|
81
|
-
rawMarketType = "delivery"
|
|
82
|
-
elif marketType == "spot":
|
|
83
|
-
rawMarketType = marketType
|
|
84
|
-
else:
|
|
85
|
-
raise NotSupported(str(self.id) + " " + methodName + "() does not support options markets")
|
|
86
|
-
isBidAsk = True
|
|
87
|
-
subscriptionArgs = []
|
|
88
|
-
subMessageHashes = []
|
|
89
|
-
messageHashes = []
|
|
90
|
-
if symbolsDefined:
|
|
91
|
-
for i in range(0, len(symbols)):
|
|
92
|
-
symbol = symbols[i]
|
|
93
|
-
market = self.market(symbol)
|
|
94
|
-
subscriptionArgs.append(market["lowercaseId"] + "@" + channelName)
|
|
95
|
-
subMessageHashes.append(self.get_message_hash(channelName, market["symbol"], isBidAsk))
|
|
96
|
-
messageHashes.append("unsubscribe:bidsasks:" + symbol)
|
|
97
|
-
else:
|
|
98
|
-
if marketType == "spot":
|
|
99
|
-
raise ArgumentsRequired(
|
|
100
|
-
str(self.id) + " " + methodName + "() requires symbols for this channel for spot markets"
|
|
101
|
-
)
|
|
102
|
-
subscriptionArgs.append("!" + channelName)
|
|
103
|
-
subMessageHashes.append(self.get_message_hash(channelName, None, isBidAsk))
|
|
104
|
-
messageHashes.append("unsubscribe:bidsasks")
|
|
105
|
-
streamHash = channelName
|
|
106
|
-
if symbolsDefined:
|
|
107
|
-
streamHash = channelName + "::" + ",".join(symbols)
|
|
108
|
-
url = self.urls["api"]["ws"][rawMarketType] + "/" + self.stream(rawMarketType, streamHash)
|
|
109
|
-
requestId = self.request_id(url)
|
|
110
|
-
request: dict = {
|
|
111
|
-
"method": "UNSUBSCRIBE",
|
|
112
|
-
"params": subscriptionArgs,
|
|
113
|
-
"id": requestId,
|
|
114
|
-
}
|
|
115
|
-
subscription: dict = {
|
|
116
|
-
"unsubscribe": True,
|
|
117
|
-
"id": str(requestId),
|
|
118
|
-
"subMessageHashes": subMessageHashes,
|
|
119
|
-
"messageHashes": subMessageHashes,
|
|
120
|
-
"symbols": symbols,
|
|
121
|
-
"topic": "bidsasks",
|
|
122
|
-
}
|
|
123
|
-
return await self.watch_multiple(
|
|
124
|
-
url, subMessageHashes, self.extend(request, params), subMessageHashes, subscription
|
|
66
|
+
return await self.watch_multi_ticker_helper(
|
|
67
|
+
"watchBidsAsks", "bookTicker", symbols, params, isUnsubscribe=True
|
|
125
68
|
)
|
|
126
69
|
|
|
127
70
|
def parse_ohlcv(self, ohlcv, market=None):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/exchanges/bitfinex/bitfinex_account.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/exchanges/hyperliquid/__init__.py
RENAMED
|
File without changes
|
{qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/exchanges/hyperliquid/account.py
RENAMED
|
File without changes
|
{qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/exchanges/hyperliquid/broker.py
RENAMED
|
File without changes
|
{qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/connectors/ccxt/exchanges/hyperliquid/hyperliquid.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/resources/instruments/hyperliquid.f-perpetual.json
RENAMED
|
File without changes
|
{qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/resources/instruments/symbols-binance-spot.json
RENAMED
|
File without changes
|
{qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/resources/instruments/symbols-binance.cm-future.json
RENAMED
|
File without changes
|
{qubx-1.2.3.dev3 → qubx-1.2.3.dev4}/src/qubx/resources/instruments/symbols-binance.cm-perpetual.json
RENAMED
|
File without changes
|