Okay, so, the pistol is in the TIP of the torpedo, if you fire from bad angle the torpedo´s tip doesn´t hit the targets hull so it bounces. Try to use magnetic pistol, set the torpedo´s running depth 0.5-1m deeper than the ships is going. (To know how deep the ship is going look in the recognition manual, the DRAFT is the depth.)
Example: You encounter a coastal merchant, you look from the manual the depth (6,8m, if I recall right), then you set the torpedo to run at depth of 7,3-8m and the magnetic pistol takes care that the torpedo explodes beneath the ship.
But you knew this already, didnt you? Just wanted to make sure!