In a large mixing bowl, combine the fish, lime juice and onion. Use enough juice to cover the fish and allow it to float freely; too little juice means unevenly “cooked” fish. Cover and refrigerate for at least one hour.
. In a large bowl, mix together the tomatoes, green chiles, cilantro and optional olive oil.
Stir in the fish and season with salt, usually about 1/2 teaspoon.
Cover and refrigerate if not serving immediately. Just before serving, gently stir in the diced avocado.