El filtro perfecto - página 6

 
Indicador útil.
Autor, por favor haga una versión de VAMA para MT4.
Gracias.
 
G001:
Indicador útil.
Autor, por favor haga una versión de VAMA para MT4.
Gracias.

Gracias por los comentarios. Lamentablemente no conozco mql4, empecé desde mql5, pero seguro que si miras el código del indicador podrás implementarlo en 4, es muy sencillo.

P.S En la versión 1.01 he añadido un atributo para desactivar el redibujado del indicador por ticks, de forma que sólo se dibuje cuando la barra haya terminado.

input bool bar_exist=1;

Archivos adjuntos:
vaMA.mq5  4 kb
vaMACl.mq5  5 kb
vaZZ.mq5  4 kb
 

Bueno, creo que estoy satisfecho con ella, al menos no siento ninguna laguna. Estoy contento con él hasta ahora, ahora voy a apretar la volatilidad y el filtro de tendencia/plano para mezclarlo de forma competente en las transiciones de tendencia a plano y viceversa y hacer una adaptación bonita, no fea como la clásica AMA.

Se adjunta el 1.12 por si quieres saberlo. ZZ y el color no hizo con él, porque esto es sólo la etapa inicial, cuando pienso en cómo hacer una adaptación de calidad ya, voy a poner a cabo listo.

Archivos adjuntos:
vaMA.mq5  4 kb
 
J.B:

Eso es, creo que lo tenemos...

La primera opción es mejor (la de codobase). En este ya has mezclado demasiado... IMHO

 

Acabo de leerlo, ¡el hilo es una delicia! Muchas gracias a todos los implicados, especialmente al encargado del tema. Yo nunca he hecho filtros, pero pensar un poco en voz alta sobre el tema estaría bien, creo.

La cuestión de encontrar una característica cuantitativa de la calidad del filtro se ha planteado muchas veces aquí. Realmente, ¿qué es mejor, JJMA o EMA y por cuánto? Existe un cierto retardo del filtro, ¿cómo medirlo y cuál es su utilidad? Así que, en general, son preguntas lógicas normales.


Por supuesto, también se expresó un método sencillo a través de la suma de ZigZags construidos en los pliegues de los filtros. Es casi todo bueno, pero no del todo.

Estimados autores, ya que tienen métodos de comparación de filtros, ¿podrían dar datos gráficos, tabulares u otros datos técnicos de estas comparaciones? Además, si se resumen los ZigZags, entonces restemos el valor de la dispersión de cada rodilla. Representar la característica cuantitativa en función del periodo del filtro. Superponga los gráficos resultantes de los diferentes filtros entre sí y evalúe los pros y los contras de ambos.

Y de nuevo, ¿por qué generalizas todo con tanta fuerza: un filtro para todos los tiempos? Imagina que tu filtro se comporta graciosamente por las tardes, y se equivoca terriblemente en otros momentos. Al fin y al cabo, ¡un filtro así es genial! Sin embargo, debido al enfoque de la temperatura media del hospital, lo rechazaría.

Bien, los pensamientos se acumulan, no hay suficientes cartas. También sugiero un enfoque más generalizado: una manera de investigar:

Берется понравившийся кусок истории цВР. На нем выбираются понравившиеся интервалы, для которых суммарно будет проделываться нижеследующее. Например, берем крайний месяц, и рассматриваем далее только ночные интервалы.

Задача разложить данные по косточкам и написать ТС именно под этот кусок истории (точнее под выбранные интервалы в нем), чтобы на нем ТС показывала как можно больший профит.

Т.е. задача сводится к тому, чтобы обнаружить уже на известном куске истории закономерности для максимального профита.

Очевидно, что вычислить максимально-возможный профит на куске истории очень просто. Но надо создать такую ТС, у которой показатель Profit / Func(AmountIN) был бы максимален, где AmountIN - количество явных и неявных входных параметров ТС, а Func - некая функция (для простоты начала исследования - простейшая линейная: Func(X) = X).

Например, нескольким людям нравится какой-то замечательный флэтовый кусок, который эти люди считают чуть ли не классическим рыночным флэтовым (типовым) состоянием. Люди выкладывают этот кусок публично и устраивают свого рода соревнование по созданию оптимальной ТС для этого куска. Далее сравниваются характеристики полученных ТС, идеи в них заложенные. И уже исходя из этого анализа происходит некоторое понимание формализации флэтовости и более обобщенных понятий.
P.S. Написано очень примитивно, но основа подобных манипуляций позволяет уловить суть подходов и к исследованиям посложнее.

Y también un fuerte alegato, considerar las diferencias en el TZVR. Por ejemplo, su filtro puede mostrar un completo sinsentido en el EURUSD y ser excelente en el GBPJPY. Si se observan tales diferencias, entonces es lógico indagar en el EURUSDvsGBPJPY. De todos modos, hay muchos lugares para cavar.

 

hrenfx:

Por supuesto, también se expresó un método simple a través de la suma de las rodillas de ZigZag construidas en las rupturas de los filtros. Todo está casi bien, pero no del todo.

Estimados autores, ya que disponen de métodos de comparación de filtros, ¿podrían dar datos gráficos, tabulares u otros datos técnicos de estas comparaciones? Además, si estás sumando los ZigZags, entonces vamos a restar el valor del spread de cada rodilla. Representar la característica cuantitativa en función del periodo del filtro. Superponga los gráficos obtenidos de diferentes filtros entre sí y evalúe los pros y los contras de ambos.

Y de nuevo, ¿por qué generalizas todo con tanta fuerza: un filtro para todos los tiempos? Imagina que tu filtro se comporta graciosamente por las tardes, y se equivoca terriblemente en otros momentos. Al fin y al cabo, ¡un filtro así es genial! Sin embargo, el enfoque de la temperatura media del hospital le hará rechazarla.

Y también una fuerte petición, tener en cuenta las diferencias en el TzVR. Por ejemplo, su filtro puede mostrar una basura total en el EURUSD y ser excelente en el GBPJPY. Si ve tales diferencias, entonces es lógico investigar el EURUSDvsGBPJPY. En definitiva, hay muchos lugares para cavar.

Gracias. Es el criterio de eficacia de los diferentes filtros para los diferentes mercados y la agrupación mediante este criterio nos permitirá calcular el punto de conversión necesario entre los diferentes sistemas de órdenes ajustados a las diferentes condiciones del mercado. Este es el plan.

Ya he pensado en el cálculo del spread en el totalizador, es una invención adicional, teniendo en cuenta las empresas de corretaje y sus cotizaciones, estoy tratando de resolver los problemas de forma coherente, de modo que cada elemento del sistema era razonablemente autónomo, para ser capaz de entender "contribución neta" de cada elemento, y luego analizar el efecto acumulativo.

Sin embargo, todavía no soy un buen programador y mi velocidad de codificación es horrible, lucho constantemente con los desbordamientos de arrays y con no especificar un nuevo buffer de cálculo para el indicador y demás. Por eso estoy dedicando el 99,9% de mi tiempo a los fallos técnicos en lugar de pensar en la arquitectura de CT, lo cual es triste, pero inevitable.

Por favor, dígame, si no le importa, qué métodos o heurísticos se utilizan para evitar los desbordamientos de matrices. Porque pensar constantemente qué bucle de qué y en qué elemento hacer, creo que no es kosher. ¿Es posible, por ejemplo, que los valores no válidos y los accesos fuera de bucle no rompan la lógica de ? Por ejemplo, ¿podría la división por 0 no causar un error, pero un valor grande de 1000, por ejemplo, y el direccionamiento fuera de la matriz dio un elemento del borde de la matriz más cercano a la dirección?

(Así que... pensamientos de principiante, entiendo que puede ser poco varonil, tal vez incluso vergonzoso pensar de esta manera)) Pero perdóname, no estoy muy atento, por desgracia. Me resulta más fácil idear estructuras que ponerlas en práctica, pero si tengo que encargar la codificación de cada cosa, estoy arruinado. Las pruebas pequeñas siguen siendo mejor hacerlas por uno mismo.

 

J.B:

¿qué métodos o heurística utilizas para evitar las matrices fuera de límites?

Una clase para crear un buffer de anillo
 
J.B:

Ya he pensado en la contabilidad de spreads en el totalizador, es un truco adicional, teniendo en cuenta una empresa de corretaje en particular y sus cotizaciones, estoy tratando de resolver los problemas de forma coherente para que cada elemento del sistema sería lo suficientemente autónomo, para poder entender la "contribución neta" de cada elemento, y luego analizar el efecto acumulativo.

He mencionado la extensión, no para romper estereotipos. De hecho, no hay ninguna propagación. Sólo existe la oferta y la demanda de BP. También construyes ZigZags, pero fijas los máximos en Bid BP, y los mínimos en Ask BP. Entonces, la suma de las rodillas dará cuenta del"diferencial flotante". En realidad, no es tan nerd como puede parecer. Tampoco es un deseo de calcular con superprecisión donde no se puede. Aquí hay una cuestión de principios: las fracturas demasiado frecuentes, aunque sean bastante precisas, son malas, ya que no son rentables.

Todavía no soy un muy buen programador y mi velocidad de codificación es realmente decepcionante, lucho constantemente con los desbordamientos de arrays y con el hecho de que no he implementado un nuevo buffer de cálculo para el indicador. Por lo tanto, el 99,9% de mi tiempo se dedica a los fallos técnicos y no a pensar en la arquitectura de CT, lo cual es triste, pero inevitable.

Yo también soy un programador de mierda. Por lo tanto, se recomienda no realizar este tipo de estudios en MQL. Utilice MQL sólo como fuente de datos y como una simple visualización. Para el análisis, utilice el mismo paquete de matrices. Esto le ahorrará mucho tiempo y esfuerzo.

Los datos de oferta y demanda deben estar disponibles a través de FXOPEN ECN, FXCM, Dukascopy, o cualquier otra fuente de ticks. Deberías usar sólo M1, como un compromiso entre velocidad y precisión. Sé que casi nadie se va a molestar en ello, y seguirá estando en los marcos MQL. Pero tú mismo tienes que responder si quieres investigar o jugar.

 

¡Gracias! Lo probaré)))

hrenfx:

He dicho lo de la difusión, para no romper estereotipos. De hecho, no hay ninguna dispersión. Sólo hay BP de oferta y de demanda. Se construyen los ZigZags de la misma manera, pero se ponen los máximos en el Bid BP, y los mínimos en el Ask BP. Entonces, la suma de las rodillas dará cuenta del"diferencial flotante". En realidad, no es tan nerd como puede parecer. Tampoco es un deseo de calcular con superprecisión donde no se puede. Aquí hay una cuestión de principios: las fracturas demasiado frecuentes, aunque sean bastante precisas, son malas, ya que no son rentables.

Yo también soy un programador de mierda. Por lo tanto, se recomienda no realizar este tipo de estudios en MQL. Utilice MQL sólo como fuente de datos y como una simple visualización. Para el análisis, utilice el mismo paquete de matrices. Esto le ahorrará mucho tiempo y esfuerzo.

Los datos de oferta y demanda deben estar disponibles a través de FXOPEN ECN, FXCM, Dukascopy o cualquier otra fuente de ticks. Deberías usar sólo M1, como un compromiso entre velocidad y precisión. Sé que casi nadie se va a molestar en ello, y seguirá estando en los marcos MQL. Pero aquí sólo tienes que responderte a ti mismo, si quieres investigar o jugar.

Gracias por la recomendación. En realidad lo estoy siguiendo con carácter retroactivo)). Utilizo STATICTICA y Matlab para los estudios numéricos, sideFX Houdini para las visualizaciones y algunos cálculos inusuales. Pero de todas formas tengo que codificar algo completamente personalizado a nivel de vectores (array) y operaciones con sus componentes en bucles. Por eso tendré que estudiar mql5 para mt5 y muy probablemente también C#.

Se ha elegido el 5-th por las siguientes razones, por orden de importancia para mí:

1)mql5 es un análogo de C++.

Y C++ es el lenguaje de programación más avanzado hoy en día, e incluso en un apuro, si mt5 no me ayuda debido a la comercialización inadecuada, puedo cambiar fácilmente a la codificación de C++ puro. Y esta experiencia no se perderá.

Por supuesto, la OOP, en contraste con la 4ª de C, que es como la potencia bajo el capó de un coche fresco, agrada como el potencial para implementar proyectos estructuralmente complejos. Un lenguaje procedimental sería una maravilla, dada mi atención y el anidamiento estructural planificado de los proyectos.

2)Mt5 es la última versión de mt.

Es muy probable que las próximas versiones de mql se basen también en los pluses y mt5th se está promocionando en los intercambios, lo que es un gran plus absoluto y el hecho de que las empresas de corretaje no se estén cambiando en masa a 5 en mi opinión es un fenómeno temporal.

También empecé a usar mql5 y c# para implementar mis ideas. Ya he tenido experiencia en encargar algunas ideas a codificadores, pero he decidido que tiene sentido encargar sólo la cáscara. Y los bloques de previsión y MM deben ser hechos por mí mismo. Así que tendré que aprender idiomas al menos para repartir correctamente la tarea y verificar/investigar correctamente los proyectos. Por supuesto, esto es sólo IMHO en este momento.

 

Francamente, esta es una visión extraña. ¿Qué tiene que ver la investigación sobre TzWD con cualquier plataforma o idioma? Es sólo una investigación. Se puede hacer en papel, se puede hacer en un lenguaje tipo C y, como bien has señalado, en algunos paquetes matemáticos. Dicho esto, tener la capacidad de programar e importar datos y DLL de terceros. La investigación y el comercio son actividades completamente diferentes.

Jugar es gastar tu precioso tiempo en construir una infraestructura de investigación desde cero: a través de un lenguaje de programación.

No voy a discutir ni persuadir, por supuesto. Todavía asumía que el hilo era sobre el tema de la investigación.