Spaces:
Running
Running
Deploy Aureon OS (deploy/selfhost stack: nginx edge + fusion API x2 + console + HNC organ + redis + postgres; paper mode) (part 19)
da0ce7b verified Download scripts/diagnostics/debug_orca_binance.py from GaryLeckey/aureon-os: direct link, hf CLI and curl.
- Browser
- Download file 3.86 kB
-
https://huggingface.co/spaces/GaryLeckey/aureon-os/resolve/main/scripts/diagnostics/debug_orca_binance.py
- Command line
-
hf download hf://spaces/GaryLeckey/aureon-os/scripts/diagnostics/debug_orca_binance.py
-
curl -L -o debug_orca_binance.py https://huggingface.co/spaces/GaryLeckey/aureon-os/resolve/main/scripts/diagnostics/debug_orca_binance.py
3.86 kB
| from aureon_baton_link import link_system as _baton_link; _baton_link(__name__) | |
| import os | |
| import sys | |
| # Add workspace root to path | |
| sys.path.append("/workspaces/aureon-trading") | |
| from orca_complete_kill_cycle import OrcaKillCycle as Orca | |
| from binance_client import BinanceClient, get_binance_client | |
| # Initialize Orca properly | |
| orca = Orca() | |
| # Force add binance client if not added (it usually loads from env) | |
| if 'binance' not in orca.clients: | |
| print("Warning: Binance client not in orca.clients, attempting manual load") | |
| orca.clients['binance'] = BinanceClient() | |
| orca.clients['binance'].uk_mode = True # Ensure UK mode is on for repro | |
| print(f"Has Binance Client: {'binance' in orca.clients}") | |
| if 'binance' in orca.clients: | |
| print(f"Binance UK Mode: {orca.clients['binance'].uk_mode}") | |
| # We need to monkey patch the _scan_binance_market to see what's inside, or just run it and see. | |
| # But running it as is produced 0 results before. | |
| # Let's write a modified version of the function here and run it to see diagnostics. | |
| def debug_scan_binance(self, min_change_pct: float, min_volume: float): | |
| print("DEBUG: Entering scan...") | |
| opportunities = [] | |
| client = self.clients.get('binance') | |
| if not client: | |
| print("DEBUG: No client") | |
| return opportunities | |
| try: | |
| url = f"{client.base}/api/v3/ticker/24hr" | |
| print(f"DEBUG: Fetching {url}") | |
| r = client.session.get(url, timeout=10) | |
| print(f"DEBUG: Status Code: {r.status_code}") | |
| if r.status_code != 200: | |
| return opportunities | |
| tickers = r.json() | |
| print(f"DEBUG: Total tickers fetched: {len(tickers)}") | |
| count_restricted = 0 | |
| count_futures_lookalike = 0 | |
| count_zero_price = 0 | |
| count_low_change = 0 | |
| count_passed = 0 | |
| for ticker in tickers: | |
| try: | |
| symbol = ticker.get('symbol', '') | |
| if not symbol: | |
| continue | |
| # 🇬🇧 UK Mode Check | |
| if client.uk_mode and client.is_uk_restricted_symbol(symbol): | |
| count_restricted += 1 | |
| continue | |
| # Futures/Margin Check | |
| if any(x in symbol for x in ['_', 'BULL', 'BEAR', 'UP', 'DOWN']): | |
| count_futures_lookalike += 1 | |
| continue | |
| last_price = float(ticker.get('lastPrice', 0)) | |
| change_pct = float(ticker.get('priceChangePercent', 0)) | |
| volume = float(ticker.get('quoteVolume', 0)) # Using quote volume | |
| if last_price <= 0: | |
| count_zero_price += 1 | |
| continue | |
| if abs(change_pct) < min_change_pct: | |
| count_low_change += 1 | |
| continue | |
| # Passed all checks | |
| count_passed += 1 | |
| # Just print the first 5 passed ones | |
| if count_passed <= 5: | |
| print(f"DEBUG: Passed: {symbol} Scan Change: {change_pct}% Vol: {volume}") | |
| except Exception as e: | |
| pass | |
| print(f"DEBUG: Summary:") | |
| print(f" Restricted (UK): {count_restricted}") | |
| print(f" Futures Lookalike: {count_futures_lookalike}") | |
| print(f" Zero Price: {count_zero_price}") | |
| print(f" Low Change (<{min_change_pct}%): {count_low_change}") | |
| print(f" Passed: {count_passed}") | |
| except Exception as e: | |
| print(f"DEBUG: Error: {e}") | |
| # Run the debug function | |
| debug_scan_binance(orca, min_change_pct=0.5, min_volume=1000) | |