The day before, place the cherries and dates in a bowl and pour on the whisky. Mix well, cover with clingfilm and leave overnight.
Preheat the oven to 140°C/fan 130°C/275°F/gas mark 1. Butter a large (30 × 11 × 6.5cm) loaf tin, or a 20cm diameter, 7.5cm deep, round tin, or a 20cm square tin, and line with baking parchment. Wrap the tin with a collar of brown paper tied with string. This will protect the edges from scorching in the oven.
Roast the walnuts on a baking sheet in the oven for 10 minutes - watching so they don’t burn - then roughly chop. Using an electric mixer, or a large bowl and wooden spoon, cream together the butter, sugar and zests for a good 5 minutes until light and fluffy. Next, add the ground almonds, then gradually beat in the eggs, mixing thoroughly between each addition. Add the treacle, then fold in the flour. Finally, very gently fold in the nuts, cherries and dates, along with any whisky that has not been absorbed. Add enough milk to give the mixture a dropping consistency.
Spoon the mixture into the tin, level with a palette knife, decorate with the remaining walnuts and place in the oven. Bake for about 1½ hours, or until a skewer inserted into the centre comes out clean.
Remove from the oven and leave the cake to cool in the tin. When completely cold, prick with a fine skewer and drizzle in the extra whisky. Wrap the cake in baking parchment, then in foil, and store for up to a month.