Detection of Troughs and Notches in a PPG Signal
Have you tried finding where the derivative of your signal is 0 (or crosses between positive and negative values)?

Simple, approximate, derivative filters are the first difference:

$y[n] = x[n] - x[n-1]$

and the central difference:

$y[n] = x[n] - x[n-2]$

You'll have to compensate for filter delay when mapping the zero crossings of the derivative back to the local minima and maxima of the original signal.
For the first difference, the output is delayed by about half a sample period, and for the central difference, the output is delayed about a sample period.