Jūs man pastāstījāt, ka jūsu papīra tirdzniecības process naktī avarēja. Jūs to restartējāt pirms nākamā lēmuma, kļūdas nemanījāt un pieņēmāt, ka tas turpina darbu no vietas, kur apstājās. Tad tas iesniedza pirkšanas rīkojumu aktīvam, kas jums jau piederēja. Jūs gribat zināt, vai stratēģijā ir kļūda.
Iespējams. Taču vispirms pārbaudiet, vai restartētais process zina to pašu, ko papīra konts. Restartēšana ir stāvokļa atjaunošanas uzdevums: pozīcijām, naudas atlikumam, atvērtajiem rīkojumiem un visai stratēģijas atmiņai, kas ietekmē nākamo lēmumu, ir jāsakrīt. Atkal palaist kodu ir vienkāršākā daļa.
Ko stratēģija uzskatīja pirms avārijas?
Pierakstiet pēdējo lēmumu, ko process pieņēma pirms apstāšanās. Katram tirgotajam instrumentam fiksējiet iecerēto pozīciju, konta faktisko pozīciju, neizpildītos rīkojumus un signāla stāvokli, kas ietekmēs nākamo darbību. Ja šādu ierakstu nav, nevarat noteikt, vai restartēšana atjaunoja stāvokli vai tikai palaida jaunu stratēģijas instanci.
Pieņemsim, ka jūsu stundu stratēģija pērk 1 vienību, kad tās tendences signāls kļūst pozitīvs, un tur pozīciju, līdz signāls kļūst negatīvs. Process iesniedz pirkšanas rīkojumu plkst. 14:00, bet avarē, pirms paspējis ierakstīt, ka rīkojums ir pieņemts. Papīra tirdzniecības platforma to izpilda. Pēc restartēšanas stratēģija neredz ierakstītu pozīciju, un signāls joprojām ir pozitīvs, tāpēc tā iesniedz vēl vienu pirkšanas rīkojumu. Signāls darbojas konsekventi. Stratēģijas atmiņa par kontā esošo aktīvu daudzumu ir novecojusi.
Tāpēc pirms jaunu rīkojumu atļaušanas konta pašreizējā pozīcija ir jāsalīdzina ar saglabāto stratēģijas stāvokli. Lokāls momentuzņēmums var noderēt, taču faktiskās izpildes uzskaitē noteicošais ir konts vai tirdzniecības platforma.
Kādam stāvoklim jāsaglabājas pēc restartēšanas?
Sāciet ar stāvokli, kas var mainīt nākamo rīkojumu. Uzturiet noturīgu ierakstu ar laika zīmogu un versiju katram atjauninājumam; pirms atkopšanas loģikas maiņas izveidojiet kopiju, lai vēlāk varētu atkārtot avārijas scenāriju.
| Stāvoklis | Kāpēc tas ir svarīgi | Atkopšanas pārbaude |
|---|---|---|
| Pozīcijas un naudas atlikums | Tie nosaka ekspozīciju un pieejamo pirkšanas jaudu | Salīdziniet saglabātās vērtības ar papīra konta datiem |
| Atvērtie rīkojumi | Rīkojums varēja tikt izpildīts, kamēr process nedarbojās | Vaicājiet rīkojuma statusu un saskaņojiet daļējās izpildes |
| Signāla atmiņa | Pārejas, nogaidīšanas periodi un pozīcijas turēšanas ilgums var aptvert vairākus lēmumus | Atjaunojiet pēdējā apstiprinātā lēmuma ievaddatus |
| Pēdējais apstrādātais notikums | Tas nosaka, no kuras vietas stratēģija atsāk datu apstrādi | Atkārtojiet notikumus pēc šī punkta, nepiemērojot tos divreiz |
Signāla atmiņu ir viegli nepamanīt. Stratēģija, kas tirgo pēc krustojuma, var saglabāt vakardienas indikatora vērtību, lai noteiktu jaunu krustojumu. Ja tā sāk darbu ar tukšu vērtību, tā var uztvert jau esošu nosacījumu kā jaunu notikumu. Tāda pati problēma ir ar nogaidīšanas taimeri: restartēšana nedrīkst nemanāmi atiestatīt noteikumu, kam bija jāsaglabājas.
Kā panākt, lai atkopšanu varētu atkārtot?
Piešķiriet katram rīkojumam stabilu klienta ID, kas veidots no stratēģijas palaišanas reizes un lēmuma, kura dēļ tas izveidots. Ja pēc taimauta process mēģina vēlreiz, tas var pārbaudīt, vai attiecīgais lēmums jau ir izveidojis rīkojumu, nevis iesniegt dublikātu. Ierakstiet stāvokļa izmaiņas tikai pēc atbilstošā konta notikuma apstiprināšanas un saglabājiet rīkojumu un izpildes ID, kas izskaidro izmaiņu.
Pēc tam pārbaudiet robežgadījumu, kas izraisīja incidentu. Izpildiet stratēģiju līdz lēmuma pieņemšanai, saglabājiet stāvokli, apturiet to un atjaunojiet kopā ar papīra konta pozīcijām un rīkojumu vēsturi. Salīdziniet nākamo lēmumu un tā rezultātā iesniegtos rīkojumus ar nepārtrauktu palaišanu. Atkārtojiet pārbaudi ar daļēji izpildītu rīkojumu un avāriju starp rīkojuma iesniegšanu un apstiprinājuma saņemšanu. Pēc atsākšanas stratēģijai nevajadzētu izveidot neesošu pozīciju vai atkārtot jau pabeigtu darbību.
Uzturiet atkopšanas žurnālu: pēdējais apstrādātais notikums, konta momentuzņēmuma laiks, atvērto rīkojumu statusi, atjaunotā stratēģijas versija un pirmais lēmums pēc restartēšanas. Tas ļauj pārbaudīt, ko nozīmē frāze “process atkal darbojas”.
Kam pēc restartēšanas vajadzētu uzticēties?
Uzticieties procesam tikai tad, kad konta un stratēģijas stāvoklis ir saskaņots, neizpildītajiem rīkojumiem ir zināmi statusi un nākamais lēmums atbilst tam, ko sagaidītu nepārtrauktas darbības gadījumā. Ja nevarat izskaidrot neatbilstību, apturiet papīra rīkojumu iesniegšanu un pārbaudiet notikumu vēsturi. Darbojošs process nepierāda, ka stratēģijas stāvoklis ir atjaunots.
Jūs jau esat atraduši avārijas lietderīgo pusi: tā atklāja pieņēmumu, ar kuru parastā darbībā nebija jāsaskaras. Padariet restartēšanu par atkārtojamu scenāriju, un jūs zināsiet, ko jūsu stratēģija atceras, pirms atkal liksiet tai tirgot.
← Visi raksti


