Stratégies de trading basées sur les filtres numériques - page 71

 
mrtools:
Je suppose que puisque c'est une fausse stratégie, alors je suppose que ce trade ne se produit pas maintenant, je suppose que nous sommes dans la "Twilight Zone"

Si vous utilisez SSA pour cette stratégie et je pense que c'est le cas, alors non seulement le graphique du cycle mais aussi le signal de vente sont très probablement repeints. Ce n'est pas forcément le cas, mais il y a de grandes chances que ce soit le cas.

Ainsi, la SSA est peut-être un fort outil de débruitage et de détraquage, mais l'utilisation de la version non casuelle dans le trading en temps réel est limitée et l'amélioration des résultats est une combinaison de l'impact du repeint et de l'impact du débruitage et du détraquage.

Personnellement, je m'en moque car j'utilise les versions casuelles de SSA et du filtre HP.

Krzysztof

 

hors échantillon

Bonjour Richcap,

Êtes-vous en mesure de montrer des résultats hors échantillon de votre système MESA ?

De mon côté, je peux avoir des résultats de stratégies avec les entrées suivantes

cycles mesurés selon la méthode Ehlers

cycles mesurés selon la méthode NOXA

cycles mesurés par Goertzel

SN mesuré selon la méthode d'Ehlers

SN mesuré selon la méthode CB avec des bins de signaux

ce sont les composants clés bien sûr, il est possible d'ajouter à cela tout ce que vous voulez.

comme Jurik MA, VOL ou RSX que je possède en version originale.

En ce qui concerne le problème du repeint de Goertzel, il ne se repeint pas seulement à cause du SSA mais aussi à cause de la façon dont il est conçu, c'est-à-dire qu'à chaque nouvelle barre, il redessine la courbe de cycle originale qui est différente à chaque barre à cause des nouvelles informations.

Je l'ai reprogrammé pour une version complète sans repeinture mais je ne l'ai pas encore testé en temps réel donc je ne sais vraiment pas comment il se comporte.

La version hors ligne est OK.

Krzysztof

Dossiers :
scr1.jpg  81 kb
scr2.jpg  90 kb
 
fajst_k:
Salut Richcap,

Êtes-vous en mesure de montrer des résultats hors échantillon de votre système MESA ?

De mon côté, je peux avoir des résultats de stratégies avec les entrées suivantes

cycles mesurés selon la méthode Ehlers

cycles mesurés selon la méthode NOXA

cycles mesurés par Goertzel

SN mesuré selon la méthode d'Ehlers

SN mesuré selon la méthode CB avec des bins de signaux

ce sont les composants clés bien sûr, il est possible d'ajouter à cela n'importe quoi

comme Jurik MA, VOL ou RSX que je possède en version originale.

En ce qui concerne le problème du repeint de Goertzel, il ne se repeint pas seulement à cause du SSA mais aussi à cause de la façon dont il est conçu, c'est-à-dire qu'à chaque nouvelle barre, il redessine la courbe du cycle original qui est différente à chaque barre à cause des nouvelles informations.

Je l'ai reprogrammé pour une version complète sans repeinture mais je ne l'ai pas encore testé en temps réel donc je ne sais vraiment pas comment il se comporte.

Offline est OK

Krzysztof

Quelle est la signification de votre message Krzysztof ? Vous vendez quelque chose ?

J'attendais quelque chose de valable mais je ne vois rien.

Je ne te demande pas de partager des tonnes de code (comme je l'ai fait), je voudrais seulement que tu nous donnes une bonne idée.

Pensez-vous vraiment que vous avez payé votre dû avec votre post #582 ?

C'est quoi cette phrase 'PicBuf=i*MathPow(10,-1*digs);' ?

Pourquoi as-tu besoin de MathPow(10,-1*digs) PicBuf et qu'est-ce que c'est que PicBuf ?

Si vous regardez le code que j'ai écrit pour compter et étiqueter uniquement les pics dans l'analyse MESA, vous comprendrez pourquoi je ne suis pas satisfait de vous.

/*

* 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);

}
 

? ??

Réponse étrange. Pour être honnête, je n'ai pas du tout regardé votre code car j'utilise uniquement NS.

Je ne suis pas non plus un codeur C++/MQL professionnel, j'ai travaillé pendant de nombreuses années à tester des logiciels, je pense donc que je repère les défauts assez facilement. Je vous ai déjà dit que vous êtes un programmeur de Dieu car vous avez eu la patience de concevoir tout cela.

Quoi qu'il en soit, je vous propose simplement d'échanger des informations au niveau des résultats de la stratégie avec des entrées clairement définies, c'était l'intention de ce courrier. Si vous êtes intéressé, faites-le moi savoir.

Krzysztof

 

bonne idée

Je pense que c'est juste une bonne idée - créer différentes stratégies avec différentes entrées, peut-être utiliser l'optimiseur génétique pour choisir la bonne combinaison d'entrées et comparer les résultats.

Krzysztof

 

que j'ai regardé votre code. Il est évident que votre méthode pour trouver les pics importants est beaucoup plus avancée que celle utilisée actuellement dans Goertzel.

// on trouve les pics importants en mesurant la hauteur et la netteté de chaque pic et on obtient un nombre "d'importance".

// pour mesurer la netteté, nous considérons des lignes linéaires entre les pics et les vallées et nous mesurons les angles.

// Plus l'angle est petit, plus le pic est pointu. L'importance de chaque pic est donnée par la hauteur/angle.

A Goertzel, les pics sont trouvés et triés sans aucun test supplémentaire. Le nombre de pics défini par l'utilisateur est utilisé pour effectuer la transformation inverse.

La résolution de votre MESA devrait donc être bien meilleure que celle de Goertzel. Je me demande alors si les résultats de la stratégie de cycle simple basée sur les cycles MESA seraient meilleurs. Malheureusement, il n'est pas possible de les comparer pour le moment en raison d'un problème de peinture.

Mais il est possible de les comparer aux cycles Ehlers basés sur les réponses du filtre bancaire si vous le souhaitez.

Krzysztof

 

fausse stratégie de trading?

je n'ai pas besoin de convaincre qui que ce soit, juste moi-même !!!!!!!!

 

Bonjour à tous,

Je vois que le fil de discussion est mort mais je vais peut-être trouver quelqu'un pour m'aider...

J'ai le goertzel_cycle_v1_1 et je suis coincé avec ceci :

1. j'ai créé un indicateur sinusoïdal pour voir comment fonctionne goertzel. code :

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

int start()

{

int counted_bars=IndicatorCounted() ;

int i=Bars-counted_bars-1 ;

//----

while (i>=0)

{

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

i-- ;

}

//----

retour(0) ;

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

2. j'ai remplacé dans le code goertzel "close" par l'indicateur "sinewave".

3. alors le résultat est : un cycle clair de 20 barres -ok. mais l'amplitude est 149.98 quand l'indicateur sine est entre -1 et 1 comme prévu.

squareamp est "false", j'ai tout essayé mais je n'ai aucune idée de ce qui ne va pas.

toute aide sera grandement appréciée

 

Indicateur FTLM_KG et STLM

forex_for_life:
Richcap,

Tout d'abord, je tiens à vous remercier de partager ce que vous avez créé. Je n'ai pas réalisé ce que vous avez posté jusqu'à quelques instants avant de commencer ce commentaire. C'est ce genre de R&D qui a enflammé ce fil de discussion avec le feu du progrès, brûlant à travers toutes les scories qui sont le bavardage quotidien mondain de ce forum et de la plupart des autres. C'est très puissant, en effet. Ceux qui ont suivi ce fil de discussion seraient bien avisés de réfléchir à ce que vous avez apporté au laboratoire.

Je ne pense pas que Krzysztof ait tenté d'être malveillant dans sa réponse. Après l'avoir lue plusieurs fois, il semble que certains mots et certaines structures de phrases en donnaient l'impression. S'il vous plaît, corrigez-moi si je me trompe, Krzysztof.

Maintenant, je ne suis en aucun cas une autorité sur le sujet du DSP. J'ai fréquenté ce fil, en tant qu'élève, plus que n'importe quel autre. Cependant, j'ai appris quelques petites choses qui, je pense, pourraient vous être utiles dans votre quête. Il se peut que vous sachiez déjà tout ce que je partage avec vous et si c'est le cas, ne le prenez pas pour de la condescendance.

1. Il a été déterminé que MESA est l'une des méthodes les moins idéales d'analyse spectrale en raison de son incapacité à identifier les fréquences dans des scénarios de données bruitées supérieures à la moyenne (ce qui est le cas des données de prix des marchés financiers). L'algorithme de Goertzel, par contre, pourrait être un meilleur choix. Veuillez vous référer à la "page papier" de Meyer's Analytics, article intitulé "Mesa vs. GDF".

2. Il y a une discussion plus approfondie sur le sujet susmentionné (indicateurs inclus) dans ce même fil, à partir du post 225.

3. Sergey Iljuhkin, créateur du logiciel DFG, a créé quelque chose de très similaire à l'indicateur que vous avez posté (ce qui, je pense, signifie que vous êtes sur la bonne voie ), avec bibliothèque et tout, posté ici par NewDigital. Je l'ai utilisé dans le passé. Très bon, IMHO. Cela peut valoir le coup de jeter un coup d'œil.

4. Krzysztof a été précis dans son évaluation du fil de discussion de CB. Je connais quelques personnes qui ont collaboré avec CB et ils ont confirmé qu'il ne partageait que des photos et des théories, rien de concret. Ceci étant dit, ceux qui sont sur ce fil, comme vous, clahn04, Simba, dvarrin, et fajst_k sont du type communautaire et sont prêts à échanger ouvertement leurs idées et les produits qui en résultent. S'il vous plaît, ne permettez pas que ce flux de progrès soit interrompu, sinon le fil de discussion connaîtra une autre accalmie dans sa progression.

J'ai une configuration que j'utilise et qui ne comporte que 2 indicateurs : FTLM_KG et STLM non optimisés sous forme d'histogramme, tous deux lissés via un proxy de prix Jurik pour supprimer une partie du bruit présent, résultant du fait que les deux indicateurs ne sont pas réglés sur la paire et le t.f. Rien d'extraordinaire et, selon les paramètres, ils peuvent être en retard d'une barre de temps en temps, mais ils sont suffisamment efficaces jusqu'à ce que je puisse digérer plus d'informations et produire quelque chose de mieux , c'est-à-dire des indicateurs FTLM et STLM facilement réglables. Capture d'écran jointe.

Meilleures salutations,

F_F_L

Bonjour forex_for_life,

merci pour vos informations. Vos deux Indi de la page 49 de ce fil FLM_KG et STLM sont très bien. Serait-il possible que vous ayez posté les deux indicateurs ? C'est exactement ce que je recherche. Merci d'avance et salutations de Munich.

Jim Clark

 
SIMBA:
Vous pouvez vérifier la tendance à h4 et h1, ou D1 et H4, et lorsque les deux coïncident, regardez les délais plus courts pour déclencher une entrée avec ce qui vous convient.

J'ai posté un mtf stlm2 dans le fil de discussion mtf, je vais le reposer ici, afin que vous puissiez le vérifier, en changeant simplement STLM2 pour FTLM ou FTLM_KG, vous aurez les capacités de cadres temporels multiples pour ces filtres aussi.En outre, nous pouvons simplement modifier l'Ea pour être en mesure de tester la plupart des stratégies, y compris mtf de stlm2 .

Je suggère de créer un menu de stratégies, puis de les tester historiquement avec des filtres numériques standard, et ensuite de les tester, au moins les plus prometteuses, en démo avec des filtres numériques personnalisés... Des volontaires ?

J'ai téléchargé l'indicateur #MFT_STLM2_v2 posté par le grand Simba, mais il n'a pas fonctionné pour moi sur ma plateforme.

Cette version a expiré ou quelque chose comme ça ?

Je cherche un STLM MTF pour définir la tendance.

Merci d'avance les amis.

Merci.