Cómo obtener el "Porcentaje de margen" mediante programación - página 2

 
Alexey Viktorov:

Sí, bueno... la fantasía lo es todo... pero ¿por qué la gente que intenta ayudarte debe fantasear con lo que tú fantaseas? De todos modos, esa no es la cuestión.

¿Cómo se obtiene lo que se necesita de esa fórmula?

La fórmula en sí es Margen = Lotes *Tamaño del contrato*Precio de mercado*Porcentaje/100

Por lo tanto, el porcentaje = Margen/(Lotes *Tamaño del contrato*Precio del mercado/100)

Todavía no está en la lista de funciones obsoletas. Así que produce el valor que falta para determinar el porcentaje de margen.

Una vez recibidos todos los datos del momento actual al precio actual, podemos recalcular fácilmente el margen que se retuvo al precio de apertura de la orden.

Si lo necesitas para mql5, debes usar

Norma.

¿El apalancamiento no afectará al margen? ¿Tal vez deberíamos añadir el coeficiente: 100/apalancamiento a la fórmula?

 
Renat Akhtyamov:

Norma.

¿El apalancamiento no afectará al margen? ¿Quizás añadir un coeficiente a la fórmula: 100/apalancamiento?

El apalancamiento suele estar fuera de la fórmula básica Margen = (Lotes*Tamaño del contrato*Precio de mercado*Porcentaje)/Apalancamiento, por lo que no lo he tenido en cuenta. Para determinar de qué se trata la pregunta, la palanca es como la montura de una vaca. Pero más allá puede ser necesario, pero no concierne a la pregunta actual...

 
Alexey Viktorov:

El apalancamiento suele estar fuera de la fórmula básica Margen = (Lotes*Tamaño del contrato*Precio de mercado*Porcentaje)/Apalancamiento, por lo que no lo he tenido en cuenta. Para determinar de qué se trata la pregunta, la palanca es como la montura de una vaca. Pero más allá puede ser necesario, pero está fuera del alcance de la pregunta actual...

El margen como porcentaje sólo puede ser sobre algo (por ejemplo, el depósito) teniendo en cuenta el lote mínimo. El apalancamiento es sólo "para algo".
 
Renat Akhtyamov:
Un margen porcentual sólo puede ser un porcentaje de algo (por ejemplo, un depósito), teniendo en cuenta el lote mínimo. El apalancamiento es sólo "para algo".
Renat, no tengas tanta prisa. Lee todo desde el primer post, de lo que se trataba la pregunta...
 
Alexey Viktorov:

Sí, bueno... la fantasía lo es todo... pero ¿por qué la gente que intenta ayudarte debe fantasear con lo que tú fantaseas? De todos modos, esa no es la cuestión.

¿Cómo se obtiene lo que se necesita de esa fórmula?

La fórmula en sí es Margen = Lotes *Tamaño del contrato*Precio de mercado*Porcentaje/100.

Por lo tanto, el porcentaje = Margen/(Lotes *Tamaño del contrato*Precio del mercado/100)

Todavía no está en la lista de funciones obsoletas. Así que produce el valor que falta para determinar el porcentaje de margen.

Una vez obtenidos todos los datos del momento actual al precio actual, podemos recalcular fácilmente el margen que se retuvo al precio de apertura de la orden.

Si lo necesitas para mql5, debes usar


Hola, me gustaría, por ejemplo, calcular el margen por separado para el oro (independientemente de otros instrumentos). ¿Puede decirme cómo hacerlo, si no sabe el porcentaje de margen? Porque en este caso, ya tenemos dos incógnitas: el propio margen y el porcentaje de margen...
 
K-2SO:

Hola, me gustaría, por ejemplo, calcular el margen por separado para el oro (independientemente de otros instrumentos). ¿Pueden decirme cómo hacerlo, si el porcentaje de margen es desconocido? Porque en este caso ya tenemos dos incógnitas: tanto el propio margen como el porcentaje de margen...

Mi respuesta tiene todo lo que necesitas para calcular todo.

MarketInfo(_Symbol, MODE_MARGINREQUIRED); // Размер свободных средств, необходимых для открытия 1 лота на покупку
Sin embargo, no se trata de una cantidad de margen tomada en el momento de abrir la orden, sino que es el margen actual al precio actual. Sólo queda una incógnita, el margen porcentual que no es un valor porcentual y que se calcula con la fórmula. Entonces nos queda el precio que no corresponde al último. De nuevo, utilizando la misma fórmula, calculamos el margen para el precio correspondiente.

El error en los cálculos puede ser de un par de kopeks, pero ese es el coste del redondeo.

MarketInfo - Получение рыночной информации - Справочник MQL4
MarketInfo - Получение рыночной информации - Справочник MQL4
  • docs.mql4.com
MarketInfo - Получение рыночной информации - Справочник MQL4
 
Sí... Parece una simple pregunta y empiezas una polémica... :) Entiendo que todos son personas inteligentes y cada uno es un genio a su manera. Pero...
Renat Akhtyamov:

Si quieres usar MT5, ve a otra sección del foro.

Tengo una captura de pantalla de MT5 o he creado un tema en la sección que no es para MT4.
Renat Akhtyamov:

No me ha sorprendido su conocimiento común, o algo peor:

No he venido aquí para asombrarte, sino para obtener una simple respuesta a una simple pregunta.
Alexey Viktorov:

Bueno, sí... No entiendo por qué las personas que intentan ayudarte deben fantasear con lo que tú has fantaseado.

No he pedido a nadie que fantasee con nada. Te has metido en la espesura.
Alexey Viktorov:

¿Cómo se obtiene lo que se necesita de esa fórmula?

La fórmula en sí es Margen = Lotes *Tamaño del contrato*Precio de mercado*Porcentaje/100

Por lo tanto, el porcentaje = Margen/(Lotes *Tamaño del contrato*Precio del mercado/100)

Yo mismo sé cómo obtener el valor correcto de la fórmula. Somos buenos en matemáticas. La cuestión no era cómo calcularlo, sino cómo sacarlo del terminal.

Alexey Viktorov:

Si lo necesitas para mql5 debes usar

MQL5 de nuevo...

Permítanme reformular mi pregunta... No necesito este valor ni una fórmula para calcularlo . Quiero el nombre de la constante(o su valor numérico) que puedo utilizar en la consulta SymbolInfoDouble() para obtener el valor que necesito del terminal. ¡Eso es! :)

 
ir0407:
Bueno... Parece una simple pregunta y empiezas una polémica... No he hecho una captura de pantalla de MT5 ni he creado un tema en la sección de MT4. No he venido aquí para asombrarte, sino para obtener una simple respuesta a una simple pregunta. Cómo sacar el valor correcto de la fórmula, lo sé bien. Somos buenos en matemáticas. La cuestión no era cómo calcular, sino cómo obtenerlo del terminal.

MQL5 de nuevo...

Permítanme intentar reformular la pregunta... No necesito calcular este valor, no necesito una fórmula para calcular este valor. Necesito un nombre constante(o un valor numérico) que pueda utilizar en la consulta SymbolInfoDouble() para obtener el valor que necesito del terminal. ¡Eso es! :)

En ese caso, la respuesta es inequívoca.

¡¡¡NADA!!!

Y nadie va a hacerlo. Sin embargo, es un enfoque extraño. Lo quiero, y los desarrolladores lo hacen por mí. Sólo porque quiero. Sinceramente traté de ayudar... pero por desgracia, no hubo suerte...

 
Alexey Viktorov:

Mi respuesta tiene todo para calcular todo lo que necesitas.

Pero no es el margen tomado en el momento de la apertura de la orden; es el margen en el momento presente, al precio actual. Sólo queda una incógnita, el margen porcentual que no es un valor porcentual y que se calcula con la fórmula. Entonces nos quedamos con el precio que no se corresponde con el último. De nuevo, utilizando la misma fórmula, calculamos el margen para el precio correspondiente.

El error de cálculo puede ser de un par de kopeks, pero es el error de redondeo.

Puede hacer un sencillo experimento, comparando el valor de MARGINREQUIRED y colocando órdenes reales de un tamaño de lote en diferentes instrumentos. Y entonces quedará claro que MARGINREQUIRED miente no sólo para las ventas, sino también para las tasas cruzadas.

Y, en segundo lugar, a la hora de calcular el margen total del instrumento para todas sus órdenes (oro, en nuestro caso), son los precios de apertura de las órdenes los que deben tenerse en cuenta. El valor MARGINREQUIRED no nos da nada en absoluto aquí.

 
K-2SO:

Se puede realizar un sencillo experimento comparando el valor de MARGINREQUIRED y realizando órdenes reales de un tamaño de lote en diferentes instrumentos. Y entonces quedará claro que el MARGEN REQUERIDO no sólo está en la venta, sino también en las tarifas cruzadas.

Y, en segundo lugar, a la hora de calcular el margen total del instrumento para todas sus órdenes (oro, en nuestro caso), son los precios de apertura de las órdenes los que deben tenerse en cuenta. El valor MARGINREQUIRED no me da nada en absoluto aquí.

No puedo entender por qué no funciona. Aquí tenemos 3 órdenes abiertas y el valor del margen corresponde a todos los cálculos en un 100%.


Razón de la queja: