The easiest way to achieve arbitrary executions in this case is to create three separate triggers. Three cron triggers with following patterns should do the job:
0 0 12 * * ?
0 0 17 * * ?
0 0 23 * * ?
You can have as many triggers as you want for a single job. But if you find it be more like an interval you can also check other trigger types spiced up with calendars for exclusion/inclusion.