Skip to main content

Πίνακας ελέγχου 📊

Το πρώτο πράγμα που βλέπετε όταν συνδέεστε, και ειλικρινά η σελίδα που θα αφήσετε ανοικτή όλη την ημέρα. Η σελίδα προσγείωσης (/, Components/Pages/Index.razor) είναι ένα ζωντανό, κινητή-πρώτα κέντρο εντολών για το δραστηριότητα του υπογεγραμμένου χρήστη σε όλα τα τρέχοντα cBot, backtests, πόρους και (για διαχειριστές) το κόμβο σύμπλεγμα. Ανανεώνεται ο εαυτός του, φαίνεται υπέροχα σε ένα τηλέφωνο, και ποτέ δεν σας κάνει χτύπημα F5.

Τι δείχνει​

Από την κορυφή προς τα κάτω, προτεραιότητα-παραγγελίας για ένα τηλέφωνο (κάθε μπλοκ είναι ένα πλήρες πλάτος στοίβα στοιχείο σε κινητό, ένα αποκριτικό πλέγμα σε tablet/desktop):

  1. Κεφαλίδα — τίτλος, ένας ζωντανός δείκτης (ένα πραγματικό παλμικό σημείο. στατικό κάτω από prefers-reduced-motion), το ώρα τελευταία ενημέρωση, και ένα περίοδος εναλλαγή (1H · 24H · 7D · 30D) που μονάδες τα KPI και διάγραμμα.
  2. Ήρωας KPI — τέσσερα ένα ματιά κάρτες, κάθε ένα μεγάλο αριθμό + ένα σχεδίασμα ένα σημείο SVG, και (όπου σημαντικό) ένα δέλτα κατά την προηγούμενη περίοδο:
    • Ενεργό τώρα — τρέχει + backtests τώρα έναρξη/τρέχοντας.
    • Ποσοστό επιτυχίας — ολοκληρωμένα ÷ (ολοκληρωμένα + απέτυχε) πάνω περίοδο. δέλτα σε ποσοστιαία σημεία.
    • Ολοκληρωμένα — τελειωμένα τρέχει/backtests αυτή περίοδο. δέλτα κατά την προηγούμενη περίοδο.
    • Απέτυχε — αποτυχίες αυτή περίοδο. δέλτα (λιγότερο καλύτερη, έτσι ένα απόθεμα δείχνει πράσινο).
  3. Δραστηριότητα διάγραμμα — ένα ApexCharts περιοχή χρονολόγιο του ξεκίνησε / ολοκληρωμένα / απέτυχε ανά χρόνο bucket.
  4. Παράδειγμα κατάσταση δακτύλιο — ένα donut του τρέχει / backtests / εκκρεμής / ολοκληρωμένα / απέτυχε, σύνολο σε το κέντρο.
  5. Backtests — ένα τρία-πλακέτα στιγμιότυπο (τρέχοντας / ολοκληρωμένα / απέτυχε), κάντε κλικ μέσα σε /backtest.
  6. Αντιγραφή διαπραγμάτευσης — τα δικά σας αντιγραφή-διαπραγμάτευσης προφίλ με ένα ζωντανό κατάσταση σημείο, προορισμού αριθμό, και ένα Ζωντανό σήμα σε τρέχοντας προφίλ. κάντε κλικ μέσα σε /copy-trading.
  7. AI πράκτορες — η προσωπικότητα-οδήγηση διαπραγμάτευσης πράκτορες με τρέχει κατάσταση (αρχέτυπο · κατάσταση) και τελευταία ενέργεια χρόνο. κάντε κλικ μέσα σε /agent-studio.
  8. Ζωντανό δραστηριότητα τροφοδοσία — το 20 πλέον πρόσφατα συμβάντα (νεότερο πρώτα) με ένα κατάσταση-χρωματιστό σημείο και α σχετική σφραγίδα.
  9. Σύμπλεγμα υγείας (διαχειριστές μόνο) — ενεργή-κατά-συνολο κόμβι και ένα χωρητικότητα-σε-χρήση μέτρο.
  10. Πόρο πλακέτες — cBots, διαπραγμάτευσης λογαριασμούς, cTrader αναγνωριστικά, MCP κλειδιά (κάντε κλικ μέσα σε τις σελίδες τους).

Προσαρμόστε το πίνακα ελέγχου σας​

Κάθε μπλοκ πάνω είναι ένα widget είστε έλεγχος. Χτυπήστε Προσαρμογή (πάνω δεξιά του κεφαλίδα) για άνοιγμα α διάλογος όπου εμφάνιση/απόκρυψη κάθε widget και reorder τους με πάνω/κάτω βέλη. Επαναφορά προεπιλογή επαναφορά ο κατάλογο διαταγή. Η επιλογή σας είναι αποθηκευμένο διακομιστή-πλευρά ανά χρήστη, έτσι ακολουθεί σας διαμέσου πρόγραμμα περιήγησης και συσκευές — όχι ακριβώς αυτό καρτέλα.

  • Δυνατότητα-πύλη και διαχειριστής-μόνο widget (αντιγραφή διαπραγμάτευσης, AI πράκτορες, σύμπλεγμα υγείας) μόνο εμφανίζεται στο διάλογος όταν ανάπτυξη/ρόλος μπορώ να χρησιμοποιήσετε αυτά.
  • Το widget κατάλογο είναι ένα ενιαίο πηγή αλήθειας σε Core/Dashboard/DashboardWidgets.cs. παρουσίαση (ετικέτα + εικονίδιο + διαθεσιμότητα) ζει σε Components/Dashboard/DashboardWidgetMeta.cs.

Πώς παραμένει ζωντανό​

Η σελίδα δημοσκοπεί GET /api/dashboard/overview?period=<1h|24h|7d|30d> κάθε 10 δευτερόλεπτα και επαναδίδει τη widget σε θέση — χωρίς χειροκίνητα επαναφορτώνω. Ένα παροδικό φέρει αποτυχία είναι χωμένα και επανάληψη σε το επόμενο κλικ. η βρόχος διακοπές καθαρά σε άφθονο. Το πρώτο φόρτωμα δείχνει ένα σκελετό. ένα ισχυρό αποτυχία δείχνει μια λάθος κάρτα με Επανάληψη. ένας χρήστης με όχι δεδομένα βλέπει μηδενισμένα KPI και κενό-κατάσταση αντίγραφο.

Πίσω άκρο​

  • Endpoints/DashboardEndpoints.cs χάρτης /overview (και κρατά τη παλαιότερη κλιμακωτή /stats). Είναι ανά χρήστη και διαχειριστής-πύλη μέσω ICurrentUser. το ρολόι έρχεται από TimeProvider. Ενέχει επίσης χάρτης GET/PUT /api/dashboard/layout — το χρήστη widget διάταξης, φορτωμένο σε σελίδα αρχή και αποθηκευμένο από το Προσαρμογή διάλογος.
  • Διάταξη αποθήκευσης είναι το UserDashboard aggregate (Core/Dashboard/UserDashboard.cs): ένα πίνακας ανά χρήστη (μοναδικό σε UserId), ιδιοκτησία ένα διατηρημένη κατάλογο widget ρυθμίσεις (ορατό + διαταγή) αποθήκευση ως α jsonb στήλη. Η διατηρημένη κατάλογο είναι μόνο ποτέ μεταλλάξεται μέσω Apply / Reset, το οποίο επικύρωση κάθε κλειδί κατά τον DashboardWidgets κατάλογο και κρατήστε το συλλογή ολοκληρωμένα και de-duplicated. Άγνωστο κλειδιά απορρίπτονται με DomainException → 400.
  • Endpoints/DashboardQuery.cs κτίζει το σύνθετο DashboardOverview διαβάστε μοντέλο: ένα όλη-χρόνου κατάσταση στιγμιότυπο (ομάδα προσπάθειες), ένα windowed σύνολο παρουσίες υλοποιημένο μία φορά, και πόρο/κόμβο προσπάθειες. Παράδειγμα κατάσταση και τερματικό σφραγίδες ζουν σε TPH subtypes (δεν στήλες), έτσι σειρές είναι διαβάστε σε μνήμη μέσω κοινής InstanceEndpoints.GetStartedAt/GetStoppedAt βοηθός. Συμβάν χρόνο = stopped ?? started ?? created.
  • Endpoints/DashboardModels.cs κρατά τα DTOs, περίοδο→(παράθυρο, bucket-count) σχέδιο, και DashboardMath — καθαρό, ντερμινιστικό bucketing + KPI/δέλτα μαθηματικά (χωρίς I/O, τώρα έχει περάσει σε).

KPI δέλτα συγκρίνετε το τρέχον παράθυρο κατά την άμεσα προηγούμενο (το ερώτημα φέρει ένα διπλό παράθυρο γι' αυτό). Υπάρχει χωρίς ζωντανό λογαριασμό P&L τροφοδοσία — η πλατφόρμα μόνο έχει ίδια κεφάλαια για backtests και prop-firm ιχνηλάτηση — έτσι ο πίνακας ελέγχου είναι σκόπιμα λειτουργικό (δραστηριότητα, αναλογική, ποσοστό επιτυχίας), δεν ένα κομίστη ισοζύγιο κροτίδα.

Σχέδιο & tokens​

Όλα χρώμα έρχεται από σχέδιο tokens (var(--app-success|-warning|-error|-info|-primary|-text*)), έτσι ένα λευκό-ετικέτα παλέτα ρέει μέσα για δωρεάν — συμπεριλαμβάνονται το διάγραμμα, του οποίου σειρά χρώματα είναι διαβάστε από το επιλυμένα tokens κατά τη διάρκεια runtime μέσω window.appReadTokens (SVG δεν μπορώ να καταναλώσετε CSS μεταβλητές απευθείας). Χωρίς σκληρό-κωδικοποιημένα hex οπουδήποτε στο πίνακας ελέγχου. Δείτε ../ui-guidelines.md.

Το "Powered by cMind" σύνδεσμο​

Ο πίνακας ελέγχου δείχνει ένα μικρό, γεύση "Powered by cMind" σύνδεσμο το οποίο δείχνει σε αυτό τεκμηρίωση τοποθεσία. Είναι εμφανίζεται από προεπιλογή — είμαστε υπερήφανοι του έργου και ενισχύει άλλα επιπόλαιων να βρουν αυτό — αλλά είναι εντελώς δικό σας κλήση. Resellers τρέχοντας ένα πλήρως λευκό-ετικέτα παράδειγμα flip App:Branding:ShowSiteLink σε false και αυτό εξαφανίζεται. Δείτε Λευκό-ετικέτα κοσμήματος.

Δοκιμές​

  • Ενότητα-στυλ (tests/IntegrationTests/DashboardMathTests.cs) — bucketing, ποσοστό επιτυχίας, προηγούμενο-περίοδο δέλτα, περίοδο ανάλυση, κενό/όριο (συμβάν σε τώρα, διαίρεση-κατά-μηδέν φρουρό).
  • Ενότητα (tests/UnitTests/Dashboard/UserDashboardTests.cs) — το UserDashboard aggregate: προεπιλογή σπόρος, εφαρμογή διαταγή/ορατότητα, append-παραληφθεί, διπλό-κατάρρευση, άγνωστο-κλειδί απόρριψη, επαναφορά.
  • Ολοκλήρωση (tests/IntegrationTests/DashboardQueryTests.cs, DashboardLayoutTests.cs) — το διαβάστε μοντέλο κατά πραγματικό Postgres (κατάσταση/KPI/δραστηριότητα/πόρι, διαχειριστής κόμβο υγείας, κενό-χρήστη διαδρομή), το νέο backtests/copy-profiles/agents τμήματα, και μια διάταξη γύρω-τρίπλα (σώζω προσαρμοσμένη διάταξη → επαναφόρτωση → διαταγή + ορατότητα ισχύει).
  • E2E (tests/E2ETests/DashboardTests.cs, DashboardCustomizeTests.cs) — desktop + κινητό: KPI κάρτες, διάγραμμα, δακτύλιο και τροφοδοσία εμφάνιση. περίοδο εναλλαγή ανταλλαγές η ενεργό περίοδο και επαναφορτώνω. ένα KPI drills διαμέσου σε /run. απόκρυψη ένα widget ισχύει διαμέσου ένα επαναφόρτωση, Επαναφορά φέρνει αυτό πίσω, και η προσαρμογή διάλογος εργάζεται σε ένα τηλέφωνο με χωρίς οριζόντιο overflow. / είναι επίσης σε PageSmokeTests, MobileLayoutTests (κοχύλι + χωρίς-overflow) και MobileJourneyTests.