Pocitani exposure je jednoduche. Je to procento kolik dnu byl jakykoliv obchod otevren vuci vsem dnum.
Algoritmus je tedy jednoduchej:
1. ze settingu zjistit date from a date to, na zaklade toho udelat jednoduche boolean pole dnu, kde bude kazdy den false
2. projit vsechny ordery a pro kazdy order pro kazdy den od OpenTime po CloseTime nastavit v tom boolean poli hodnotu na true. Obchody se muzou i prekryvat, takze sdileji dny
3. spocitat % poctu true hodnot vuci velikosti celeho pole
Jedina vyzva je tady jak prevadet ty dny obchodu na indexy toho boolean pole. Je treba to udelat maximalne efektivne, mozna jednoduse zjistit index dne jednoduchou funkci:
(OrderDayTime - DateFromTime) / (24*60*60*1000)
Tedy zjistit rozdil dne pro order od uplne prveho date from datumu, a vydelit milisekundami za den.
Je treba i osetrit pokud index vyjde vecsi nez to pole, nemelo by se to stat. Bud to pole udelat o par cisel vecsi anebo tyto vysledky zahodit.
Pocitani exposure je jednoduche. Je to procento kolik dnu byl jakykoliv obchod otevren vuci vsem dnum.
Algoritmus je tedy jednoduchej:
1. ze settingu zjistit date from a date to, na zaklade toho udelat jednoduche boolean pole dnu, kde bude kazdy den false
2. projit vsechny ordery a pro kazdy order pro kazdy den od OpenTime po CloseTime nastavit v tom boolean poli hodnotu na true. Obchody se muzou i prekryvat, takze sdileji dny
3. spocitat % poctu true hodnot vuci velikosti celeho pole
Jedina vyzva je tady jak prevadet ty dny obchodu na indexy toho boolean pole. Je treba to udelat maximalne efektivne, mozna jednoduse zjistit index dne jednoduchou funkci:
(OrderDayTime - DateFromTime) / (24*60*60*1000)
Tedy zjistit rozdil dne pro order od uplne prveho date from datumu, a vydelit milisekundami za den.
Je treba i osetrit pokud index vyjde vecsi nez to pole, nemelo by se to stat. Bud to pole udelat o par cisel vecsi anebo tyto vysledky zahodit.