Here is a basic setup for Meinberg NTP which is suitable for Windows 7 onwards. The download link for the latest version is at https://www.meinbergglobal.com/english/sw/ntp.htm#ntp_stable
When you install it, you will be asked about creating a specific user to run the service. Up to a point this is a good idea, as it reduces the risk of security compromise, but you must ensure that the password you create for it will never expire. If you are not concerned about the small risk of compromise, you can use the SYSTEM account. Don’t user your own account though.
It will ask about which servers to use. A really simple solution is just to pick the UK pool from the drop-down list. You need to select four or more servers to ensure that the system will ignore any insane outliers.
When you complete the config, it will ask if you want to view the configuration file. Do that and it should contain things similar to this:
restrict default noquery nopeer nomodify notrap
restrict -6 default noquery nopeer nomodify notrap
restrict 127.0.0.1
restrict -6 ::1
driftfile "C:\Program Files (x86)\NTP\etc\ntp.drift"
server 0.uk.pool.ntp.org iburst minpoll 6 maxpoll 7
server 1.uk.pool.ntp.org iburst minpoll 6 maxpoll 7
server 2.uk.pool.ntp.org iburst minpoll 6 maxpoll 7
server 0.nl.pool.ntp.org iburst minpoll 6 maxpoll 7
server 1.nl.pool.ntp.org iburst minpoll 6 maxpoll 7
# these are default settings, it does no harm to put them in the config file anyway
maxpoll 10
minpoll 6
The NTP recommendations say this:
Forcing a poll interval that is more frequent than what NTP would normally select on its own, hurts accuracy and stability of time on the local system.
NTP polling does not directly synchronize the local system clock to the server clock; rather, a complex algorithm calculates an adjustment value for each tick of the local system clock
Shorter polling intervals cause NTP to make large but less accurate calculations that never stabilize, causing the local system clock to wander. They are also useful if you want to make sure that your NTP daemon will detect an outage of the NTP peers in less time.
Longer polling intervals allow NTP to calculate smaller tick adjustments that stabilizes to a more accurate value, reducing wander in the local system clock.
If you do make any changes to the config file, you need to restart the ntpd service, either using the services.msc GUI, or go via control panel/admin tools to services, or if you are command-line oriented, just type:
sc stop ntpd
sc start ntpd
You can monitor status using
ntpq
> peers
You can also run w32tm /stripchart to check against another NTP server:
w32tm /stripchart /computer:fr.pool.ntp.org
Press control-c to stop the stripchart.
There is a neat GUI program on the Meinberg site at https://www.meinbergglobal.com/english/sw/ntp-server-monitor.htm
Note that it is fairly old and says it is for ancient Windows versions, but it works fine on W10