28 Σεπτέμβριος 2026 · έρευνα

Η paper στρατηγική σου επανεκκινήθηκε με διαφορετική θέση: ένα γράμμα για την ανάκτηση κατάστασης

Η paper στρατηγική σου επανεκκινήθηκε με διαφορετική θέση: ένα γράμμα για την ανάκτηση κατάστασης

Μου είπες ότι η διεργασία paper trading κατέρρευσε μέσα στη νύχτα. Την επανεκκίνησες πριν από την επόμενη απόφαση, δεν είδες σφάλματα και υπέθεσες ότι συνέχισε από εκεί που είχε μείνει. Έπειτα υπέβαλε εντολή αγοράς για ένα asset που ήδη κατείχες. Θέλεις να μάθεις αν υπάρχει bug στη στρατηγική.

Μπορεί. Πρώτα, όμως, έλεγξε αν η διεργασία μετά την επανεκκίνηση γνωρίζει τα ίδια πράγματα με τον paper λογαριασμό. Η επανεκκίνηση είναι πρόβλημα ανάκτησης κατάστασης: οι θέσεις, τα μετρητά, οι ανοιχτές εντολές και κάθε μνήμη της στρατηγικής που επηρεάζει την επόμενη απόφαση πρέπει να συμφωνούν. Το να ξανατρέξει ο κώδικας είναι το εύκολο μέρος.

Τι πίστευε η στρατηγική πριν καταρρεύσει;

Κατέγραψε την τελευταία απόφαση που πήρε η διεργασία πριν σταματήσει. Για κάθε διαπραγματεύσιμο μέσο, σημείωσε την επιδιωκόμενη θέση, την πραγματική θέση του λογαριασμού, τις εκκρεμείς εντολές και την κατάσταση του σήματος που θα επηρεάσει την επόμενη ενέργεια. Αν δεν υπάρχουν αυτές οι καταγραφές, δεν μπορείς να ξεχωρίσεις αν η επανεκκίνηση επανέφερε την κατάσταση ή απλώς αρχικοποίησε μια νέα στρατηγική.

Ας πούμε ότι η ωριαία στρατηγική σου αγοράζει 1 μονάδα όταν το σήμα τάσης γίνεται θετικό και έπειτα κρατά τη θέση μέχρι να γίνει αρνητικό. Η διεργασία υποβάλλει την εντολή αγοράς στις 14:00, αλλά καταρρέει πριν καταγράψει ότι η εντολή έγινε αποδεκτή. Η paper πλατφόρμα την εκτελεί. Κατά την επανεκκίνηση, η στρατηγική δεν βλέπει καταγεγραμμένη θέση και το σήμα παραμένει θετικό, οπότε υποβάλλει άλλη μία εντολή αγοράς. Το σήμα λειτουργεί με συνέπεια. Η μνήμη της για το τι κατέχει ο λογαριασμός είναι παρωχημένη.

Γι’ αυτό, πριν επιτραπούν νέες εντολές, πρέπει να αντιπαραβληθεί η τρέχουσα θέση του λογαριασμού με την αποθηκευμένη κατάσταση της στρατηγικής. Ένα τοπικό στιγμιότυπο μπορεί να φανεί χρήσιμο, αλλά η αυθεντική πηγή για το τι εκτελέστηκε στην πράξη είναι ο λογαριασμός ή η πλατφόρμα.

Ποια κατάσταση πρέπει να διατηρείται μετά την επανεκκίνηση;

Ξεκίνα από την κατάσταση που μπορεί να αλλάξει την επόμενη εντολή. Διατήρησε μια μόνιμη καταγραφή με χρονική σήμανση και έκδοση σε κάθε ενημέρωση· κράτησε ένα αντίγραφο πριν αλλάξεις τη λογική ανάκτησης, ώστε να μπορείς αργότερα να αναπαράγεις την αστοχία.

ΚατάστασηΓιατί έχει σημασίαΈλεγχος ανάκτησης
Θέσεις και μετρητάΚαθορίζουν την έκθεση και την αγοραστική δύναμη που είναι διαθέσιμηΣύγκρινε τις αποθηκευμένες τιμές με τον paper λογαριασμό
Ανοιχτές εντολέςΜια εντολή μπορεί να εκτελέστηκε όσο η διεργασία ήταν εκτός λειτουργίαςΈλεγξε την κατάσταση της εντολής και συμφώνησε τις μερικές εκτελέσεις
Μνήμη σημάτωνΔιασταυρώσεις, περίοδοι αναμονής και περίοδοι διακράτησης μπορεί να εκτείνονται σε πολλές αποφάσειςΕπανέφερε τις τελευταίες οριστικοποιημένες εισόδους της απόφασης
Τελευταίο συμβάν που επεξεργάστηκεΚαθορίζει από ποιο σημείο συνεχίζει η στρατηγική να καταναλώνει δεδομέναΑναπαρήγαγε τα συμβάντα μετά από εκείνο το σημείο, χωρίς να τα εφαρμόσεις δύο φορές

Η μνήμη σημάτων είναι εύκολο να παραβλεφθεί. Μια στρατηγική που συναλλάσσεται σε μια διασταύρωση μπορεί να αποθηκεύει την τιμή του χθεσινού δείκτη για να εντοπίζει νέα διασταύρωση. Αν ξεκινήσει με κενή τιμή, μπορεί να εκλάβει μια συνθήκη που ήδη ισχύει ως νέο συμβάν. Το ίδιο πρόβλημα έχει και ο χρονοδιακόπτης περιόδου αναμονής: η επανεκκίνηση δεν πρέπει να μηδενίζει σιωπηρά έναν κανόνα που προοριζόταν να διατηρείται.

Πώς μπορείς να κάνεις την ανάκτηση επαναλήψιμη;

Δώσε σε κάθε εντολή ένα σταθερό client ID, παραγόμενο από την εκτέλεση της στρατηγικής και την απόφαση από την οποία προέκυψε. Αν η διεργασία επαναλάβει την προσπάθεια μετά από timeout, μπορεί να ελέγξει αν αυτή η απόφαση δημιούργησε ήδη εντολή, αντί να υποβάλει διπλότυπη. Κατέγραψε τις αλλαγές κατάστασης μόνο αφού επιβεβαιώσεις το αντίστοιχο συμβάν του λογαριασμού και διατήρησε τα ID των εντολών και των εκτελέσεων που εξηγούν την αλλαγή.

Έπειτα, δοκίμασε ακριβώς το σημείο που προκάλεσε το περιστατικό. Εκτέλεσε τη στρατηγική μέχρι να πάρει μια απόφαση, αποθήκευσε την κατάσταση, σταμάτησέ την και επανάφερέ την με τις θέσεις και το ιστορικό εντολών του paper λογαριασμού. Σύγκρινε την επόμενη απόφαση και τις εντολές που προκύπτουν με μια αδιάλειπτη εκτέλεση. Επανάλαβε με μια εντολή που εκτελέστηκε μερικώς και με κατάρρευση ανάμεσα στην υποβολή και την επιβεβαίωση. Η εκτέλεση μετά την επανεκκίνηση δεν πρέπει να επινοήσει νέα θέση ή να επαναλάβει ολοκληρωμένη ενέργεια.

Κράτα αρχείο καταγραφής ανάκτησης: τελευταίο συμβάν που επεξεργάστηκε, ώρα στιγμιότυπου του λογαριασμού, καταστάσεις ανοιχτών εντολών, έκδοση της στρατηγικής που επαναφέρθηκε και πρώτη απόφαση μετά την επανεκκίνηση. Έτσι, το «ξαναξεκίνησε» γίνεται κάτι που μπορείς να ελέγξεις.

Τι πρέπει να εμπιστεύεσαι μετά την επανεκκίνηση;

Εμπιστεύσου τη διεργασία μόνο αφού συμφωνούν η κατάσταση του λογαριασμού και της στρατηγικής, οι εκκρεμείς εντολές έχουν γνωστή κατάσταση και η επόμενη απόφαση συμπίπτει με αυτήν που θα περίμενες από μια αδιάλειπτη εκτέλεση. Αν δεν μπορείς να εξηγήσεις μια ασυμφωνία, πάγωσε την υποβολή paper εντολών και εξέτασε τη διαδρομή των συμβάντων. Το ότι μια διεργασία εκτελείται δεν αποδεικνύει ότι η στρατηγική ανακτήθηκε σωστά.

Έχεις ήδη εντοπίσει το χρήσιμο στοιχείο της κατάρρευσης: αποκάλυψε μια υπόθεση που η κανονική εκτέλεση δεν χρειάστηκε ποτέ να αντιμετωπίσει. Κάνε την επανεκκίνηση ένα επαναλήψιμο σενάριο και θα ξέρεις τι θυμάται η στρατηγική πριν της ζητήσεις να συναλλαχθεί ξανά.

paper tradingκατάσταση στρατηγικήςανάκτησηbacktesting
ΚοινοποίησηXLinkedInFacebookRedditHacker NewsWhatsAppTelegramEmail
← Όλα τα άρθρα