Detecting if specific signal is applied to circuit
You are trying to detect a signal by both amplitude and frequency.  You don't give any parameters of accuracy, response time, harmonic distortion, what signals can look like that you need to rejectd, etc, so anything will do.

This is a job for a microcontroller.  The maximum range of your signal is -2 V to + 6 V.  Use resistors to scale that into somewhat less than the microcontroller A/D input range.  In the micro, you need to sample the signal at least at 40 kHz, but faster would be much easier.  Fortunately, that's not hard.

Many of the Microchip dsPIC can, for example, sample a signal with 12 bits resolution at nearly a MHz.  Let's say you sample at 250 kHz for example.  That's one sample ever 4 &micro;s.  At 70 MIPS that's once every 280 instructions, which is much more than it will take.

Keep track of the last positive and negative peak.  Each time you get a new peak, you compare it to the previous saved peak to get the peak to peak amplitude.  Now it's only two compares to decide whether the original signal was within the 1 to 4 Vpp range.

You also find the zero crossings and keep track of the time between them.  Pre-compute the time between zero crossings for your valid frequency range.  Then it's again two compares to decide whether the period is within the range of what you are looking for.

Iff both conditions are met, you set the "detected" output.

This really isn't hard.