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
el código se inserta, el archivo no se adjunta
Se han hecho correcciones.
Por favor, inténtalo de nuevo.
Se cuelga por el bucle infinito.
Tienes la única manera de salir del bucle: por ruptura. Pero la ruptura que tienes se produce cuando se cumple una determinada condición. Uno de los componentes
Se obtiene el mango del indicador dentro de la función cada vez y se copia sin comprobar si los datos están listos.
Sugerencia.
1. Lleva la variable del mango al nivel global.
2. Recibir el mango del indicador en OnInit (de todas formas no se cambian los parámetros de la parábola).
3. Antes de copiar los datos del buffer del indicador, compruebe su disponibilidad (calculabilidad) - la función BarsCalculated (Parabolic) le ayudará.
4) Organizar la salida del ciclo, si no se hace el punto 3. 3 no se cumple.
2. no está cambiando en el ejemplo de prueba, de hecho esta función se utiliza todo el tiempo con diferentes parámetros, es por eso que tengo el mango no en OnInit
3. lo comprobaré, es que no entiendo muy bien para qué lo necesito, la condición es tal que no puede fallar, una serie de puntos parabólicos son las barras más cercanas, definitivamente deben ser subidas (y en general, entiendo que el historial se sube al probador un año antes de la fecha especificada de inicio de la prueba). Realmente funciona bien. Funciona en MQL4 tanto en real como en el tester (aunque no hay una función parabólica separada, sino que está incorporada...).
Se han hecho correcciones.
Inténtalo de nuevo.
2. no cambia en el ejemplo de prueba, y de hecho esta función se utiliza todo el tiempo con diferentes parámetros, por lo que obtengo el mango no en OnInit
3. Ok, voy a hacer una comprobación, es que no entiendo muy bien el punto, la condición es tal que no puede fallar, una serie de puntos parabólicos son las barras más cercanas, definitivamente deben ser subidas (y en general, entiendo que el historial se sube al probador un año antes de la fecha de inicio de la prueba especificada). Realmente funciona bien. Funciona en MQL4 tanto en real como en el probador (aunque hay una función parabólica incorporada, no una separada).
3. Ya se discutió y describió en la referencia(https://www.mql5.com/ru/docs/series/barscalculated), por qué es necesario.
Nota
Esta función es útil cuando se desea obtener los datos del indicador justo después de su creación (para obtener un asa del indicador).
Este es su caso.
El indicador se calcula a partir de los datos de la barra. Las barras están ahí, pero los datos calculados pueden estar ausentes.
Esto significa que esta posición es el resultado de varias operaciones en este instrumento. En consecuencia, se ve el precio medio ponderado de la posición.
3. El motivo por el que se necesita ya se ha discutido muchas veces y se describe en la ayuda(https://www.mql5.com/ru/docs/series/barscalculated).
Este es su caso.
El indicador se calcula sobre los datos de la barra. Las barras están ahí, pero los datos calculados pueden no estarlo.
Sí, lo tengo con BarsCalculated, gracias.
Pero de todos modos es lógicamente incorrecto que funcione y no funcione en el probador. Es necesario tener todas las comprobaciones ya construidas en el probador, y si la petición va a algún dato y no está ahí, entonces aparecerá el error. Pero el probador tiene barras, pero por alguna razón no puede calcular los datos y se queda callado...
Creía queel precio medio ponderado era sólo un indicador técnico... No siempre me sale el 0 cuando lo ejecuto en el Probador de Estrategias... A veces pueden aparecer algunos céntimos.
Media ponderada por volumen. Por ejemplo, hubo tres operaciones en el EURUSD:
Como resultado, tenemos una posición en el EURUSD con un volumen de 0,6 lotes, pero ¿a qué precio?
Media ponderada por volumen. Por ejemplo, hubo tres operaciones en el EURUSD:
Terminamos con una posición en el EURUSD de 0,6 lotes, pero ¿a qué precio?
¿No sería más fácil redondear el precio al nivel de precisión de la moneda a nivel del servidor? Después de todo, cualquier EA tendría que sufrir con el ajuste en la precisión y el precio por punto...
¿Por qué debe sufrir el Asesor Experto? Este precio medio ponderado es necesario para calcular el cierre de las posiciones. No tiene ninguna utilidad para el Asesor Experto. Tendrá que cerrar la posición a un precio normal con el número de signos necesario para este símbolo.
En algunos casos, hay que tener un valor de precio normalizado, independientemente de cómo se reciba el precio.
Es más fácil hacer la normalización del lado del servidor mientras el servidor recalcule el precio de apertura de todos modos (al menos en mi opinión).
Por cierto, ya que hablamos de precio medio ponderado y plataforma de compensación.
Según tengo entendido, hay dos modelos de recorte (cierre parcial) de una posición perdedora que se cerró previamente:
1. No fijar la pérdida en el cierre parcial, sino simplemente recalcular el precio de apertura (si no me equivoco, eso es lo que hace el FC);
2. dejar el precio de apertura sin modificar, fijando la pérdida.
Lo mismo ocurre con la inversión de posiciones perdedoras
Quiero saber la opinión de los desarrolladores sobre qué método se estandarizará finalmente en MT5, si es posible por qué...