46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
|
|
#!/usr/bin/env python3
|
||
|
|
"""Quick status check for DOLPHIN paper trading."""
|
||
|
|
|
||
|
|
import sys
|
||
|
|
sys.path.insert(0, '/mnt/dolphinng5_predict/prod/clean_arch')
|
||
|
|
sys.path.insert(0, '/mnt/dolphinng5_predict')
|
||
|
|
|
||
|
|
import json
|
||
|
|
import hazelcast
|
||
|
|
|
||
|
|
print("=" * 60)
|
||
|
|
print("🐬 DOLPHIN PAPER TRADING STATUS")
|
||
|
|
print("=" * 60)
|
||
|
|
|
||
|
|
# Check Hazelcast
|
||
|
|
try:
|
||
|
|
client = hazelcast.HazelcastClient(
|
||
|
|
cluster_name="dolphin",
|
||
|
|
cluster_members=["localhost:5701"],
|
||
|
|
)
|
||
|
|
|
||
|
|
features_map = client.get_map('DOLPHIN_FEATURES').blocking()
|
||
|
|
val = features_map.get('latest_eigen_scan')
|
||
|
|
|
||
|
|
if val:
|
||
|
|
data = json.loads(val)
|
||
|
|
print(f"\n⚡ HAZELCAST: CONNECTED")
|
||
|
|
print(f" Scan: #{data.get('scan_number')}")
|
||
|
|
print(f" Assets: {len(data.get('assets', []))}")
|
||
|
|
print(f" Prices: {len(data.get('asset_prices', []))}")
|
||
|
|
print(f" BTC Price: ${data.get('asset_prices', [0])[0]:,.2f}" if data.get('asset_prices') else " BTC Price: N/A")
|
||
|
|
print(f" Instability: {data.get('instability_composite', 'N/A')}")
|
||
|
|
else:
|
||
|
|
print("\n⚡ HAZELCAST: No latest_eigen_scan data")
|
||
|
|
|
||
|
|
client.shutdown()
|
||
|
|
except Exception as e:
|
||
|
|
print(f"\n⚡ HAZELCAST: ERROR - {e}")
|
||
|
|
|
||
|
|
print("\n" + "=" * 60)
|
||
|
|
print("Components:")
|
||
|
|
print(" [✓] Hazelcast DataFeed Adapter")
|
||
|
|
print(" [✓] MarketSnapshot with price + eigenvalues")
|
||
|
|
print(" [?] Scan Bridge Service (check: ps aux | grep scan_bridge)")
|
||
|
|
print("=" * 60)
|