Prep your ingredients. The fish is easiest to dice when it is partially frozen.
Marinate the fish in the lime juice and the onion, in a glass or stainless steel bowl. Make sure that there is enough lime juice that the fish can float freely so that it “cooks” evenly. Marinate for at least 20 minutes and up to 4 hours in the refrigerator. If marinating the day before, drain most of the lime juice after four hours and keep the fish covered and refrigerated.
In a large bowl, mix the tomatoes, chilies, cilantro, olives & olive oil. Cover and refrigerate until serving.
When the fish is done marinating, add it to the veggies just before serving.
Add salt to taste, ¼ to ½ tsp and squeeze the juice from the mandarin orange into the ceviche.
Just before serving, dice the avocado and add to the ceviche, stirring it through carefully.
Garnish the ceviche with the reserved cilantro and serve with tostadas, tortilla chips, or saltine crackers.