Can confirm that this is working, you don't need to spam or do anything quickly for it to work.
Spamming the following macro will equip a shield for you, pop Shield Wall, followed by Retaliation, then lastly Recklessness.
Code:
/cast [stance:2,equipped:Shields] Shield Wall; [stance:3] Defensive Stance
/stopcasting
/equipslot 16 Last Laugh
/equipslot 17 Barricade of Eternity
/castsequence Defensive Stance,Shield Wall, Battle Stance, Retaliation, Berserker Stance, Recklessness
Obviously just change out the names on the equipslot for your chosen mh/shield.