When you run alert in real time, alerts are skipped/ do not get triggered because of the alerts in queue.
Suppose there's a huge traffic while splunk generates alert for current event, there may be several other alerts in queue since it is running for real time. this in turn leads splunk to not to generates alerts due to too many searches in pipeline (skipped searches).
My suggestions :
1. Run alert as scheduled search using cron schedule.
2. Pick a wider time range
3. You can use throttle to avoid duplicate alerts