How to build the rules for p2p application?

How to build the rules for p2p application?
Can I:
1.Allow IP out from IP any where protocol is any?
2.Allow IP in from IP any where protocol is any?
3.Allow TCP out…?
4.Allow TCP in…?
5.Allow UDP out…?
6.Allow UDP in…?
7.Allow ICMP out…?
8.Allow ICMP in…?
which is safe?

In Application Rules:

  1. Allow TCP/UDP out.
  2. Allow TCP in (Destination Port set to the one your p2p application uses).
  3. Allow UDP in (Destination Port set to the one your p2p application uses).
  4. Block IP in/out.

In Global Rules:

  1. Allow TCP/UDP out (if you don’t already have one).
  2. Allow TCP in (Destination Port set to the one your p2p application uses).
  3. Allow UDP in (Destination Port set to the one your p2p application uses).

Place them before any blocking rules in the list.

Should work for eMule / Torrent clients.

thank a lot.