Errores, fallos, preguntas - página 2020
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
La función OrderCalcMargin no tiene en cuenta el precio de apertura al calcular el margen
¿Es esto un Bug o debería serlo?
Por supuesto que es un error. Escribir en la SD.
Esta línea funciona como debería, pero he tenido que comprobarlo porque tengo que adivinar el orden de ejecución. Discusión sobre este punto aquí.
Un error, por supuesto. Escribe en la SD.
Esta línea funciona como debería, pero he tenido que comprobarlo porque tengo que adivinar el orden de ejecución. Discusión de este punto aquí.
El orden de cálculo de las expresiones en Print() es de derecha a izquierda. Más o menos... Hasta ahora... También lo he comprobado de antemano :)
Es difícil estar seguro cuando hay unacontradicción directa en la referencia MQL4/5:
Referencia MQL5Fundamentos del lenguajeFuncionesPaso de parámetros
Nota
Recuerde que los parámetros se pasan a la función al revés, es decir , primero se calcula y se pasa el último parámetro, luego el penúltimo, y así sucesivamente. El parámetro que es el primero después del paréntesis de apertura se calcula y se pasa a la función en último lugar.
Referencia MQL5Fundamentos del lenguajeOperaciones y expresionesOtras operaciones
Llamada a una función con argumentos x1, x2,..., xn
Cada argumento puede ser una constante, una variable o una expresión del tipo correspondiente. Los argumentos pasados se separan por comas y deben ir entre paréntesis, el paréntesis de apertura debe seguir al nombre de la función.
El valor de la expresión es el valor devuelto por la función. Si el tipo de valor de retorno de una función es nulo, la llamada a la función no puede colocarse a la derecha de la operación de asignación. Nótese que el orden de las expresiones x1,..., xn está garantizado.
Hasta ahora me he centrado en pasar los parámetros en orden inverso.
Una pregunta sobre OrderCalcMargin surgió en un hilo vecinohttps://www.mql5.com/ru/forum/216697/page3
Prueba: vamos a comprobar 2 formas diferentes de calcular el depósito sustituyendo diferentes precios de apertura.
Aquí está el LOG
La función OrderCalcMargin no tiene en cuenta el precio de apertura al calcular el margen
Esto parece estar relacionado con el tipo de cambio de la moneda cotizada, que tiene que ser recalculado para la hora y el precio de apertura.
Si la moneda cotizada es el USD (y la moneda de la cuenta también es el USD), el margen calculado cambiará según el precio de apertura.
Registro para GBPUSD
¿Es un Bug o debería serlo?
Probablemente debería ser así, ya que en el cálculo intervienen sobre todo el AUDUSD y el USDJPY, y sus cotizaciones son constantes en el momento del cálculo.
Ahora, este pensamiento me hace querer comprobar... En la cuenta MetaQuotes-Demo en la visión general del mercado GBPUSD está presente, pero no en la cuenta robo...
Esto debe ser así porque el AUDUSD y el USDJPY, en particular, intervienen en el cálculo y sus cotizaciones no cambian en el momento del cálculo.
Ahora, este pensamiento me hace querer comprobar... GBPUSD está presente en la cuenta MetaQuotes-Demo, pero no en la cuenta Robo...
Sólo quería decirte que hay un error.
Ya he reproducido tu situación con Margen=0 en el cálculo de OrderCalcMargin.
Sólo que aún no lo he publicado.
En la cuenta MetaQuotes-Demo el GBPUSD está presente en Market Watch, pero no en la cuenta Robo...
Probablemente esté presente en Market Watch (no confundir con la lista general de símbolos), pero no se muestra.
Este debe ser el caso porque el AUDUSD y el USDJPY en particular están involucrados en el cálculo y sus cotizaciones no se modifican en el momento del cálculo.
Ahora, este pensamiento me hace querer comprobar... En la cuenta MetaQuotes-Demo en la visión general del mercado GBPUSD está presente pero no en la cuenta robo...
Aquí está la prueba:
1. Seleccionar cruces en MarketWatch, ocultar todo lo que tenga USD
2) Añade el símbolo DSHBTC y abre su gráfico.
3. Cerrar terminal
4) Abrir el terminal
5. Empecemos a probar el DSHBTC
Aquí está el LOG:
Todos los cruces muestran margen=0 y no se han seleccionado cruces mayores.
Una vez más, ejecute el script en DSHBTC
REGISTRO
No hay componentes importantes, pero el USDJPY es el único.
Todas las pruebas se realizaron en MetaQuotes
Es probable que esté presente en la Vigilancia del Mercado (que no debe confundirse con la lista general de símbolos), pero no se muestra.
De alguna manera estamos hablando de la misma cosa de diferentes maneras
De alguna manera estamos hablando de la misma cosa de diferentes maneras
Exactamente. El Market Watch no lo muestra, pero está ahí.
Arréglalo.
¡Hecho!
P.D. Se olvidó de quitar la reserva :)