A step-by-step implementation of a multi-agent currency trading system