# 🎯 Complete Order Flow System - Architecture

## System Overview

```
┌─────────────────────────────────────────────────────────────────┐
│                      BINANCE WEBSOCKET (24/7)                   │
│              Real-time order book data (100ms)                 │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│                   CONTINUOUS COLLECTOR (24/7)                    │
│         Streams data to SQLite (binance_multi_asset.db)         │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│              SIGNAL GENERATOR (Every 60 seconds)                │
│  1. Process latest order book snapshots                        │
│  2. Generate 1,000+ signals                                    │
│  3. Select BEST signal (closest to current price)              │
│  4. Add CFD prices for Gold                                    │
│  5. Archive ALL signals for Graph RAG                          │
│  6. Track new signal in performance DB                         │
└─────────────────────────────────────────────────────────────────┘
         ↓                          ↓                          ↓
┌──────────────────┐    ┌──────────────────┐    ┌──────────────────┐
│   SINGLE SIGNAL  │    │  GRAPH RAG ARCHIVE│    │  PERFORMANCE DB  │
│      (UI)        │    │   (Historical)   │    │   (Outcomes)     │
│                  │    │                  │    │                  │
│  1 best signal  │    │  All 1,000+      │    │  Win/Loss tracking│
│  per asset      │    │  signals         │    │  Accuracy metrics│
└──────────────────┘    └──────────────────┘    └──────────────────┘
         ↓                          ↓                          ↓
┌─────────────────────────────────────────────────────────────────┐
│                         WEB UI (Live)                          │
│  • Single Signal Dashboard                                    │
│  • Performance Dashboard                                      │
│  • Auto-refresh every 30-60 seconds                           │
└─────────────────────────────────────────────────────────────────┘
```

---

## Data Flow Diagram

```
1. DATA COLLECTION (Continuous)
   Binance WebSocket → SQLite Database
   ├─ BTC order book
   ├─ ETH order book
   └─ Gold order book

2. SIGNAL GENERATION (Every 60s)
   SQLite → Signal Analysis → Best Signal
   ├─ 1,000+ signals generated
   ├─ 1 best signal selected (closest to price)
   ├─ CFD prices added (Gold only)
   └─ All signals archived for Graph RAG

3. PERFORMANCE TRACKING (Every 60s)
   Current Price → Active Signals → Outcomes
   ├─ Check if target/stop hit
   ├─ Close signals with profit/loss
   └─ Update performance metrics

4. UI DISPLAYS (Auto-refresh)
   JSON Files → Web Browser
   ├─ Single Signal: 1 best signal per asset
   ├─ Performance: Win rates, breakdowns
   └─ CFD Prices: Aligned for Gold trading
```

---

## File Structure

```
ORDER_FLOW_GRAPH/
├── data/
│   ├── binance_multi_asset.db          # Order book database
│   ├── signal_performance.db           # Performance tracking
│   └── historical_signals/            # Graph RAG archive
│       ├── btcusdt_signals_*.json
│       ├── ethusdt_signals_*.json
│       └── xautusdt_signals_*.json
│
├── outputs/
│   ├── data/
│   │   ├── realtime_summary_btcusdt.json    # Best BTC signal
│   │   ├── realtime_summary_ethusdt.json   # Best ETH signal
│   │   ├── realtime_summary_xautusdt.json  # Best Gold signal
│   │   └── performance_report.json         # Performance metrics
│   │
│   ├── single_signal.html              # Single signal UI
│   ├── performance.html                # Performance dashboard
│   └── realtime.html                   # Alternative UI
│
└── scripts/
    ├── collect_multi_asset.py          # WebSocket collector
    ├── generate_multi_asset_signals.py # Generate 1,000+ signals
    ├── generate_single_signal.py       # Select best 1 signal
    ├── signal_tracker.py               # Track new signals
    ├── check_signal_outcomes.py        # Check for wins/losses
    ├── realtime_signal_tracker.py      # Auto-tracker (runs 24/7)
    ├── start_continuous_collector.sh   # Start collector
    └── stop_continuous_collector.sh    # Stop collector
```

---

## Key Metrics

### Signal Quality
- **Generation Rate:** 1,000+ signals per update
- **Selection Criteria:** Closest to current price
- **Minimum Quality:** ≥85% confidence, ≥3.0 RR
- **UI Display:** Only 1 signal per asset

### Performance Tracking
- **Tracking:** Every signal from entry to exit
- **Outcome Detection:** Automatic (target/stop hit)
- **Metrics:** Win rate, profit factor, avg win/loss
- **Breakdown:** By asset, type, direction

### Historical Archive
- **Storage:** ~1.6 MB per update cycle
- **Growth:** ~2.3 GB per day
- **Purpose:** Graph RAG pattern mining
- **Retention:** All signals (100%)

---

## Real-Time Dashboard Links

1. **Single Signal:** http://localhost:8080/single_signal.html
   - 1 best signal per asset
   - Closest to current price
   - CFD aligned for Gold

2. **Performance:** http://localhost:8080/performance.html
   - Win rates
   - Breakdown by asset/type/direction
   - Profit metrics

3. **Real-Time (Alt):** http://localhost:8080/realtime.html
   - Alternative view
   - Single signal with CFD

---

## Auto-Running Processes

### 1. Continuous Collector
```bash
PID: Running 24/7
Function: Stream order book data
Log: /tmp/order_flow_collector.log
```

### 2. Signal Generator
```bash
PID: Running 24/7
Function: Generate signals every 60s
Log: /tmp/realtime_single_signal_generator.log
```

### 3. Signal Tracker
```bash
PID: Running 24/7
Function: Track outcomes every 60s
Log: /tmp/realtime_signal_tracker.log
```

---

## System Status

✅ **All Systems Operational**

- WebSocket Collector: Running (24/7)
- Signal Generator: Running (every 60s)
- Signal Tracker: Running (every 60s)
- Performance Database: 3 signals tracked
- Historical Archive: Growing every 60s
- UI Dashboards: Live with auto-refresh

---

**🎯 Complete order flow system with tracking!**

**Single Signal:** http://localhost:8080/single_signal.html  
**Performance:** http://localhost:8080/performance.html
