One trick -I didn't tried but maybe works- can be setting a document that loads hourly with condition to throw an error outside the desired reload periods. Any non-existant sentence will thrown an error, like "ThrowError"
The main document loads when this document has a successful load.
Or directly set this conditions on the first tab of the document, so it only continues to load on desired time periods.
Another (cleaner, but harder if you don't know it) way can be using EDX:
A variation on Ruben's suggestion (indeed, there is no simple combination of triggers to do this otherwise):
- Create a task with an Hourly trigger that runs on every weekday between 3:00 and 20:00
- In the load script, check whether the day number is 1.
- If it is, check the hour. If we're running between 3:59 and 14:59, let the script fail.
- If it's not, proceed as planned and execute the load script.