Resonancia estocástica - página 33

 
Prival, usted es un especialista en DSP. He observado que estos expertos suelen obtener buenos resultados en Foreh. ¿Puede recomendar alguna literatura, por favor? Ya sabes, el propio DSP, la teoría de la información, algo más...
 

Parece más o menos claro.

Necesitamos dos matrices de amplitudes, una para la señal y otra para el ruido. El segundo array ya está introducido, como sólo necesitamos un valor de él, simplemente lo almacenamos, liberando así el array para nuestras necesidades. Por lo tanto, la división debería ser algo así:

double thr = data1[hmax];
for(i=0;i<N;i++) {
  if (data[i]<thr) {
    data1[i]=data[i]; 
    data[i]=0.0; 
  } else {
    data1[i]=0.0;
  }
}

Pero probablemente sea mucho peor. La razón es que, de hecho, el umbral debería definirse para la densidad espectral. El código para su cálculo se puede tomar de mi ejemplo, pero como contiene amplitudes imaginarias y reales para cada frecuencia, tendríamos que dividir en dos matrices no las amplitudes sino las frecuencias (es decir, índices, correspondiendo cada frecuencia a 2 índices: i e i+1). Así que parece que necesitaremos 3 matrices más: una para la densidad espectral y dos para los índices (frecuencias): señal y ruido. En una palabra, tendremos que hacer un trabajo serio y, en primer lugar, entender el formato del archivo de datos para la FFT después de la transformación. El enlace en la cabecera de la biblioteca de klot le ayudará.

En cuanto a la lentitud, sin el visualizador sería mucho más aburrido, pero al menos puedes disfrutar del proceso :). Minimizar el terminal puede acelerar un poco las cosas.

P.D. Para las frecuencias se puede hacer con una matriz - digamos, escribir 1 para las frecuencias de la señal y -1 para las frecuencias del ruido.

 

a las Matemáticas

Me has dejado perplejo :)

  1. Aunque veo que tu nivel de matemáticas es superior al tuyo. Recomiendo empezar por el "Primer Encuentro de Procesamiento de Señales" de Yukio Sato. Se trata de la física de los procesos. Al menos, para mí siempre ha sido así. Si no entiendo la física de los procesos, tampoco puedo aplicar las matemáticas (se aplican :)).
  2. Clásico. Marp Jr. Análisis espectral digital. IHMO el mejor libro, no hace falta buscar otros.

Qué más creo que es necesario (útil) para el mercado de divisas.

Decidir cuándo entrar y salir del mercado

  1. Wald. Funciones de resolución estadística. Preste especial atención al famoso (al menos en el ámbito de los radares) detector de dos umbrales de Wald.

Para predecir la evolución de los precios

  1. Farina. Procesamiento digital de la información del radar. Hay que prestar especial atención al filtro de Kalman, se ha demostrado matemáticamente que bajo ciertas condiciones es más preciso que no. Pero a menudo hay problemas con estas condiciones, tengo una idea de cómo usarlo, además el propio mercado de Forex elimina muchas limitaciones.

Estadística, diferentes tipos de distribuciones y su análisis.

  1. Boris Ruvimovich Levin. Fundamentos teóricos de la radioingeniería estadística. La única edición en la que no hemos podido encontrar un error (errata). El libro de escritorio fue cuando estaba escribiendo mi disertación.

La selección de los libros es un poco específico, pero sólo hay objetivo de la palabra (plano) reemplazar con el precio (Close[0]), la detección de la maniobra (en la inversión de precios) y entonces se hace más claro lo que se puede aplicar :)

Todo guardado, libros adjuntos. Todos menos el último, lo siento.

Una vez más hago un llamamiento a todos, si tienen la oportunidad y el deseo de trabajar en equipo, búsquenme en Skype (privalov-sv). Vod enlace al caminante http://www.skypeclub.ru/skype.htm. Es muy útil para la comunicación.

Hay muchas ideas, suficientes para todos, no hay suficiente tiempo y energía. Uno todo no puede levantarse.

El infierno, el resto no encaja, no pasa el php. Así que tienes 1 salida :) que necesita estos libros -> Skype, estoy casi siempre allí. Formato del libro djvu

Archivos adjuntos:
sato.zip  1353 kb
 

a lna01

"Pero probablemente sea mucho peor que eso... "

Tienes razón, allí será mucho peor, es sólo la primera etapa. Lo principal es entender cómo construir el indicador correctamente y optimizar la velocidad, ya que se añadirán fórmulas y muy buenas IHMO. En el futuro necesitaré 2 buffers más, para el análisis de fase + definitivamente quiero experimentar con ventanas, al menos dos seguro. Hemming y Butterworth. Los primeros resultados son alentadores. Pruebe a trazar sólo la amplitud del primer armónico del espectro (sin umbrales ni clasificación). Se obtiene una bonita imagen, la primera impresión es que las torceduras determinan el momento en que se fija el Stop Loss. Pero esto todavía tiene que ser revisado, voy a tratar de publicar una foto mañana.

 

Tal y como prometí, voy a colgar fotos. Resultó ser algo muy hermoso, ahora podría escribir un experto. Pero hay un error en alguna parte. Tal vez me tropecé accidentalmente con algo. Mira por favor.

Fig.1.

Figura 2

  1. Si cambio el signo de comparación en la línea, el histograma desaparece (ver Fig.2),

if (data[i]<porog) //la comparación con el umbral en este caso, hay un histograma

y si es así

if (data[i]>porog) // aquí falta

  1. ¡¡¡La energía no puede ser negativa y la amplitud tampoco, y mucho menos su suma !!! :(
  2. Pero visualmente es muy bonito, yo lo llamaría "energía de curva de tendencia
  3. ".

P.S. La única pregunta sobre lo que quería hacer en esta línea de código no va a responder (si usted encuentra un error), ver por encima de una idea general del indicador, lo que quería conseguir, hay todo en las fotos. Si explicas en las fotos lo que he conseguido por mis débiles manos. Yo lo pagaré. Acabo de tomar el indicador MACD y lo he añadido, pero no se ve bien.

Archivos adjuntos:
pvf2.mq4  4 kb
 
Prival:

Pero si puedes explicar en imágenes lo que tengo por mis manos torcidas. Te debo una viga.


Esto: for( i=hmax ;i<N ;i++) - Sigo sin entender. Es decir, por supuesto que no es necesario buscar en todas las frecuencias, pero ¿por qué a partir de hmax?

En segundo lugar, la transformada de Fourier da lugar a amplitudes complejas. Así, la amplitud de cada frecuencia corresponde a dos números: la parte real y la parte imaginaria. La energía es igual al módulo de sqrt((Re+j*Im)*(Re-j*Im)). Puedo añadir de mi parte que Re e Im suelen estar en antifase. Cortar todo en un umbral es una transformación no trivial y no puedo pensar en un significado físico para ello. De todos modos, la energía no tiene nada que ver.
Repito: necesitas entender el formato del archivo de datos para la FFT después de la transformación. El enlace de la cabecera de la biblioteca de klot te ayudará
 

lna01

Lo he resuelto, no hay más que hablar, lo único es que realmente me he equivocado en el formato de los datos. En cuanto averigüe el formato de los datos (pongo la pregunta a klot en la rama) me sentaré con una hoja y un bolígrafo para comprobar lo que suma. Me he acostumbrado al matcad. Me he acostumbrado a tratar con matcad, ahí es donde está el error. En cuanto a for( i=hmax ;i<N ;i++) deberías tomarlo de 1 (o incluso hacerlo una variable aparte). Piensa que hay un claro significado físico si utilizamos sqrt((Re+j*Im)*(Re-j*Im)).

 
Prival:

convertirla en una variable separada por completo

Así es :) . Si cortamos algunas frecuencias y dividimos el resto en "sub-umbral" y "sobre-umbral" por energía, no habrá dificultades con el sentido físico :)

P.D. Tal vez mencione el indicador demasiado a menudo https://forum.mql4.com/ru/6275 :), pero allí el trabajo con las amplitudes se hace correctamente - sólo se puede tomar de él.
 
Entonces, ¿qué es la línea roja de la Fig.2? ¿La diferencia de energías de las partes real e imaginaria? Muy interesante. ¿Y qué significan los números en el área de valores del indicador?
 
Parece que hay un error en la biblioteca, o mis manos están torcidas de nuevo :( publicó mi pregunta aquí 'FFT Fast Fourier Transform Functions Library') si alguien puede comprobarlo. ¿Tengo razón o no? Prueba en matlab para comprobarlo.