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
Urain, sergeev gracias por las respuestas.
Sé lo de escribir índices en un array, pensé que podría haber algo más rápido.
Es la primera vez que oigo hablar de la clasificación por "burbujas". Si puedes, por favor, dame más detalles y mejor con un simple ejemplo. De todos modos, leeré sus enlaces.
Gracias de nuevo por las respuestas.
http://ru.wikipedia.org/wiki/Сортировка_пузырьком
Por cierto, por cierto, el artículo implementa la ordenación de índices en forma de coctelera (pero yo lo llamo ordenación en forma de burbuja por costumbre).
El agitador se diferencia del de burbujas en que el de burbujas es unidireccional, mientras que el agitador es alternativo, lo que acelera la clasificación al reducir las pasadas, ya que las burbujas no sólo flotan sino que se hunden.
¿Adivina tres veces cuál es el indicador por el que he venido a preguntar? La respuesta correcta es iFractals. Inesperado, ¿no?
La sección de ayuda de Custom Indicators https://www.mql5.com/ru/docs/customind dice:"Por ejemplo, si current rates_total=1000 y prev_calculated=999, entonces quizás sólo necesitemos hacer cálculos para un valor de cada buffer de indicador. "Pero todo esto se aplica a la primera forma -corta- de la llamada a la función OnCalculate(). Si, por el contrario, hay varios tampones indicadores implicados en el cálculo, esta forma no funcionará.
Vamos a ejecutar en M1 el código del ejemplo de iFractals de la Ayuda, donde se utiliza la segunda forma - completa - de la llamada a la función OnCalculate(). Pero antes, dentro de esta función vamos a corregir
Comment(comm);a
Print(comm);para no perder de vista ninguna línea con salida (si se deja como está, visualmente siempre se verá el 1, porque otros valores son raros e inmediatamente sustituidos por el 1, por lo que parece que siempre sale el 1). Tras el tiempo de ejecución vemos que los valores no unitarios se producen cada minuto, es decir, en cada nueva barra, lo que indica inequívocamente que el indicador se redibuja cada minutototalmente a pesar de que el código utilizaalgoritmo económico. Los dudosos pueden añadir varias líneas de código, dibujando, por ejemplo, líneas verticales en cada fractal y luego eliminarlas después del primer dibujo y esperar a que el conjunto completo de las mismas líneas aparezca al cabo de un minuto con una nueva barra. Por alguna razón no se trata de dibujar sólo el último fractal o línea.
Pregunta a los desarrolladores: ¿se ha escrito el indicador de forma descuidada o no se ha pretendido representar sólo el último -nuevo- valor calculado del fractal? ¿O he confundido alegremente un bloque de código con cálculos values_to_copy con un algoritmo económico que no existe en absoluto? ¿O en la forma completa de la llamada a la función OnCalculate( ) es imposible utilizar el análogo de const int begin para establecer el comienzo de los datos significativos?
Tenga en cuenta que durante el experimento no se llenan los "agujeros" de la historia, ni se cargan las barras del pasado, ni se producen otros eventos que pongan a cero prev_calculado. Es decir, no hay razón para recalcular los valores de todo el indicador.
Por supuesto, yo mismo haría algo tolerable para este notorio algoritmo ahorrador, pero la opinión oficial de los desarrolladores sobre este asunto y las correcciones si son necesarias, aparentemente, son importantes aquí.
Petición convincente a los desarrolladores (por cierto, no soy el primero en pedirlo): por favor, sustituyan la antigua versión del indicador Fractals por la nueva. (Como referencia: en la versión antigua el fractal más fresco puede aparecer en la última barra (lo que puede provocar su redibujado indeseado), mientras que en la nueva versión el fractal más fresco puede aparecer hasta tres barras antes de la última barra). Por supuesto, podemos dibujar manualmente una versión antigua o una nueva en un gráfico si lo deseamos, pero cuando intentemos referirnos al mango de iFractals en nuestro código, se seguirá utilizando la versión antigua. Cuánto tiempo perdido tratando de emocionarme con ello y de no estamparme la cara contra la mesa tratando de precisar este supuesto bug...
P.D.: No he actualizado todo, sólo a través de Live Update. ¿Puede ser la razón de ello? ¿Algún consejo? Si es así, lo actualizaré completamente.
Petición convincente a los desarrolladores (por cierto, no soy el primero en pedirlo): por favor, sustituyan la antigua versión del indicador Fractals por la nueva. (Para su referencia: en la versión antigua el fractal más fresco puede aparecer en la última barra (lo que puede provocar su redibujado indeseado), mientras que en la nueva versión el fractal más fresco puede aparecer hasta tres barras antes de la última barra). Por supuesto, podemos dibujar manualmente una versión antigua o una nueva en un gráfico si lo deseamos, pero cuando intentemos referirnos al mango de iFractals en nuestro código, la versión antigua seguirá funcionando. Cuánto tiempo perdido tratando de emocionarme con ello y de no aplastar mi cara contra la mesa tratando de precisar este supuesto bug...
P.D.: No he actualizado todo, sólo a través de Live Update. ¿Puede ser la razón de ello? ¿Algún consejo? Si es así, lo actualizaré completamente.
¿Qué le impide utilizar iCustom(...)?
Petición convincente a los desarrolladores (por cierto, no soy el primero en pedirlo): por favor, sustituyan la versión antigua del indicador Fractals por la nueva. (Como referencia: en la versión antigua el fractal más fresco puede aparecer en la última barra (lo que puede provocar su redibujado indeseado), mientras que en la nueva versión el fractal más fresco puede aparecer hasta tres barras antes de la última barra).
1. ¿De qué nueva versión estamos hablando?
2. ¿Qué le impide encuestar a 3 barras en lugar de 2?
etc. algo no funciona. Arriba hay un trozo de código de CCFp.mq5, que instalé para la autocomprobación. Mi propio indicador (escrito según el mismo principio, es decir, Handles->CopyBuffer)
No funciona(Print(buff[i]) muestra una mierda.
¡Por favor: Si tienes la solución, por favor dame el código! MT5 bild 555/.
Acabo de escuchar el terminal reconectándose con el servidor después de una pausa, lo he mirado y es así, está fallando de nuevo:
Acabo de escuchar que el terminal se reconecta con el servidor después de una pausa, lo he buscado y es así, vuelve a tener un fallo:
1. ¿De qué nueva versión estamos hablando?
2. ¿Qué le impide encuestar a 3 barras en lugar de 2?
1. Hay dos indicadores Fractales aparentemente idénticos en los indicadores estándar: en la sección con los indicadores de Bill Williams y en la sección Personalizada. Al compararlos, vemos que el primero tiende a redibujar algunos de los fractales frescos en la última barra, mientras que el segundo no tiene este inconveniente, ya que el fractal se comprueba en el bucle utilizando su propio algoritmo para i<tasa_total-3, es decir, con una barra de sobra, mientras que los propios fractales se forman algorítmicamente comprobando sólo dos barras adyacentes y, si es necesario, se confirman completamente sólo cuando aparece una nueva tercera barra. Conozco la ubicación de los fractales correctos: C:\NArchivos de Programa\NMetaTrader 5\NMQL5\NIndicadores\NEjemplos\NFractals.mq5, peroiFractals no lo conoce, peroiFractals conoce el camino a la versión antigua que apenas puedo encontrar. ¿Toma el código antiguo de C:\NArchivos de Programa\NMetaTrader 5\MQL5\NInclude\NIndicators\NBillWilliams.mqh?
2. Nada, esta solución es obvia y ya casi la estoy usando. Pero aquí está la cosa. Si no miramos en profundidad el proyecto y tenemos en cuenta sólo los fractales, entonces sí - no hay nada malo en el recableado; pero si hacemos construcciones gráficas de AT basadas en fractales saltantes y realizamos auto-trading en base a ellos, entonces en algunos casos se producen operaciones falsas (apertura de posiciones demasiado temprana), porque aún no se ha producido el recableado de los fractales y no se ha realizado la corrección de las construcciones, pero la señal de entrada al mercado ya ha funcionado. Cuando se produzca el rediseño del fractal más la reconstrucción de la herramienta gráfica, se corregirá todo excepto la posición abierta prematuramente. No es la solución más agradable paralizar la posición cerrando, reduciendo o abriendo la contraria - esto requiere filtros adicionales, comprobaciones, que se contradicen con una señal dudosa y por tanto disminuyen la frecuencia de las operaciones, además de añadir otros lastres que complican el indicador.
En principio, se puede ceder y aceptar usar el fractal menos primero, no el último, que aún es dudoso y puede ser redibujado. Pero para mí es el típico ejemplo de muleta, que a veces se acumula en el propio código y que no debería existir, si es posible... y ni siquiera hablo de la tardanza en obtener la información correcta del mercado y hacer construcciones.
Tengo una pregunta: ¿es posible obtener los datos del indicador para diferentes pares de divisas, no sólo para el que está instalado el indicador?
etc. Algo no funciona. Arriba hay un trozo de código de CCFp.mq5, que instalé para la autocomprobación. Mi propio indicador (escrito según el mismo principio, es decir, Handles->CopyBuffer)
No funciona(Print(buff[i]) muestra una mierda.
Petición: ¡Si tienes la solución, por favor dame el código! MT5 bild 555/
Sí, parece que he resuelto el problema por mi cuenta.
Pregunta a los administradores: Lo descargué del sitio, en el ejemplo de la ayuda usé (xxx=iMA(.....)), pero MA no está en los indicadores, está en el inluido. ¿Es un test de inteligencia?
Siento el tiempo.