Errores, fallos, preguntas - página 122

 
sergey1294:
Estoy deseando que la función OrderCalcMargin() funcione correctamente para CFD, futuros, índices, etc. ¿Puede alguien compartir fórmulas para calcular correctamente el margen de estos instrumentos?

¿No hay uno en la ayuda? Parece ser...
 
Interesting:

Y probablemente he sacado el tema, no se me ocurre otra razón...

Intentaré describir la situación con más detalle.

Hay una clase simple "CMqlTimer", la tarea de esta clase es seguir el momento de cambio de diferentes intervalos de tiempo: hora, día, semana, mes, año.

Todo se realiza con una primitiva muy simple, por ejemplo, si los minutos son iguales a 0 entonces ha llegado la "nueva hora"; si el número del día de la semana no corresponde al almacenado en la variable entonces ha llegado la alternancia de días ("00:00:00" por la hora del servidor). Y así sucesivamente.

El análisis se realiza cuando se dispara el temporizador, con un intervalo de 1 segundo, el trabajo se realiza en CMqlTimer::OnTimer(). Si el intervalo de tiempo cambia, la función debe ser ejecutada. Por ejemplo, si se trata de un "nuevo" día, se debe ejecutar la función CMqlTimer::OnRolloverDay().


Si eliminamos el resto del código y escribimos sólo OnRolloverDay(), el resultado será el siguiente:

Todos los eventos del usuario se rastrean y se pasan para su manejo a la clase principal

El aspecto es el siguiente

Por lo tanto, los eventos no llegan a OnChartEvent en modo de prueba, es decir, el Asesor Experto no puede manejar un evento enviado mediante EventChartCustom en modo de prueba. Lo he comprobado mostrando todos los eventos en el registro.

PS

Lo más interesante es que todos los eventos salen en la demo, pero en el tester, se niega a funcionar.

Antes del 319 todo funcionó y en el probador, los eventos se manejan con éxito. Es cierto que la última versión en la que funcionó no puedo decir...

alexvd:
Gracias. Tendremos que pensarlo.
¿Puedo preguntar cómo avanzan las cosas en este sentido? Realmente necesito que los eventos en el probador funcionen correctamente...
 
Interesting:
¿No está en la ayuda? Parece ser...

Definitivamente sí, lo que no entiendo son las siguientes variables en las fórmulas, resaltadas en rojo

Identificador

Descripción

Fórmula

SYMBOL_CALC_MODE_FOREX

Modo Forex - cálculo de beneficios y márgenes para Forex

Margen: Lotes*Tamaño_del_contrato/Levante

Beneficio: (precio_cerrado-precio_abierto)*Tamaño_del_contrato*Lotes

SYMBOL_CALC_MODE_FUTURES

Modo Futuros - calcular el margen y el beneficio de los futuros

Margen: Lotes *MargenInicial*Porcentaje/100

Beneficio: (precio_cierre-precio_abierto)*PrecioTick/TamañoTick*Lotes

SYMBOL_CALC_MODE_CFD

Modo CFD: cálculo del margen y del beneficio para CFD

Margen: Lotes *Tamaño del contrato*Precio de mercado*Porcentaje/100

Beneficio: (precio_cerrado-precio_abierto)*Tamaño_del_contrato*Lotes

SYMBOL_CALC_MODE_CFDINDEX

Modo de índice CFD: cálculo del margen y del beneficio para los índices CFD

Margen: (Lotes*Tamaño del contrato*Precio del mercado)*Precio del tick/Tamaño del tick

Beneficio: (precio_cerrado-precio_abierto)*Tamaño_del_contrato*Lotes

SYMBOL_CALC_MODE_CFDLEVERAGE

Modo de apalancamiento de CFD: cálculo del margen y el beneficio de los CFD cuando se opera con apalancamiento

Margen: (Lotes*Tamaño del contrato*Precio de mercado*Porcentaje)/Levante

Beneficio: (precio_cerrado-precio_abierto)*Tamaño_del_contrato*Lotes

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 
Interesting:
¿Puedo preguntar cómo avanzan las cosas en este sentido? Realmente necesito que los eventos en el probador funcionen correctamente...

A petición suya, la solicitud se ha formado - ¡no se perderá!

 
alexvd:

A petición suya, la solicitud se ha formado - ¡no se perderá!

Gracias, esperaremos...
 

Error: antes funcionaba, pero ahora no.

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
  // вот так работает
     Print(TimeCurrent()+2*PeriodSeconds(PERIOD_D1));
  // а вот так нет (а раньше работало)  
     datetime    time_end=0;
     time_end=TimeCurrent()+2*PeriodSeconds(PERIOD_D1);
     Print(time_end);
  }
 
Prival:

Error: antes funcionaba, pero ahora no.

A mí me funciona.

Este es el resultado:

2010.09.08 20:15:12 Borrador1_1 (EURUSD,M15) 2010.09.10 19:15:04
2010.09.08 20:15:12 Borrador1_1 (EURUSD,M15) 2010.09.10 19:15:04

 
Prival:

Error: antes funcionaba, pero ahora no.

Ambos funcionan para mí. Construir 324
 


2010.09.08 21:09:13 00 (EURUSD,M1) 2010.09.08 12:32:25
2010.09.08 21:09:13 00 (EURUSD,M1) 2010.09.10 19:09:13

No, no funciona. Los números son diferentes. Construye 324. Win7 64bit.

 

Prival:

2010.09.08 21:09:13 00 (EURUSD,M1) 2010.09.08 12:32:25
2010.09.08 21:09:13 00 (EURUSD,M1) 2010.09.10 19:09:13

Tengo esto:

2010.09.08 21:18:04 PrivalTest (EURUSD,H1) 2010.09.10 19:18:15
2010.09.08 21:18:04 PrivalTest (EURUSD,H1) 2010.09.10 19:18:15

Actas:

2010.09.08 21:30:15 PrivalTest (EURUSD,M1) 2010.09.10 19:30:24
2010.09.08 21:30:15 PrivalTest (EURUSD,M1) 2010.09.10 19:30:24

Win XP.