Try this but please check it and test it first, carefully, as I have not, and be sure you understand the risk (in case others download it too).
It should:
Lay at [0.1] mins (variable) before the race if the lay price is >= [250] (variable)
Set In play refresh to [0.5] secs when inplay (variable)
Lay at [100] (variable) after [0.1] mins (variable) after the race start if the last traded price is >= [100], but only if there is no lay money matched on the selection, leaving the unmatched bet available to get matched later.
Distribute the loss with a back at the [10] (variable), if there is lay money matched on a selection, and the back price is [10] or less.
The risk is that if the back price is <10 (instantaneously) but the last traded price is say 30, it will still back at 10 and as your money will be the highest price someone will take it so you may be hedging unnecessarily. You could protect by only hedging if the last traded price is less than say 15 so I have added that in as a variable as well.
The main risk is that if a selection was trading at 100+ and is now <10 it is a serious contender so the price may fall very rapidly. The back at 10 could get left unmatched. If you were to back at back_price instead of the fixed 10, it could be 2 for example and the back stake would be enormous to distribute the loss. You could delete the top condition in the back trigger and just back at 10, using the last traded price [15] as an early warning of impending doom, making your offer at 10 more likely to get matched.
Good luck and let me know how it goes - but please do not blame me for any problems!
(Also, if anyone else spots errors in the trigger please let me know.)