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

 
K-2SO:

Me quito el sombrero, ¡casi aciertas! En los tres corredores revisados anteriormente con diferentes porcentajes de margen, el cálculo para el oro (para órdenes en una dirección) es correcto.

Pero el guión sigue fallando con los exóticos. He parado en el broker fxcm. El porcentaje de margen para el oro es de 70000, para los pares de divisas convencionales es de 130, la moneda de margen parece ser el USD. ¡Y nada cuenta correctamente en ninguna parte! (. Yo mismo he estado buscando la clave durante dos días, y de hecho a raíz de esto ahora estoy buscando una respuesta a la pregunta, cómo es que como resultado de los cálculos de las monedas base y sus tipos con las monedas de cotización, obtenemos una moneda de margen... Quizás sea esto, o quizás sea el hecho de que este broker tiene en cuenta el porcentaje de margen incluso para los pares de divisas normales.

Puedes descargar el terminal aquí ru.files.fm/u/xfezz883#_ , descomprimirlo, ejecutar el archivo exe, iniciar la demo...

Abrí una demo, incluso dos, uno no tiene oro, el otro XAUUSD con el porcentaje de margen 70000 y el lote estándar 1. Y la razón no es el cálculo correcto en el

percentage = NormalizeDouble(
                             margin          // Маржа получена в валюте депозита с учётом плеча
                           /(contractSize    // Размер контракта в базовой валюте
                            *price           // Умножаем на текущую цену и получаем в валюте депозита
                            /100)            // Это для того чтобы коэффициент перевести в проценты
                           *(calcMode == 0 ? leverage : 1) // Это получено методом научно-технического тыка.
                                    // Если способ расчёта 0 - Forex; то надо учесть плечо
                                    //                     1 - CFD; то плечо не учитывается
                                    //                     2 - Futures; 3 - CFD на индексы НЕ проверялись, их у меня нету...
                           , 0);

experimente usted mismo con estas líneas.

      percentage = NormalizeDouble(margin/(contractSize*price/100)*(calcMode == 0 ? leverage : 1), 0);
      orderMargin = (orderLots*contractSize*orderOpenPrice*percentage/100)/(calcMode == 0 ? leverage : 1);

Si me aburro, quizá también experimente.

 
Alexey Viktorov:

Las cruces no son un problema de cálculo. Sólo tiene que tomar una cotización que traduzca la moneda del margen a la moneda del depósito.

Por ejemplo, el precio del EURJPY

Si el depósito es en USD, debe utilizar EURUSD. El CADJPY debe calcularse utilizando el USDCAD. Aquí debemos ver cómo añadir la moneda del depósito a la moneda del margen, no debemos simplemente introducirla en la lista.

Los contadores no son tan difíciles teniendo MarketInfo(symbol, MODE_MARGINHEDGED). El único problema es encontrar el contador primero, y luego descomponer parte del contador y el resto completamente...

En general, veo que la única ventaja de este artículo es que el operador sabe de antemano qué margen se tomará cuando se active la orden pendiente y elimina la orden pendiente a tiempo si no hay suficiente dinero. Una vez tuve problemas con esto al colocar un EA en el mercado.

2017.06.06 18:00:01.890 Script vik2 XAUUSD,H1: removed
2017.06.06 18:00:01.875 vik2 XAUUSD,H1: uninit reason 0
2017.06.06 18:00:01.875 vik2 XAUUSD,H1: ******** AccountMargin = 12.93 USD
2017.06.06 18:00:01.875 vik2 XAUUSD,H1: ******** Процент маржи 1 Маржа ордера XAUUSD 1.0 = 12.933
2017.06.06 18:00:01.875 vik2 XAUUSD,H1: initialized
2017.06.06 18:00:01.859 Script vik2 XAUUSD,H1: loaded successfully
2017.06.06 17:59:51.593 Compiling 'vik2'

Aprovechar el 100

 
Alexey Viktorov:

He abierto una demo, incluso dos, una no tiene oro, la otra tiene XAUUSD con un porcentaje de margen de 70000 y un lote estándar de 1. Y la razón del cálculo incorrecto es

Bueno, de eso se trata todo este tema... y creo que no hay un cálculo universal después de todo )
 

Y luego en los pares de divisas normales en el método de cálculo de Forex, ¿hay que tener en cuenta el porcentaje?

2017.06.06 18:09:54.640 Script vik2 EURUSD,H1: removed
2017.06.06 18:09:54.640 vik2 EURUSD,H1: uninit reason 0
2017.06.06 18:09:54.640 vik2 EURUSD,H1: ******** AccountMargin = 1295.77 USD
2017.06.06 18:09:54.640 vik2 EURUSD,H1: ******** Процент маржи 115 Маржа ордера EURUSD 1.0 = 1295.774
2017.06.06 18:09:54.640 vik2 EURUSD,H1: initialized
2017.06.06 18:09:54.625 Script vik2 EURUSD,H1: loaded successfully


 
K-2SO:
Bueno, de eso se trata todo este tema... y no creo que haya un cálculo único para todos).
¿Por qué no? Hay un enlace en la primera página con fórmulas. Se puede dividir en varios algoritmos dependiendo de cómo se haga el cálculo. Lo que he sugerido para experimentar es fundamentalmente erróneo, no pierdas tu tiempo. Tienes que ir por el otro lado.
 
Alexey Viktorov:
¿Por qué no? Hay un enlace en la primera página donde están disponibles las fórmulas. Se puede desglosar en varios algoritmos en función de cómo se realice el cálculo. Lo que he sugerido para experimentar es fundamentalmente erróneo, no pierdas el tiempo. Tienes que ir por el otro lado.
He probado estas fórmulas en el método de cálculo FOREX, nada funciona correctamente en absoluto en el último corredor, incluso para EURUSD.
 
K-2SO:
He probado estas fórmulas en el método de cálculo FOREX, en el último broker nada funciona correctamente en absoluto, ni siquiera para el EURUSD.
¿Cómo es que no funciona? Mi script utiliza fórmulas de allí y parece que funciona para forex y cfd. Los futuros y los índices se calculan con fórmulas diferentes y no las he utilizado.
 
Alexey Viktorov:
¿Cómo es que no funciona? En mi script, las fórmulas son de allí y parecen funcionar para forex y cfd. Pero los futuros y los índices se calculan con fórmulas diferentes y no las he utilizado.
Te he dado capturas de pantalla más arriba de cómo funcionan...
 
K-2SO:
Te he dado capturas de pantalla más arriba de cómo funcionan...
Sí. Mi script cuenta el margen para CFDs y forex, y tus capturas son para futuros, cuyas fórmulas están en la misma página.
 
Alexey Viktorov:
Sí. Mi script calcula el margen para CFD y forex, y tus capturas de pantalla son para futuros, cuyas fórmulas están en la misma página.

¿De dónde has sacado esa conclusión?^ ^


La forma de calcular el margen para el XAUUSD, también Forex... allí el beneficio es de los futuros, no el que estamos tratando de calcular.
Razón de la queja: