Estrategias de negociación basadas en filtros digitales - página 71

 
mrtools:
Supongo que ya que esta es una estrategia falsa, entonces supongo que este comercio no está sucediendo ahora, supongo que estamos en la "Twilight Zone"

Si usted utiliza SSA para esta estrategia y creo que es un caso que no sólo el gráfico del ciclo, sino también vender la señal es más probable repintado. No tiene que ser pero hay una gran posibilidad para ello.

Así que SSA es tal vez fuerte denoiser y detrender pero el uso de la versión no casulal en el comercio en tiempo real es limitado y los resultados mejorados esto es una combinación de impacto repintado y denoise / impacto tendencia.

Personalmente no me importa, ya que uso las versiones casulales de SSA y el filtro HP.

Krzysztof

 

fuera de muestra

Hola Richcap,

Entonces, ¿puedes mostrar algún resultado adecuado fuera de muestra de tu sistema MESA?

Por mi parte puedo tener resultados de estrategias con las siguientes entradas

ciclos medidos de forma Ehlers

ciclos medidos por NOXA

ciclos medidos por Goertzel

SN medido a la manera de Ehlers

SN medido de forma CB con bins de señal

estos son los componentes clave, por supuesto, es posible añadir a esto lo que sea

como Jurik MA, VOL o RSX que tengo en versiones originales.

En cuanto a la cuestión del repintado de Goertzel, se repinta no sólo debido a la SSA, sino también por la forma en que está diseñado, es decir, cada nueva barra se vuelve a dibujar la curva del ciclo original que es diferente cada barra debido a la nueva información de la barra.

Lo reprogramé para una versión completa sin repintado, pero no he probado en tiempo real todavía, así que no sé cómo funciona.

Fuera de línea está bien

Krzysztof

Archivos adjuntos:
scr1.jpg  81 kb
scr2.jpg  90 kb
 
fajst_k:
Hola Richcap,

Entonces, ¿puede mostrar algún resultado adecuado fuera de la muestra de su sistema MESA?

Por mi parte puedo tener resultados de estrategias con las siguientes entradas

ciclos medidos de forma Ehlers

ciclos medidos por NOXA

ciclos medidos por Goertzel

SN medido a la manera de Ehlers

SN medido de forma CB con bins de señal

estos son los componentes clave, por supuesto, es posible añadir a esto lo que sea

como Jurik MA, VOL o RSX que tengo en versiones originales.

En cuanto a la cuestión del repintado de Goertzel, se repinta no sólo debido a la SSA, sino también por la forma en que está diseñado, es decir, cada nueva barra se vuelve a dibujar la curva del ciclo original que es diferente cada barra debido a la nueva información de la barra.

Lo reprogramé para una versión completa sin repintado, pero no he probado en tiempo real todavía, así que no sé cómo funciona.

Fuera de línea está bien

Krzysztof

¿Qué significa tu mensaje Krzysztof? ¿Estás vendiendo algo?

He estado esperando algo valioso pero no veo nada.

No te pido que compartas toneladas de código (como hice yo), sólo me gustaría que nos dieras una buena idea.

¿Realmente crees que has pagado tu cuota con tu post #582?

¿Qué es esa declaración 'PicBuf=i*MathPow(10,-1*digs);'?

¿Por qué necesitas MathPow(10,-1*digs) PicBuf y qué demonios es PicBuf?

Si miras el código que escribí para contar y etiquetar sólo los picos dentro del análisis MESA, podrás entender por qué no estoy contento contigo

/*

* This function fills an array with 'amplitude' and 'frequency' (0 < f < Fn=0.5, Nyquist normalized freq) values

* of the peaks (and following valleys) under f_max and above f_min frequency by finding local maxima

* with a bisection equivalent algorithm.

* It returns the number of calculated peaks

*/

int peaksVector (

double& peaks[], // this vector must be dimensioned to 4*degree

double f_max, // the frequency under which to search peaks (f_max < Fn)

double f_min, // the frequency above which to search peaks (f_max > 0 )

double& aa[], // autoregression coefficients

int degree) // order of autoregression

{

double frequency, Qn, delta_f, delta_f2;

double s1, s2;

double f1, f2, fm, d1, d2, dm;

double tolerance=0.01; // zero (maximum) finding tolerance (we don't need a very high precision

double fine_stepping = 1.0 / 10.0; // 2nd level stepping for local minimum/maximum search

int count=0, i;

bool growing=true;

// check for Nyquist

if (f_max > 0.5) f_max=0.5;

// First evaluate Qn to set proper resolution delta_f... (see (II-70) formula in Burg's PhD thesis)

/*

Qn=1.0;

for (i=0; i<degree; i++)

{

Qn=Qn*(1.0+MathAbs(aa))/(1.0-MathAbs(aa));

}*/

Qn=50; // above formula gives too high Qn, to be verified

delta_f=1.0/(degree*Qn);

// ...then starts to find peaks (and valleys)

s1=spectrumValue(f_min+delta_f,aa,degree);

peaks[0]= s1; // include first point ...

peaks[1]= f_min+delta_f; // ... and frequency

i=2;

d1=spectrumValue(f_min+delta_f*(1.0+fine_stepping),aa,degree) - s1 ;

if (d1 < 0)

growing=false; // set initial slope direcion

for (frequency=f_min+2*delta_f; frequency = f_max && !growing); frequency+=delta_f)

{

s2=spectrumValue (frequency,aa,degree);

if (s2>s1 && growing)

{

s1=s2; // updates new maximum

}

else if (s2<=s1 && growing) // found an interval in which there is a local maximum??

{

// search for a local maximum in the interval [ frequency-delta_f,frequency + delta_f ]

f1=frequency-2.0*delta_f;

f2=frequency;

delta_f2=delta_f*fine_stepping; // delta_f2 (adaptive) is used to evaluate funcion's slope

d1=spectrumValue(f1+delta_f2,aa,degree) - spectrumValue(f1,aa,degree);

d2=spectrumValue(f2+delta_f2,aa,degree) - spectrumValue(f2,aa,degree);

while (true)

{

// try to find maximum value by evaluating central point's slope

fm = (f1+f2)/2.0;

dm=spectrumValue(fm+delta_f2,aa,degree) - spectrumValue(fm,aa,degree);

if ( MathAbs(dm) < tolerance)

break;

if (dm < 0.0) f2=fm;

else f1=fm;

delta_f2=(f2-f1)*fine_stepping; // adapt delta_f2

d1=spectrumValue(f1+delta_f2,aa,degree) - spectrumValue(f1,aa,degree);

d2=spectrumValue(f2+delta_f2,aa,degree) - spectrumValue(f2,aa,degree);

}

peaks= spectrumValue (fm,aa,degree);

peaks=fm;

i+=2;

count++; // increments number of peaks

growing=false; // after a peak there must be a valley, so the funcion starts to decrease

}

else if (s2<s1 && !growing)

{

s1=s2; // updates new minimum

}

else if (s2>=s1 && !growing) // found an interval in which there is a local minimum??

{

// search for a local maximum in the interval [ frequency-delta_f,frequency + delta_f ]

f1=frequency-2.0*delta_f;

f2=frequency;

delta_f2=delta_f*fine_stepping; // delta_f2 (adaptive) is used to evaluate funcion's slope

d1=spectrumValue(f1+delta_f2,aa,degree) - spectrumValue(f1,aa,degree);

d2=spectrumValue(f2+delta_f2,aa,degree) - spectrumValue(f2,aa,degree);

while (true)

{

// try to find maximum value by evaluating central point's slope

fm = (f1+f2)/2.0;

dm=spectrumValue(fm+delta_f2,aa,degree) - spectrumValue(fm,aa,degree);

if ( MathAbs(dm) < tolerance)

break;

if (dm > 0.0) f2=fm;

else f1=fm;

delta_f2=(f2-f1)*fine_stepping; // adapt delta_f2

d1=spectrumValue(f1+delta_f2,aa,degree) - spectrumValue(f1,aa,degree);

d2=spectrumValue(f2+delta_f2,aa,degree) - spectrumValue(f2,aa,degree);

}

peaks= spectrumValue (fm,aa,degree);

peaks=fm;

i+=2;

growing=true;

}

}

return(count);

}
 

???

Extraña respuesta. No he mirado tu código en absoluto para ser honesto ya que estoy usando NS solamente.

Tampoco soy un programador profesional de C++/MQL, durante muchos años estuve trabajando con pruebas de software así que creo que capto los fallos con bastante facilidad. Ya te dije que eres un Dios programador ya que tuviste paciencia para diseñar todo esto.

De todas formas solo te ofrezco intercambio de información a nivel de resultados de estrategia con entradas claramente definidas, era la intención de este correo. Si usted está interesado hágamelo saber.

Krzysztof

 

buena idea

Creo que esta es una buena idea - crear diferentes estrategias con diferentes entradas, tal vez utilizar el optimizador genético para elegir la combinación adecuada de las entradas y comparar los resultados.

Krzysztof

 

que miré a tu código. Obviamente tu método para encontrar picos importantes es mucho más avanzado que el actual de Goertzel.

// encontrar picos importantes midiendo la altura y la nitidez de cada pico y obtener un número de "importancia

// para medir la agudeza consideramos las líneas lineales entre picos y valles y medimos los ángulos

// cuanto más pequeño es el ángulo, más agudo es el pico. La importancia de cada pico viene dada por la altura/ángulo

En Goertzel los picos son encontrados y ordenados sin ninguna prueba adicional que el número de picos definido por el usuario se utiliza para hacer la transformación inversa.

Así que la resolución de su MESA debería ser mucho mejor que la de Goertzel. Entonces me pregunto si los resultados de la estrategia de ciclo simple basados en los ciclos de MESA serían mejores. Desafortunadamente no es posible compararlo por el momento debido al problema de repintado.

Pero si es posible comparar con los ciclos de Ehlers basados en las respuestas del filtro de banco si quieres.

Krzysztof

 

¿falsa estrategia de trading?

¡¡¡¡¡¡¡¡no tienes que convencer a nadie de nada, sólo a mí mismo!!!!!!!!

 

hola chicos,

veo que el hilo ha muerto, pero tal vez encuentre a alguien que me ayude...

tengo el goertzel_cycle_v1_1 y estoy atascado con esto:

1. he creado un indicador de onda sinusoidal para ver como funciona goertzel. código:

------------------------------------

int inicio()

{

int barras_contadas=IndicadorContado();

int i=Barras_contadas-1;

//----

while (i>=0)

{

indybuffer= MathSin(2*PI*i/20);

i--;

}

//----

return(0);

-------------------------------

2. he sustituido en el código goertzel "close" por el indicador "sinewave"

3. entonces el resultado es: un ciclo claro de 20 barras -ok. pero la amplitud es 149.98 cuando el indicador sinusoidal está entre -1 y 1 como se esperaba.

squareamp es "false", lo he intentado todo pero no tengo ni idea de lo que pasa.

cualquier ayuda será muy apreciada

 

Indicador FTLM_KG y STLM

forex_for_life:
Richcap,

En primer lugar, me gustaría darle las gracias por compartir lo que ha creado. No me había dado cuenta de lo que habías publicado hasta momentos antes de empezar este comentario. Es este tipo de I+D el que ha hecho que este hilo arda con el fuego del progreso, quemando toda la escoria que es la charla diaria del botín mundano de este y la mayoría de los otros foros. Es muy poderoso, sin duda. Los que han estado siguiendo este hilo serían sabios para hacer una doble toma en lo que has traído a la mesa de laboratorio

No creo que Krzysztof intentara ser malicioso en su respuesta. Después de leerla un par de veces, parece que un par de palabras y estructuras de frases dieron la impresión de serlo. Por favor, corrígeme si me equivoco, Krzysztof.

Ahora, no soy de ninguna manera, una autoridad en el tema de DSP. He frecuentado este hilo, como alumno, más que cualquier otro. Sin embargo, he aprendido algunas cosas que creo que pueden ser de valor para usted en su búsqueda. Puede que ya sepas todo lo que estoy compartiendo contigo y si ese es, de hecho, el caso, por favor no lo tomes como condescendiente.

1. 1. Se ha determinado que MESA es uno de los métodos menos ideales de análisis espectral debido a su incapacidad para identificar frecuencias en escenarios de datos ruidosos por encima de la media (que es lo que se ha determinado que son los datos de precios de los mercados financieros). El Algoritmo de Goertzel, en cambio, podría ser una mejor opción. Por favor, consulte la "página del papel" de Meyer's Analytics, artículo titulado "Mesa vs. GDF"

2. Hay más discusión sobre el tema mencionado (indicadores incluidos) en este mismo hilo, comenzando @ post 225.

3. Sergey Iljuhkin, creador del software DFG, creó algo muy similar al indicador que has publicado (lo que, creo, significa que estás en el camino correcto ), completo con biblioteca y todo, publicado aquí por NewDigital. Lo he utilizado en el pasado. Muy bueno, en mi opinión. Podría valer la pena un vistazo.

4. Krzysztof fue preciso en su evaluación del hilo de CB. Conozco a un par de personas que han colaborado con CB y me han confirmado que sólo comparte imágenes y teorías, nada concreto. Dicho esto, los que están en este hilo, como tú, clahn04, Simba, dvarrin y fajst_k son del tipo comunitario y están dispuestos a intercambiar pensamientos y los productos resultantes abiertamente. Por favor, no permitas que ese flujo de progreso se detenga o, de lo contrario, el hilo experimentará otro parón en su avance.

Tengo una configuración que he estado utilizando y sólo tiene 2 indicadores: FTLM_KG no optimizado y STLM en forma de histograma, ambos suavizados a través de un proxy de precios Jurik para eliminar parte del ruido presente, resultante del hecho de que los dos indicadores no están sintonizados con el par y t.f. Nada sorprendente y dependiendo de la configuración puede retrasar una barra de vez en cuando, pero lo suficientemente eficaz hasta que pueda digerir más información y excretar algo mejor es decir, indicadores FTLM y STLM fácilmente sintonizables. Captura de pantalla adjunta.

Saludos,

F_F_L

Hola forex_for_life,

gracias por su información. Su tanto Indi de la página 49 de estos hilo FLM_KG y STLM se ven muy bien. ¿Sería posible que usted tiene puestos los dos indicadores? Es exactamente lo que estoy buscando. Gracias de antemano y el respeto de Munich.

Jim Clark

 
SIMBA:
En mi experiencia ,uno de los mejores indicadores no personalizados para marcar la tendencia es el STLM2..Puedes comprobar la tendencia en h4 y h1,o en D1 y H4,y cuando ambos coinciden , buscar en plazos más cortos para activar una entrada con lo que te convenga.

He colgado un stlm2 mtf en el hilo de mtf,lo volveré a colgar aquí,para que lo podáis comprobar,con solo cambiar STLM2 por FTLM o FTLM_KG tendréis las capacidades de múltiples marcos temporales para estos filtros también.Además,solo tenemos que modificar el Ea para poder probar la mayoría de estrategias,incluyendo el mtf de stlm2..

Yo sugeriría que creáramos un menú de estrategias, y luego procediéramos a probarlas primero históricamente con filtros digitales estándar, y segundo, probarlas, al menos las más prometedoras, en demo con filtros digitales personalizados.

Descargué el indicador #MFT_STLM2_v2 publicado por el gran Simba, pero no me funcionó en mi plataforma.

¿Esta versión ha caducado o algo así?

Estoy buscando un STLM MTF para definir la tendencia.

Gracias de antemano amigos.

Muy amable.

Razón de la queja: