I recently had a similar problem. The attached VI will accept a 1D array and return 4 arrays. The arrays are the values of the negative and positive peaks and the indicies of both. It's a brute force method, but it works.
It's large because I left the original data as the default value. Emptying the input array and making it the default value will cut the size.