Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 891

 
leonerd:

Pero aquí no se tienen en cuenta las órdenes dirigidas de forma diferente y el factor de cobertura del margen.

La "dirección de la orden" se contabiliza medianteAccountFreeMarginCheck https://docs.mql4.com/ru/account/accountfreemargincheck

Para su propósito, mi función necesita pasar el lote total y el tipo de orden OP_BUY u OP_SELL como parámetros
Si se trata de un contracierre, el margen se libera allí,

Para un candado había algo parecido, pero no todos los brokers utilizan la misma forma de cálculo de márgenes para un candado, no lo recuerdo, el tema del candado parece que ha remitido en la runeta, no tiene demanda

para el coeficiente parece ser sobre el apalancamiento, había hilos de discusión, la búsqueda a través del foro "cálculo de margen" debe ser capaz de encontrar, no he tratado este tema desde hace mucho tiempo, no está en alta demanda

aquí hay un artículo sobre el tema, parece que tiene un cálculo de margenhttps://www.mql5.com/ru/articles/2555

AccountFreeMarginCheck - Информация о счете - Справочник MQL4
AccountFreeMarginCheck - Информация о счете - Справочник MQL4
  • docs.mql4.com
Размер свободных средств, которые останутся после открытия указанного ордера по текущей цене на текущем счете. Если свободных средств не хватает, то будет сгенерирована ошибка 134 (ERR_NOT_ENOUGH_MONEY).
 
Igor Makanu:

La "dirección de la orden" se contabiliza medianteAccountFreeMarginCheck https://docs.mql4.com/ru/account/accountfreemargincheck

Para su propósito, mi función necesita pasar el lote total y el tipo de orden OP_BUY u OP_SELL como parámetros
Si se trata de un contracierre, el margen se libera allí,

No lo recuerdo, el tema de las cerraduras parece haber remitido en la runeta, no tiene demanda.

para el coeficiente parece ser sobre el apalancamiento, había hilos de discusión, la búsqueda a través del foro "cálculo de margen" debe ser capaz de encontrar, no he tratado este tema desde hace mucho tiempo, no está en alta demanda

aquí hay un artículo sobre el tema, parece que hay un cálculo de margenhttps://www.mql5.com/ru/articles/2555

AccountFreeMarginCheck asume que este es el precio actual. Mi precio no es el actual. Es diferente.

 
¿SYMBOL_MARGIN_HEDGED no es análogo para MT4?
 
leonerd:
¿SYMBOL_MARGIN_HEDGED no es análogo para MT4?
MarketInfo(_Symbol, MODE_MARGINHEDGED);
 
Alexey Viktorov:

Gracias. ¿Y esto? ¿Es posible calcular lo que necesito? Margen para que las órdenes se abran con antelación, conociendo su precio y volumen.

 

Por favor, díganme por qué no hay cambios en el programa y no muestra las existencias de petróleo y materias primas

 
leonerd:

Gracias. ¿Y esto? ¿Es posible calcular lo que necesito? El margen para que las órdenes se abran con antelación, conociendo su precio y volumen.

Creo que si se puede predecir el precio de los activos involucrados en el valor del margen, las órdenes que se van a abrir, no será costoso. No es necesario operar en el mercado de divisas, simplemente puedes decirle a toda la sociedad por dinero cuál será el precio en xx minutos.

Probablemente sea mejor calcular cuánto dinero necesitará para abrir una orden en el momento actual.

Tú lo has dicho... Pero no voy a cambiarlo por principio. Sólo estoy borracho. No voy a cambiarlo.

De todos modos, por la razón ya expuesta, no puedo entender el sabb en sí. Tal vez lo resuelva mañana. Pero en cualquier caso, el margen de las órdenes pendientes es IMPOSIBLE.

Una cosa más: en el momento de abrir una orden, el margen se calcula completamente y sólo después de abrirla, se corregirá según MODE_MARGINHEDGED.

En consecuencia, si necesita calcular una operación para bloquear una posición perdedora, debe contar como una apertura con un margen del 100% y sólo después abrir una orden adicional con los fondos liberados.

Si me equivoco... Lo siento...

 
Alexey Viktorov:

Lo más importante es el DERECHO.

Sí gracias no es conveniente poner esos ceros en la impresión.

 
Chicos que pueden ayudar con esta pregunta. Quiero declarar una variable global de tipo indefinido o de tipo arbitrario. Entonces esta variable se utilizará en funciones con plantillas. En otras palabras, llamo a la función y tomo un array de cualquier tipo, entonces los cálculos se harán y el resultado será devuelto por la función, y también será asignado a esta variable. Quiero almacenar el resultado del cálculo de estos parámetros en una variable, para no tener que llamar a la función dos veces. ¿Cómo puedo encontrar una solución universal con la menor cantidad de comprobaciones, puedo convertir el tipo de variable, o declarar una variable a través de una macro, qué puedo hacer?
 
Alexey Viktorov:


Una observación más: en el momento de la apertura de la orden, el margen se calcula en su totalidad y sólo después de la apertura se corrige el margen de acuerdo con MODE_MARGINHEDGED.

En consecuencia, si necesita calcular el tamaño de la operación para bloquear una posición perdedora, debe considerarla como una apertura con un margen del 100% y sólo después abrir una orden adicional con los fondos liberados.

Si me equivoco... Lo siento...

No entiendo muy bien este comentario. Puede abrir una posición de bloqueo (opuesta a la abierta) si su margen es inferior al margen de la orden recién abierta (no en la propia posición). Entonces, ¿dónde está el 100%?

Razón de la queja: