Calcul du PPZ - aide à l'affinage

 

Bonjour à tous.

J'ai écrit un indicateur pour calculer automatiquement le PPZ en utilisant trois fractales. L'idée de base : nous prenons une fenêtre de N barres et déterminons les niveaux où 3 fractales sont situées à la plus courte distance. L'indicateur trace 4 niveaux de ce type. Le problème se situe au niveau de la vitesse. L'indicateur utilise un dépassement émoussé, rien ne vient à l'esprit. Maintenant que la fenêtre de la barre est de 100-300, ce n'est pas un problème en principe. Mais maintenant je pense ajouter une 4ème fractale et je réalise que je dois changer l'algorithme de calcul. Qu'en pensez-vous ? À mon avis, l'outil permet déjà de construire des niveaux intéressants. Je joins le code et une photo avec des explications.


Dossiers :
 

Amélioration de l'indicateur, maintenant les niveaux sont recherchés par 4 fractales.

A 150 bars, le calcul prend jusqu'à 30 secondes, ne vous alarmez pas. Il est catégoriquement déconseillé de fixer plus de 200 barres.

Dans ce cas, les niveaux sont beaucoup plus forts et corrects. On dirait que ce truc marche vraiment !


Dossiers :
 

Eurobucks l'autre jour :


 

C'est un excellent indicateur.

Je reçois une erreur :

2010.02.22 15:46:17 Dsergf-wPA_v2.0 EURUSD,M15 : nombre entier invalide comme paramètre 1 pour la fonction SetIndexEmptyValue


PS

Il serait très agréable de spécifier la période à partir de laquelle les niveaux sont construits.

 

Reposé les indicateurs.

C'est étrange que cela ait fonctionné pour moi, il y avait bien sûr une erreur

 

Eurobucks M15

Aucun commentaire.


 

Non, cela semble fonctionner, mais le message d'erreur est un peu confus.

 

J'ai corrigé l'erreur.

Ce n'est pas un problème de fixer le calendrier, je le ferai demain, je n'ai pas le temps maintenant.

Le problème, c'est que c'est tellement lent que j'aimerais élargir la fenêtre, mais je dois sérieusement optimiser l'algorithme, et je n'ai pas encore trouvé comment le faire. :-(

 
L'algorithme a été optimisé, on peut mettre 300 barres en toute sécurité.
Dossiers :
 

Je pense qu'il y a une petite erreur dans le code :



if(k!=j && k!=j && MathAbs(Ind0[i]-Ind0[k])>minBars && MathAbs(Ind0[k]-Ind0[j])>minBars) {


vous devez corriger un j par i


 

Oui, une erreur. N'affecte pas le résultat, mais doit être corrigé.

Re-téléchargement de l'indicateur version 2.3