sorry, didn't get...
can you provide it with commands?
and if to limit shared queue to 10Mbit - it will be impossible to get more than 10Mbit than?
I want to guarantee 20Mbit to ip 10.0.0.10 and share the rest channel between other clients...
if 10.0.0.10 is not active - share full channel...
You're going to need to use a queue tree in this case, with the parent queue having the limit of 50Mbps. Then your leaf queues are pretty simple - put nothing but possibly another 50Mbps max-limit on the standard shared queue.
Put 50Mbps on the 10.0.0.10 queue as well, but also put a limit-at value of 20Mbps. "Limit-at" is actually a confusing term in my opinion. It's a minimum guaranteed bandwidth (or CIR in telco terminology)
To use queue trees, you'll need to mark all packets with mangle table rules.
packet mark = special or packet mark = default.
Make the 10.0.0.10 queue match packet mark special, and make the SFQ queue match "default" packet mark.
This isn't what you want exactly, but uses the same concepts to do similar things....
http://www.mikrotik-routeros.com/tag/queue-tree/