I very much doubt that what you want can be done practically.
Off-the-shelf motion sensors of the type used in alarm systems (or the less discriminating types used in turning on lights) can probably be used to detect pigeons at 20 feet out from your balcony. The problem is what's known in the alarm industry as the "elephant syndrome": A wasp flying an inch in front of a PIR [or microwave(MW) or ultrasonic(US)] sensor, creates as much of a "motion" signature as an elephant walking at 50 feet. (not an exact ratio, but you get the idea). Whichever of the three most popular motion sensing technologies you try to use is going to "see" a skytrain at 100' if it "sees" pigeons at 20'.
I put quotes around "motion" and "see" because "motion" sensors don't really sense motion. They sense the effects of objects moving in the space being "watched" by the sensors. For the PIR sensors, the effect is change over a short time in the heat signature of the background that the PIR is watching. That's why a PIR needs a minute or two after power-up to stabilize, to establish a baseline of what's "normal" for the background. For microwave and ultrasonic, the effect is causing a Doppler effect in the return signal so the sensor sees a MW or US frequency shift in the echo of a signal.
In all those effects, there is no way (that I know) that something large moving farther away won't be detected as easily as something small moving closer. Most models have a "range" adjustment that gives you the impression that you can set it to detect motion out to, say, 20''; but like the term "Motion Sensor", the term "range adjustment" is misleading: You can adjust a sensor to detect reliably a medium-size human (or pigeon) at 20', moving at ordinary speed (walking or flying), in a certain direction relative to the sensor, but factors like size, speed, and direction will change the range. It's really more of a "sensitivity" setting, but the point is that you can't set a "range" to have the sensor not detect the elephant/skytrain farther out, if you want it to see the pigeons at 20' out.
If you want to make it work at detecting pigeons much closer (not so sensitive)--like when they land on the balcony or railing or whatever, you might be able to manage it; especially if you're willing to aim the sensor on the balcony space instead of out away from the balcony. However, there are things you should be aware of. The "motion sensors" most probably _will_ be triggered by things other than pigeons from time to time. I know you have bats in Vancouver, and you can expect them to trip any motion sensor from time to time. Chance are you aren't even aware of bats visiting (most homeowners aren't aware of the bats that live in their attics), but they probably do. Also other passing birds, even large insects like moths & butterflies. (I mention this because of years of experience in chasing causes of false alarms in a closed and controlled environment!). A lot of the time, you probably won't even know what triggered your foil moving, because by the time you look, the "trigger" will be gone. So don't expect only pigeons to trip your assembly.