What you are looking for is not a static threshold alarm - but rather an alarm that uses a prediction model - look at the CloudWatch Anomaly detection documentation
These work very well with sine wave metrics from my own experience (like requests/traffic graphs that follow daily trends).
Alternatively, you can also use the metric math function RATE() that calculates the rate of change per second - and create an alarm on that (see documentation here)
Returns the rate of change of the metric, per second. This is
calculated as the difference between the latest data point value and
the previous data point value, divided by the time difference in
seconds between the two values.
Description on how to create alarms on metric math can be found in their documentation as well: Creating a CloudWatch alarm based on a metric math expression