Precaución Metaquotes demo
Hola a todos, hoy en la mañana fui a revisar mis posiciones que tengo en un mt5 de Metaquotes demo donde tengo el EA de Stop Hunt y me encontré con que se habían cerrado mis posiciones que tenia abiertas que las estaba dejando correr y tenia una perdida en el balance de 89 millones! (al principio creí que eran 89 mil), adjunto captura del historial de transacciones.
Y preguntándole a la IA me dijo que fue por un stop out del broker en este caso Metaquotes demo y primera vez que escuchaba este termino, así que se los comparto por si tampoco lo sabían.
Qué es el stop out
Es el cierre forzoso que hace el broker cuando tu cuenta se queda sin margen suficiente para sostener las posiciones abiertas. Su objetivo es que no pierdas más dinero del que tienes, y que el broker no tenga que cubrir esa pérdida.
Se basa en el nivel de margen:
Nivel de margen = (Patrimonio ÷ Margen usado) × 100
  • Patrimonio = balance + beneficio o pérdida flotante de las posiciones abiertas.
  • Margen usado = el dinero “bloqueado” para mantener esas posiciones.
Cada broker fija dos umbrales (los ves en Especificación del símbolo o en las condiciones de la cuenta):
  • Margin call (por ejemplo, 100 %): solo es un aviso.
  • Stop out (por ejemplo, 50 %): el servidor empieza a cerrar posiciones a mercado, primero la que más pierde, una a una, hasta que el nivel de margen vuelve a estar por encima del umbral.
La explicación de la IA
En mi caso esto paso porque los propios precios del broker estaban corruptos. Los old tick con fecha 1970 que vi en mi log son simplemente lo que el servidor mandó al terminal al reconectar.
La desconexión y los precios basura casi seguro tienen el mismo origen: un problema en los servidores de MetaQuotes-Demo en esa franja. Pero lo que te hizo perder fue que el servidor usó precios corruptos para el stop out. Eso es responsabilidad del servidor, no tuya, ni de tu conexión, ni de tu EA.
También me dio algunas recomendaciones para ajustar el EA para estar mas protegido ante estas situaciones. Las recomendaciones fueron:
  1. Activa el filtro de spread. Tu configuración tiene Spread: OFF. Un tick con Bid 0,00003 y Ask 482 tiene un spread gigantesco, y ese filtro lo habría bloqueado.
  2. Valida cada tick antes de usarlo:
bool TickValido(const string sym, double maxDevPct = 2.0)
{
MqlTick t;
if(!SymbolInfoTick(sym, t)) return false;
if(t.time < TimeCurrent() - 60) return false; // tick viejo o fecha 1970
if(t.bid <= 0 || t.ask <= 0 || t.ask < t.bid) return false;
double cierre = iClose(sym, PERIOD_M1, 1); // última vela cerrada
if(cierre <= 0) return false;
if(MathAbs(t.bid - cierre) / cierre * 100.0 > maxDevPct) return false; // salto absurdo
return true;
}
3. Haz una pausa tras una reconexión. En OnTick comprueba TerminalInfoInteger(TERMINAL_CONNECTED). Si detectas que la conexión volvió hace menos de 1 o 2 minutos, no operes ni calcules el CSI.
4. Usa un CSI defensivo. Si algún valor sale fuera de rango, o el “spread” del CSI pasa del 100 %, descarta ese cálculo.
Tengan cuidado si están usando Metaquotes demo con este tipo de incidencias, yo por mi parte me pasaré a brokers reales que tengan cuenta demo.
Buen día!
1
1 comment
Paulo Cyran
4
Precaución Metaquotes demo
BlackSheep IA Labs
skool.com/blacksheep-academy
César e Iván, Traders con 30 años de experiencia. Álvaro, experto en IA.
Construye tu sistema de Trading con IA.
+7.000 alumnos.
+60M€ gestionados.
Powered by