According to my Colombian in-laws, the word gringo is derived from when the military came into the latin countries. The locals would reference their coloured clothing and tell them - "green go".