Check these Wiki articles:
http://wiki.mikrotik.com/wiki/Load_Bala ... e_Gateways
http://wiki.mikrotik.com/wiki/NTH_load_ ... masquerade
It gives you the method to share the load between two links (coming with different IPs) from different ISPs.
Be aware that you can not achieve 20Mbps (10+10Mbps) for a single connection (e.g. a "download") with either of these method alone - they only allow you to distribute the load more or less evenly.
You can achieve closely(-ish) the sum of your two transfer rates when using tunneling over both links to a router that is either hosted in a high speed datacenter("DC") or in a Cloud environment (a Mikrotik CHR would do nicely then, I think) with its own public IP.
Let say a client with IP "local_IP" in your network wants to access http://www.example.com
You route all Internet traffic on your router through the tunnels (except the outer tunnel packets of course) and on the DC/Cloud router you route traffic to your network through the tunnels.
From your router to the DC/Cloud router and vice versa you use the "NTH" mechanism (on both routers) to distribute the packets evenly between the two tunnels.
The router in the DC/Cloud then uses masquerading/NAT to translate "local_IP" into its own public IP and accesses the server http://www.example.com
using its own high speed Internet link.
In turn http://www.example.com
will send its answer, also with high speed, to the public IP of the DC/Cloud router.
The received traffic will be translated back to "local_IP" and send over the two tunnels in a round robin fashion (typically - depending on your NTH settings).
This way, one can achieve a transfer rate close to the combined speeds of the links, especially for bulk traffic (Web traffic, downloads, etc.).
You have some speed penalty caused by the tunneling overhead and possibly by a smaller MTU, but all together (depending on the traffic patterns) this penalty is less than 10%.