I beleive there to be a bug in the TPO charts, namely that there are not enough symbols to cover the entire range of 16:00 CT (after cash close) to the next cash open at 08:30 CT, totalling 33 half hour periods
I’m working on my own project for this, and here’s what I’ve compiled as what I beleive is the correct time periods for everything (golang):
var OvernightTpoMap = map[int]string{
0: "a", // 15:00 - 15:30 CT, 22:00 - 22:30 CET, after hours in US starts
1: "b", // 15:30 - 16:00 CT, 22:30 - 23:00 CET, after hours in US ends
// --- globex closed for 1 hour ---
2: "c", // 17:00 - 17:30 CT, 00:00 - 00:30 CET, globex open
3: "d", // 17:30 - 18:00 CT, 00:30 - 01:00 CET
4: "e", // 18:00 - 18:30 CT, 01:00 - 01:30 CET
5: "f", // 18:30 - 19:00 CT, 01:30 - 02:00 CET
6: "g", // 19:00 - 19:30 CT, 02:00 - 02:30 CET, asia open (tokyo)
7: "h", // 19:30 - 20:00 CT, 02:30 - 03:00 CET
8: "i", // 20:00 - 20:30 CT, 03:00 - 03:30 CET, asia open (shanghai)
9: "j", // 20:30 - 21:00 CT, 03:30 - 04:00 CET
10: "k", // 21:00 - 21:30 CT, 04:00 - 04:30 CET
11: "l", // 21:30 - 22:00 CT, 04:30 - 05:00 CET
12: "m", // 22:00 - 22:30 CT, 05:00 - 05:30 CET
13: "n", // 22:30 - 23:00 CT, 05:30 - 06:00 CET
14: "o", // 23:00 - 23:30 CT, 06:00 - 06:30 CET, london premarket starts
15: "p", // 23:30 - 00:00 CT, 06:30 - 07:00 CET
16: "q", // 00:00 - 00:30 CT, 07:00 - 07:30 CET
17: "r", // 00:30 - 01:00 CT, 07:30 - 08:00 CET, tokyo close
18: "s", // 01:00 - 01:30 CT, 08:00 - 08:30 CET
19: "t", // 01:30 - 02:00 CT, 08:30 - 09:00 CET
20: "u", // 02:00 - 02:30 CT, 09:00 - 09:30 CET, euronext / london open
21: "v", // 02:30 - 03:00 CT, 09:30 - 10:00 CET
22: "w", // 03:00 - 03:30 CT, 10:00 - 10:30 CET
23: "x", // 03:30 - 04:00 CT, 10:30 - 11:00 CET
24: "y", // 04:00 - 04:30 CT, 11:00 - 11:30 CET
25: "z", // 04:30 - 05:00 CT, 11:30 - 12:00 CET
26: "{", // 05:00 - 05:30 CT, 12:00 - 12:30 CET
27: "|", // 05:30 - 06:00 CT, 12:30 - 13:00 CET
28: "}", // 06:00 - 06:30 CT, 13:00 - 13:30 CET
29: "~", // 06:30 - 07:00 CT, 13:30 - 14:00 CET, last tradovate symbol
30: "=", // 07:00 - 07:30 CT, 14:00 - 14:30 CET, US premarket starts
31: "-", // 07:30 - 08:00 CT, 14:30 - 15:00 CET, US premarket
32: ">", // 08:00 - 08:30 CT, 15:00 - 15:30 CET, US premarket
}
so the last 3 half hour periods are missing. I’ve chosen +, -, and > characters, i think they could look nice following the other symbols I’ve also attached two pictures illustrating the missing character prints (volume is clearly visible, but no TPOs!)
(my timezone is CET)
I would assume the “fix” is relatively easy; just need to assign additional characters to those additional time slots.