Skip to main content

Προσομοίωση πρόκλησης prop-firm

Λιανικές prop φίρμες (FTMO-στυλ) πούλησαν αξιολόγησης λογαριασμούς: έμπορος πρέπει χτυπήστε κέρδος στόχο κατά παραμονή εντός κινδύνου όρια (μέγιστο καθημερινή απώλεια, μέγιστο συνολό/trailing αναλήψεις, συνέπεια, χρόνο όρια) πριν χρηματοδότηση. cMind αφήνει χρήστη δημιουργία προσαρμοσμένη πρόκληση κάθε βιομηχανία σχήμα, δεσμευμένη σε TradingAccount, τρέχουν σαν αντιγραφή-διαπραγμάτευσης λειτουργία — ξεκίνησε/διακοπή, φιλοξενείς σε κόμβο, ιχνηλατούμενο ζωντανό πάνω cTrader Open API. Aggregate αξιολογεί κάθε κανόνα ντερμινιστικό. σε πέρασμα ή παραβίαση, τέλος πρόκληση, σημαρκό αυτό, ειδοποιώνει χρήστη.

Τομέας (φραγμένο περιεχόμενο: PropFirm)​

PropFirmChallenge = aggregate ρίζα (λειτουργική μονάδα Core.PropFirm), αναφορές του TradingAccount κατά ισχυρό αναγνωριστικό μόνο (χωρίς cross-aggregate FK). Κατέχει κανόνας αξιολόγηση, φάση/κατάσταση μηχανή, κόμβο κάθιση.

Αντικείμενα αξιών & κανόνας σύνολο​

  • Money (μη αρνητικό), MoneyAmount (υπογεγραμμένα), Percent (0–100], TradingDayRequirement (0–365).
  • EquitySnapshot (ίδια κεφάλαια, ισοζύγιο) — διαβάστε τροφοδότηση σε aggregate.
  • ActivitySnapshot (openPositions, openedInNewsWindow, holdingOverWeekend) — δεν ίδια κεφάλαια γεγονότα.
  • DailyLossLimit (ποσοστό, βάση) — βάση Equity (intraday, περιλαμβάνει πλέον P&L) ή Balance (διακοπή μόνο).
  • DrawdownLimit — Static (από αρχική ισοζύγιο), TrailingPercent (από κορυφή ίδια κεφάλαια), ή TrailingThresholdDollar (αχνάρια ίδια κεφάλαια κορυφή κατά σταθερό δολάριο ποσοστό, στη συνέχεια κλειδώνει σε αρχική ισοζύγιο μόλις ίδια κεφάλαια φτάνει κατώφλι — futures-στυλ).
  • ConsistencyRule (maxSingleDayShareOfProfit) — αποκλείει πέρασμα ενώ μία ημέρα κυριαρχεί συνολό κέρδος.
  • ChallengeRules φέρει παραπάνω συν MaxCalendarDays, MaxInactivityDays, MaxOpenPositions, AllowWeekendHolding, AllowNewsTrading, Kind, SingleStep. Κανόνας μαθηματικά ζουν σε VO (DrawdownLimit.IsBreached, DailyLossLimit.IsBreached, ConsistencyRule.IsSatisfied). aggregate ορχηστρώνεται.

Πρόκληση είδη & πρότυπα​

ChallengeTemplates.For(kind) κτίζει έγκυρο προεπιλογή για OnePhase, TwoPhase, ThreePhase, InstantFunding, ή Custom (πλήρης έλεγχος). UI προ-γεμίσματα πρότυπο. χρήστης μπορώ να προσαρμόστε κάθε πεδίο.

Φάσεις & κατάσταση​

  • Φάσεις: Evaluation → Verification → Funded (ενιαίο-βήμα παραλήψεις Verification).
  • Κατάσταση: Active, Passed, Failed, συν κύκλο ζωής Stopped (ιχνηλάτηση διακοπή) — Create αρχή πρόκληση Active. Stop()/Resume() διακοπή Active↔Stopped.
  • BreachReason: DailyLoss, MaxDrawdown, Consistency, TimeLimit, Inactivity, WeekendHolding, NewsTrading, MaxExposure.

Κανόνας αξιολόγηση​

  • RecordEquity(EquitySnapshot, now) — κυλιέται διαπραγμάτευσης ημέρα σε ημέρα όρια (συλλαμβάνει προηγούμενο ημέρα κέρδος για συνέπεια κανόνας), ενημερώσεις κορυφή/καθημερινή κορυφή, στη συνέχεια αποτυγχάνει σε πρώτο παραβίαση (καθημερινή απώλεια → αναλήψεις → χρόνο όριο → αδράνεια, σε αριθμητική σειρά) ή προχωρά φάση όταν κέρδος στόχο, ελάχιστο-διαπραγμάτευσης-ημέρα, συνέπεια απαιτήσεις όλα πληροφοριακή. Έξω-σειράς στιγμιότυπα και αρχεία σε τερματικό πρόκληση ρίχτε DomainException.
  • RecordActivity(ActivitySnapshot, now) — αξιολογεί συμπεριφορά κανόνα (μέγιστο ανοικτό θέσεις, σαββατοκύριακο δυνατότητα κράτησης, ειδήσεις διαπραγμάτευσης), σφραγίδες δραστηριότητα για αδράνεια κανόνας.
  • Mягкий PropFirmDrawdownWarning πυρά μία φορά όταν ίδια κεφάλαια χρήση διασταυρώσεις ρύθμιση κατώφλι.

Τομέας συμβάντα: PropFirmChallengeStarted, PropFirmChallengeStopped, PropFirmPhasePassed, PropFirmChallengePassed, PropFirmChallengeBreached, PropFirmDrawdownWarning.

Ζωντανό ιχνηλάτηση (Εκτέλεση) — κόμβο-φιλοξενείς, αυτο-θεραπείες​

Ιχνηλάτηση κατοπτρίζει αντιγραφή-διαπραγμάτευσης φιλοξενείες στοίβα ακριβώς. prop ιχνηλάτης = διαβάστε-μόνο συγγενής του αντίγραφο κινητήρας.

  • PropFirmTrackingSupervisor (src/Nodes/PropFirm) — BackgroundService σε κάθε κόμβο, πύλη σε App:PropFirm:Enabled. Κάθε κύκλο αξιώσεις ενεργό προκλήσεις σε αυτο-θεραπείες κάθιση (AssignedNode + LeaseExpiresAt. νεκρό κόμβο προκλήσεις ανακτημένα μόλις κάθιση lapses — ίδιο ατομικό ExecuteUpdate αξίωση ως αντιγραφή διαπραγμάτευσης, έτσι δύο κόμβι ποτέ διπλό-ιχνηλάτηση), ανανεώνει κάθισης, ωθεί περιστροφή tokens σε θέση, σταματά κεντρικού host του οποίου πρόκληση αριστερό Active.
  • PropFirmTrackingHost (src/Nodes/PropFirm) — ένα ανά πρόκληση. Ανοίγει IOpenApiTradingSession για λογαριασμό και, σε App:PropFirm:EquityPollInterval, recomputes ζωντανό ίδια κεφάλαια, τροφοδότης σε aggregate. Ανταλλαγές πρόσβαση token σε θέση σε περιστροφή (χωρίς συνοδος απόθεμα). Έξοδοι όταν πρόκληση όχι πλέον Active.
  • PropFirmEquityCalculator (src/CTraderOpenApi/Client) — cTrader-πιστή ίδια κεφάλαια μαθηματικά. Ίδια κεφάλαια δεν παραδίδεται από Open API, έτσι προκύπτων: ίδια κεφάλαια = ισοζύγιο + Σ(ανακτάμενα P&L), όπου κάθε θέση P&L είναι priceDifference × μονάδες × προσφορά→κατάθεση ποσοστό + ανταλλαγή + προμήθεια (μονάδες = σύρμα όγκο / 100. μακρύ revalues σε προσφορά, σύντομο σε ερώτηση). Ισοζύγιο από ProtoOATrader. θέσεις (εισόδου τιμή, ανταλλαγή, προμήθεια) από συμφωνία. ζωντανό προσφορά/ερώτηση από σημείο συνδρομές. Καθαρό και απομονώθηκε — νόμισμα-μετατροπή καυτό σημείο ενότητα-δοκιμάστηκε σε δικό του.

Ειδοποιήσεις​

PropFirmAlertNotifier (src/Infrastructure/PropFirm) εγγραφή σε πέρασμα/παραβίαση/προειδοποίηση τομέας συμβάντα (εγγραφή ως IDomainEventHandler<>, δρομολογούμενος μετά επιτυχής SaveChanges), ειδοποιώνει χρήστη διαμέσου δομημένη ειδοποίηση/ελεγκτική λογιστική (LogMessages). Ζωντανό UI αντανακλά ίδιο κατάσταση αλλαγή. Αυτό = cross-context αντίδρασης — ποτέ mutates πρόκληση aggregate.

API (/api/prop-firm, δυνατότητα PropFirm, ρόλο User+)​

ΜέθοδοςΔιαδρομήΣκοπός
GET/challengesλίστα χρήστη προκλήσεις (είδος, φάση, κατάσταση, ζωντανό ίδια κεφάλαια, κάθιση)
GET/challenges/{id}ένα πρόκληση
GET/templatesβιομηχανία προεπιλογή για δημιουργία διάλογος
POST/challengesδημιουργία από πρότυπο ή πλήρως προσαρμοσμένη κανόνας σύνολο
POST/challenges/{id}/startβιογραφικό ιχνηλάτηση (Stopped → Active)
POST/challenges/{id}/stopστάση ιχνηλάτηση (Active → Stopped, απελευθέρωση κάθιση)
POST/challenges/{id}/equityαρχείο ίδια κεφάλαια στιγμιότυπο → re-αξιολόγηση (χειροκίνητα/χωρίς-ζωντανό-τροφοδοσία διαδρομή)
DELETE/challenges/{id}mягкий-διαγραφή (αποκλειστικό ενώ Active)

MCP: Mcp/Tools/PropFirmTools.cs εκθέση λίστα/δημιουργία(από πρότυπο)/αρχείο-ίδια κεφάλαια/έναρξη/σταματά, πύλη σε PropFirm δυνατότητα.

UI: /prop-firm (nav Prop Firm, πύλη κατά PropFirm σημαία) λίστα προκλήσεις με Έναρξη/Διακοπή/Διαγραφή σειρά ενέργειες (Έναρξη όταν Stopped, Διακοπή όταν Active, Διαγραφή απενεργοποιημένη ενώ Active), δημιουργία αυτά μέσα NewPropFirmChallengeDialog (πρότυπο χόμπι + πλήρης κανόνας επεξεργαστής). Όλα δημιουργία/επεξεργασία μέσω MudBlazor διάλογος.

Ζωντανό ίδια κεφάλαια τροφοδοσία — επιλύθηκε​

Νωρίτερα "χωρίς ζωντανό λογαριασμό P&L τροφοδοσία" κενό κλειστό: όταν App:PropFirm:Enabled ορίστηκε, κόμβι ιχνηλάτηση λογαριασμό ζωντανό πάνω Open API, τροφοδοσία ίδια κεφάλαια αυτόματα. Χωρίς αυτό (προεπιλογή), τομέας και χειροκίνητα-ίδια κεφάλαια διαδρομή (POST …/equity) τρέχουν αμετάβλητα — χωρίς cTrader διαπιστευτήρια που χρειάζονται για κτίριο/δοκιμή/E2E.

Δοκιμές​

  • Ενότητα — UnitTests/PropFirm/: PropFirmChallengeTests (φάση προχώρηση, ελάχιστη-ημέρες, στατικό/trailing αναλήψεις, καθημερινή απώλεια, τερματικό/έξω-σειράς φρουροί). PropFirmChallengeRulesTests (ισοζύγιο κατά ίδια κεφάλαια καθημερινή-απώλεια βάση, trailing-κατώφλι-δολάριο trail+κλείδωμα, συνέπεια μπλοκ/επιτρέπουν, χρόνο-όριο, αδράνεια, μέγιστο-έκθεση, σαββατοκύριακο, ειδήσεις, στάση/βιογραφικό, κάθιση όριο, πέρασμα απελευθέρωση κάθιση, αναλήψεις προειδοποίηση). PropFirmValueObjectTests (VO κύκλι + κανόνας-VO μαθηματικά). PropFirmEquityCalculatorTests (μακρύ/σύντομο P&L, ανταλλαγή/προμήθεια, προσφορά→κατάθεση μετατροπή, λείπα τιμολόγηση). PropFirmTrackingHostTests (ζωντανό ίδια κεφάλαια μονάδες πέρασμα/αποτυχία κατά επέκταση ψεύτικα συνοδος). PropFirmAlertNotifierTests. Χρόνο ρητό / FakeTimeProvider — χωρίς wall-ρολόι διαβάζει.
  • Ολοκλήρωση — IntegrationTests/: PropFirmChallengePersistenceTests (γύρω-τρίπλα + αρχείο-ίδια κεφάλαια + mягкой-διαγραφή, εμπλουτίστηκε-κανόνα + κάθιση γύρω-τρίπλα) και PropFirmTrackingLeaseTests (αξίωση, διαφιλονικούμενο κάθιση, ανακτήστε μετά lapses διαμέσου δύο κόμβο ταυτότητες) σε πραγματικό Postgres.
  • E2E — E2ETests/PropFirmTests.cs: δημιουργία + αρχείο-ίδια κεφάλαια σε Passed. σταματά→έναρξη→παραβίαση ροή. πρότυπα τελικό σημείο.
  • Stress / DST — StressTests/PropFirm/PropFirmChallengeDstTests.cs: σπόρος ρυθμοποιημένα ίδια κεφάλαια/δραστηριότητα ρεύματα (ημέρα κυλιέται, αιχμές, συντριβές, διπλό + έξω-σειράς στιγμιότυπα, έκθεση/σαββατοκύριακο/ειδήσεις) διαμέσου πολλά μικτό-κανόνας προκλήσεις, επιβεβαίωση τσαμπί ακριβώς-μία φορά τερματικό κατάστασης, κορυφή-όρια-τρέχων αναλλοίωτο, λογισμένο αποτυχίες.

Ρύθμιση (App:PropFirm)​

Enabled (από προεπιλογή), ReconcileInterval, EquityPollInterval, LeaseTtl, DrawdownWarnThresholdPercent, NodeName.