¿Cuál es el término de MetaTrader para referirse al resultado actual de una operación abierta?

 

Digamos abro posición. Esta estará generando un resultado con pérdidas o ganancias. Busqué y encontré el término "Profit()", pero el MetaTrader no reconoce el término.

¿Cuál es el término de MetaTrader para referirse al resultado actual de una operación abierta (ganancias o pérdidas)?

Gracias de antemano

trader201

 
trader201:

Digamos abro posición. Esta estará generando un resultado con pérdidas o ganancias. Busqué y encontré el término "Profit()", pero el MetaTrader no reconoce el término.

¿Cuál es el término de MetaTrader para referirse al resultado actual de una operación abierta (ganancias o pérdidas)?

Gracias de antemano

trader201

//--------------------------------- BENEFICIO OBTENIDO DE POSICION ------------------------------------
double benefPosicion(string simb)
  {
   double resp= 0;
   if(PositionSelect(simb)) resp= PositionGetDouble(POSITION_PROFIT);
   return(resp);
  }
 
josemiguel1812:

El MetaTrader no me reconoció el término "POSITION_PROFIT" que colocaste. No se si porque lo estoy haciendo en MT4 (aunque estoy aprendiendo MQL5 porque me dijeron que incluso Mt4 cambió su lenguaje al de MQL5).

Me reconoció "AccountProfit()"

 
trader201:

El MetaTrader no me reconoció el término "POSITION_PROFIT" que colocaste. No se si porque lo estoy haciendo en MT4 (aunque estoy aprendiendo MQL5 porque me dijeron que incluso Mt4 cambió su lenguaje al de MQL5).

Me reconoció "AccountProfit()"

MQL5 y MQL4 no son compatibles. Tampoco las plataformas MT4 y MT5.
 
josemiguel1812:
MQL5 y MQL4 no son compatibles. Tampoco las plataformas MT4 y MT5.

Ok.

Recuerdo que MQL4, al abrir el metaeditor, contenia: "int init" (inicialización), "int deinit" (finalización) y "int star" (donde coloco el cuerpo del EAcomo tal).

Ahora, cuando abro el metaeditor en MT4, me aparecen int OnInit(), void OnDeinit(const int reason) y void OnTick().

Pregunté acerca de esto en un foro y me dijeron que era que había cambiado a MT5. Me dices que no, y que no son compatibles. Entonces, ¿MT4 queda igual, y cada una de las 3 listadas que me aparecen ahora, corresponde a las que listaba antes? ¿Por qué este cambio?

Saludos.

 
trader201:

Ok.

Recuerdo que MQL4, al abrir el metaeditor, contenia: "int init" (inicialización), "int deinit" (finalización) y "int star" (donde coloco el cuerpo del EAcomo tal).

Ahora, cuando abro el metaeditor en MT4, me aparecen int OnInit(), void OnDeinit(const int reason) y void OnTick().

Pregunté acerca de esto en un foro y me dijeron que era que había cambiado a MT5. Me dices que no, y que no son compatibles. Entonces, ¿MT4 queda igual, y cada una de las 3 listadas que me aparecen ahora, corresponde a las que listaba antes? ¿Por qué este cambio?

Saludos.

Me pasé a mql5 hace un año y hace unos meses actualizaron mql4 acercándolo en cuanto a entorno de depuración (era criminal depurar en mql4) y grafía a mql5 pero son lenguajes incompatibles porque las plataformas MT4 y MT5 son incompatibles.

El sistema de trabajo de MT5 responde a legislación impuesta en USA y sólo admite una posición (larga o corta, pero no a la vez) abiertas por cada activo o símbolo; para cada posición se pueden dar varias órdenes que se convierten en transacciones al ser ejecutadas. MT4 responde a legislación admitida en el resto del mundo y mantiene el sistema primitivo de órdenes independientes, por lo que puedes tener simultaneamente largas y cortas abiertas. Lo que es formidable es el entorno de optimización de MT5; mucho mejor que el de MT4.

MT4 creo que tiene más mercado y, desde luego, mucha más oferta de activos en muchos brokers. Si dominas MT4 especialízate y no pases a MT5. Yo lo hice y no estoy seguro de haber acertado.

Razón de la queja: