Find all files with a name containing special characters (!, ?, &) in the current directory and its subdirectories up to 3 levels deep, and for each of those files, search for a line containing the dollar sign ($) character.
find -maxdepth 3 -name '*!?&' | xargs -I{} grep  '$' {}