una estrategia de negociación basada en la teoría de las ondas de Elliott - página 76

 
Un punto importante: ¿los objetos no se crean ni se dibujan? ¿Se pueden leer las propiedades de los objetos no dibujados?
 
Aquí hay una nueva sorpresa - el dibujo de las flechas no cambia el tiempo de ejecución, es interesante.
El tiempo es de 4 minutos y pico, en realidad no ha cambiado.

2006.07.08 19:35:45 HistoriaCanales EURUSD,M30: deinitialized<br / translate="no"> 2006.07.08 19:35:45 HistoriaCanales EURUSD,M30: Ejecutando deinit()
2006.07.08 19:35:45 PM HistoriaCanales EURUSD,M30: Tiempo de algoritmo optimizado 261281 ms
2006.07.08 19:31:24 HistorialCanales EURUSD,M30: inicializado
2006.07.08 19:31:19 HistoriaCanales EURUSD,M30: cargado con éxito
2006.07.08 19:31:11 Compilando 'HistoryChannells'
 
Un punto importante: ¿los objetos no se crean ni se dibujan? ¿Se pueden leer las propiedades de los objetos no pintados? <br / translate="no">


Los objetos son creados - lo he comprobado específicamente, incluso se puede ver la propiedad de la flecha "invisible". Aquí está el código:
     centerLR=BestChannels[0][2]*(lastBar-1)+BestChannels[0][3]; ObjectCreate("up "+UpArrowCounter,OBJ_ARROW,0,Time[lastBar-1],centerLR+BestChannels[0][5]);
      ObjectSet("up "+UpArrowCounter,OBJPROP_ARROWCODE,158); ObjectSet("up "+UpArrowCounter,OBJPROP_COLOR,Red);
      ObjectCreate("down "+DownArrowCounter,OBJ_ARROW,0,Time[lastBar-1],centerLR-BestChannels[0][5]); ObjectSet("down"+DownArrowCounter,OBJPROP_ARROWCODE,158); ObjectSet("down "+DownArrowCounter,OBJPROP_COLOR,Red); UpArrowCounter++; DownArrowCounter++;



pero aquí está el dibujo:

 
Hmmm... resulta que es culpa mía, tendré que comprobarlo mañana. Es suficiente por hoy.
 
Sí, también lo he comprobado con este código
 for (i=0; i<50000;i++) { obj_name = i; ObjectCreate(obj_name,OBJ_TREND,0,Time[0],i,Time[1],i); ObjectSet(obj_name, OBJPROP_STYLE, DRAW_NONE);
    j = ObjectGet(obj_name, OBJPROP_PRICE1); Print(j); } for (i=0; i<50000;i++) { obj_name = i; ObjectDelete(obj_name); }


 
<br / translate="no">
Las imágenes deben estar en caracteres latinos solamente y preferiblemente en formato *.png (el gif no se muestra por enlace en este foro).


Está todo hecho así, digo en la ventana del editor, aparece normal, y en cuanto pulso el botón de añadir o guardar dependiendo de lo que añada o modifique el mensaje desaparece e incluso desaparece lo que he escrito :(
 
Ok, me fui por el otro lado (me empezaron a mandar 30 segundos, aunque esperar 10 minutos no sirve de nada :( ) pero en fin, solo quería mostrar que en este momento tengo un judío, pero probablemente no sea relevante
 
Aquí hay una nueva sorpresa: dibujar flechas no cambia el tiempo de ejecución, lo cual es interesante.

Tengo este efecto, dependiendo de cómo ejecute el algoritmo comentado aquí, el tiempo de ejecución es 0 o 16 ms. Supongo que en algunos casos el algoritmo se ejecuta de forma continua, mientras que en otros se interrumpe y se ejecuta el ciclo terminal completo (porque los números se repiten de forma estable). Por analogía, ¿el sorteo no puede tener lugar después del final de los cálculos?
 
Vladislav 02.06.06 11:26 <br / translate="no"> En cuanto a la aplicación práctica, o más bien los métodos subyacentes, todo es bastante simple: la función cuadrática tiene coeficientes que usted necesita para elegir de manera óptima - la regresión da una estimación lineal, más precisa para su construcción. Y, en consecuencia, podrá estimar hasta qué límites (amplitudes) en la expansión de Taylor (construcción de la forma cuadrática) puede utilizar este coeficiente. Además, en cuanto a otros coeficientes, piense usted mismo. Y para encontrar el mínimo de energía potencial no es necesario conocer la trayectoria del precio, sino lo que es más importante conocer - el gradiente potencial ;). Es decir, el estado dinámico de su potencial cero - hay que contar algo para el potencial cero. Y todo esto es suficiente para estimar - la diferenciación directa no es necesaria.
En sentido figurado, "en los dedos", aplicando imágenes geométricas:
imagina que hay una bola rodando sobre una superficie (análoga a un terreno accidentado) (este es el precio). No es necesario conocer los entresijos de la construcción del balón para determinar las zonas de atracción de la trayectoria del mismo. Es mucho más útil conocer las propiedades de este "terreno accidentado".

Vladislav 14.06.06 21:06
Muy cierto, de hecho escribí sobre ello que el mínimo de la energía potencial funcional sirve como uno de los criterios para la selección de canales. Y es una propiedad de la potencialidad del campo de precios, mientras que no busco la trayectoria en sí misma debido (de nuevo) al hecho de que todas las trayectorias que se ajustan al intervalo de confianza deben considerarse equivalentes para una probabilidad dada. Es decir, la construcción de las proyecciones se reduce primero a la selección de la muestra y luego al álgebra lineal.

Como continuación del tema, sobre el que ya he escrito mis ideas en la página 33, tengo una idea más sobre la búsqueda de un canal con mínima energía potencial en una serie de canales consecutivos que satisfagan las condiciones ya mencionadas. ¿Qué tenemos al construir un canal de regresión lineal? Tenemos una región limitada por sus fronteras, dentro de la cual el precio puede moverse como quiera. La única condición que se ha cumplido es la de que el precio se mantenga dentro de ese canal. Además, Vladislav dijo que todas las trayectorias que caen dentro del intervalo de confianza deben considerarse iguales para una probabilidad determinada. Entonces asumimos que el precio podría moverse por una función cuadrática durante su movimiento - es decir, no violamos la declaración anterior. Sobre todo porque esta afirmación parte del supuesto de que el campo de los precios es potencial. Es decir, para cualquier momento en el tiempo (y para cualquier muestra) podemos construir una parábola aproximada y decir que, en base a esta muestra, el precio tuvo tal trayectoria, alrededor de la cual se movió en esta muestra. En sentido figurado, se trata de un canal inclinado parabólico y de una bola con múltiples inhomogeneidades en su superficie. Ahora, ¿qué podemos tomar como estado dinámico del potencial de punto cero? Dado que la bola rueda desde el principio del canal hasta su final moviéndose a lo largo de nuestra parábola oblicua condicional, el mínimo de energía potencial para esta parábola estará, por supuesto, en el momento actual en la trayectoria de esta parábola y, en consecuencia, en el momento actual actuará sobre la bola la fuerza (gradiente de potencial) que tiende a desplazarla hacia la trayectoria de la parábola (precio). Ahora, ¿cómo encontrar la magnitud y la dirección de este gradiente? Es muy simple - encontrar la parábola por el método de ISC y luego encontrar la diferencia entre el precio actual y esta parábola (mínimo de potencial). Por supuesto, esta diferencia puede ser tanto positiva como negativa. Además, debido a que el canal de regresión lineal elegido debe ser el "verdadero" para la previsión, la muestra debe tener tanto las condiciones de convergencia conocidas (RMS<SCO2/3) como cualquier otra condición que confirme dicha convergencia. La mención de Vladislav al mínimo de energía potencial funcional me llevó a la idea de que para ello es necesario que la suma de los gradientes de potencial sea lo más pequeña posible para el canal en el que construimos estas canalizaciones parabólicas de aproximación sobre las que rueda la bola y que son la mejor descripción de nuestro terreno accidentado. Por supuesto, inmediatamente traté de comprobar este supuesto en la práctica y comparto los resultados en este enlace https://c.mql5.com/mql4/forum/2006/07/min_poten_energy.zip

¿Qué vemos en estos gráficos? Podemos ver el canal de una regresión lineal dibujado con el método de mínimo RMS en una serie, que actualmente uso en mi Asesor Experto. En otro gráfico, dibujamos la gráfica de la suma algebraica (es decir, realizo la suma de gradientes teniendo en cuenta sus signos (+/-)) de los gradientes del potencial de la bola con respecto a la línea de parábola construida para la muestra actual. Para simplificar la comprensión puedo decir que aquí se utiliza absolutamente el mismo enfoque que se utiliza para la determinación del coeficiente de Hurst con la diferencia de que en lugar de aproximar el canal de regresión lineal se toma una parábola (función cuadrática), y también se construye la propia parábola para toda la muestra actual, incluyendo la barra calculada para la que se busca el gradiente potencial. Por si acaso, le recuerdo que para hallar el coeficiente de Hurst tomamos una muestra que no incluye la barra actual.
La línea vertical azul indica el mínimo local de la suma algebraica de los gradientes de potencial para el canal a partir de esta misma barra. Si se observan detenidamente los gráficos del EURUSD y del USDCHF, se puede ver que los mínimos locales son exactamente (+/-1 barra) los mismos que los máximos/mínimos locales del precio. Atribuyo el error de 1 bar a las peculiaridades de la preparación de la muestra. Elijo los valores de las barras (O+H+L+C)/4 como muestra. Probablemente, en este caso deberíamos elegir selectivamente Alta o Baja que eliminaría definitivamente un error de determinación del canal con la mínima energía potencial. Y entonces los canales de la serie coincidirán exactamente con los que aparecen en la imagen mostrada anteriormente por Vladislav para el USDCHF. Bueno, voy a tratar de implementar este supuesto en mi EA. Creo que se acerca mucho al método de selección de canales utilizado por Vladislav y compartido por él.

PD: El gráfico muestra el módulo de suma algebraica de gradientes (para mayor claridad). Para calcular el potencial de gradiente en la barra actual, construya una parábola para la muestra desde el inicio del canal hasta la barra actual, incluyendo la propia barra calculada. Es decir, si se seleccionan 100 barras, hay que calcular 97 parábolas, porque para construir una parábola con el método ANC hay que tener al menos 4 muestras (lo he comprobado hoy experimentalmente ;o)). En consecuencia, simplemente tomo el gradiente de potencial en las 3 primeras barras como igual a cero. Rosh, creo que aquí se podrá optimizar los algoritmos de cálculo, ya que el cálculo de la parábola lleva varias veces más tiempo que el cálculo del canal de regresión lineal ;o)).
 
А вот и новый сюрприз - рисование стрелочек не меняет времени прогона, это интересно.

Tengo este efecto, dependiendo de cómo ejecute el algoritmo comentado aquí, el tiempo de ejecución es 0 o 16 ms. Supongo que en algunos casos el algoritmo se ejecuta de forma continua, y en otros se interrumpe y se ejecuta el ciclo terminal completo (porque los números se repiten de forma constante). Por analogía, ¿el sorteo no puede realizarse tras el fin de los cálculos?



En este enlace - "MQL4, MQL2, EasyLanguage, Wealth-Lab 3.0 y VC++: Comparación de velocidad" - Renat escribió


Renat 14.01.05 14:18

Simplemente, me enfrenté con el comportamiento inadecuado de GetTickCount() más de una vez; aunque, si los resultados de muchas mediciones fueron estables +/- algún pequeño delta, confirma la fidelidad de las pruebas.


Sí, la precisión de GetTickCount() salta de 10 a 16 ms y no podemos medir períodos pequeños con ella, pero en nuestro caso su uso es razonable. Especialmente cuando es tan fácilmente accesible desde casi cualquier código.