Mira cómo descargar robots gratis
¡Búscanos en Telegram!
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5
Asesores Expertos

Calculadora de Pérdidas y Ganancias (Profit Loss Calculator) - Asesor Experto para MetaTrader 5

Visualizaciones:
6183
Ranking:
(48)
Publicado:
2014.01.14 14:27
Actualizado:
2016.11.22 07:33
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

El panel está escrito con los "motivos" del Asesor Experto CalculateProfit_EA del artículo "Limitaciones y verificaciones en Expert Advisors", y no se ha diseñado sólo para abrir/cerrar posiciones, sino también para calcular las ganancias y las pérdidas, y para visualizar los niveles de Stop Loss y Take Profit. La calculadora contiene:

  • botones de opción de cambio de tipo de posición (Comprar, Vender).
  • El botón Reset establece los parámetros a sus valores iniciales ​​(el precio de entrada se encuentra en el centro de la ventana del gráfico, Comprar tipo de posición, Stop y la Ganancia del precio de entrada están a la misma distancia, 1/4 de la distancia entre el precio máximo y el precio mínimo de la ventana).
  • campos de entrada: precio de entrada (Entry), lote (Lot), pérdidas en pips (Loss, pips), ganancias en pips (Profit, pips), pérdidas en la divisa del depósito (Loss, USD), ganancias en la divisa del depósito (Profit, USD). Nota: Si el depósito no se establece en dólares, sino en otra divisa, sólo se mostrará esa divisa, por ejemplo, "EUR".
  • las líneas de entrada (naranja), Stop Loss (rojo), Take Profit (verde). 

Configuración:

Se pueden descargar todos los archivos en la carpeta Experts, pero es mejor crear una carpeta aparte para ellos, por ejemplo, ...\MetaTrader 5\MQL5\Experts\ProfitLossCalculator

Instrucciones:

  • cuando se cambia el tipo de transacción, se calculan todos los parámetros.
  • al introducir, incrementar o decrementar el valor del lote, los valores de las pérdidas y las ganancias se calculan en términos de dinero. Los valores mínimos y máximos permitidos también se calculan en términos de dinero.
  • para cambiar el punto de entrada puedes mover la línea de entrada, o cambiar el valor del precio en las propiedades de la línea, o incrementar/decrementar el valor en el campo de entrada Entry. En ese momento las pérdidas y las ganancias se calcularán en pips y en términos de dinero.
  • para cambiar el nivel Stop Loss o Take Profit puedes mover la línea correspondiente, o cambiar el valor en las propiedades de la línea; o establecer, aumentar o disminuir el valor en el campo correspondiente. Si el precio de la línea cambia, se calcula el valor en pips y en dinero. Si el valor en pips cambia, la línea se desplaza hasta el nuevo nivel calculado, y también se calcula el parámetro de dinero correspondiente. Si el valor en dinero cambia, se calculan el valor en pips y el nivel de precio de la línea.

Por lo tanto, el panel es útil para aquellos que colocan stops y objetivos por niveles de precio, y también para los que calculan los niveles de stop a partir del dinero que se puede perder en una sola transacción.

Características:

  • el panel está orientado sólo para los precios mínimos y máximos del gráfico. En consecuencia, se definen los rangos máximos permitidos del precio de entrada, y las ganancias y pérdidas, en pips y en dinero.
  • los valores mínimos permitidos en pips son iguales al nivel de stop del símbolo en curso, y los valores mínimos en dinero se calculan en base al nivel de stop.
  • si se intenta introducir un valor de precio incorrecto, no ocurrirá ningún cambio.
  • si se introducen valores demasiado grandes en los campos pips/dinero, los parámetros se igualarán a los valores máximos permitidos; de igual modo, al introducir valores demasiado pequeños, o valores negativos, los parámetros se igualarán a los valores mínimos permitidos.  
  • la línea de entrada sólo puede estar situada entre las líneas Stop Loss y Take Profit. Si se intenta mover la línea de entrada del rango adecuado volverá a su valor previo.
  • al cambiar el marco temporal o el símbolo se llevan a cabo controles de sincronización en intervalos de 1 segundo, pero es posible que los datos históricos no se carguen correctamente. Si esto sucede, presiona el botón Reset. También puedes utilizar el botón Reset cuando cambias la escala del gráfico, o cuando lo mueves a la izquierda/derecha. 
  • si alguna vez borras la línea, elimina y configura de nuevo el Asesor de Experto. La cuestión es que si recuperas las líneas, se dibujarán sobre el panel que causa la molestia. Si dibujas las líneas en el fondo, los precios de la línea no se resaltarán en el lado derecho de la escala. En mi opinión esto es muy importante. De modo que se ha aceptado la decisión de cancelar la recuperación de línea.

ProfitLossCalculator


Notas adicionales:

En la calculadora basada en la librería estándar CSpinEdit se encuentra la clase CDoubleSpinEdit, que difiere de la original en lo siguiente:

  • permite establecer los valores de tipo double (y el número de dígitos después de la coma);
  • no sólo admite el incremento/decremento de los valores, sino también la entrada directa del valor en el campo;
  • permite especificar el valor de incremento/decremento;
  • todos los parámetros se pueden establecer y cambiar con el método SetParameters(double value, double min, double max, double step, int digits).

Tal vez esto sea de utilidad para alguien.

Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/1637

Entropy Entropy

El indicador que demuestra el poder de los cambios de entropía de los precios.

DailyTurnPoint DailyTurnPoint

Otra variación sobre puntos de giro de tendencia

Support and Resistance Support and Resistance

El indicador "Soporte y Resistencia" muestra los niveles de soporte y resistencia utilizando el indicador Fractals de Bill Williams.

Demo_FileReadInteger Demo_FileReadInteger

Este indicador muestra un ejemplo del uso de la función FileReadInteger()