As mentioned TDAmeritrade allows buys and sells, and does price improvement. 2 weeks ago I put in buy order for 5k at .18 and trade went through immediately and at .175
Call Fidelity and complain, if your account is much size at all they are likely to listen to you. My annual fees at Ameritrade used to be in the 9 to 10k range, I called them and complained, they gave me custom account with about 80% discounted fees. They have gone back up with Schwab deal, but I'll be calling again!