une stratégie commerciale basée sur la théorie des vagues d'Elliott - page 45

 
if((H[k-1]<H[k])&&(H[k]>H[k+1])&&(H[k]>curHi)) для минимума аналогично.

Il ne reste plus qu'à justifier le choix d'une zone suffisante autour du High pour le prendre comme le High de l'échantillon donné. J'en déduis que ce High doit être un point maximum dans un rayon de +-30% de la longueur de l'échantillon ? Si ce n'est pas le cas, l'échantillon doit être augmenté afin de déterminer deux choses ensemble - l'extremum et la longueur de l'échantillon ? Qu'en pensez-vous ?

Si vous sélectionnez simplement un extremum sur un intervalle donné (c'est-à-dire le plus haut (le plus bas)) sur trois barres et que vous sélectionnez le plus haut (le plus bas), vous devriez en principe obtenir ce dont vous avez besoin. Cependant, il serait probablement judicieux de vérifier que la longueur de l'échantillon d'un tel extremum est suffisante, c'est-à-dire que tous les critères devraient fonctionner. Je vais expérimenter

Vladislav, pensez-vous que vous allez corriger le code de l'indicateur Murray à la lumière des nouvelles informations ? Nous attendons la nouvelle version ;o) !


Oui, ce n'est pas difficile à redresser. Cependant, si nécessaire, je le réparerai.

Bonne chance et bonne chance pour le passage des tendances.
 
Si nous sélectionnons simplement un extremum (c'est-à-dire le plus haut (le plus bas)) parmi trois barres sur un intervalle donné et que nous choisissons la plus haute (la plus basse), nous devrions, en principe, obtenir ce dont nous avons besoin.


Trouver ce dont vous avez besoin peut être fait très simplement en triant un tableau à deux dimensions.
Il y a 2 colonnes dans le tableau : 1er = Haut, et dans le 2ème on écrit le numéro de la mesure.
Le tri (dans MQL, il est effectué sur la première colonne) met le maximum sur la première colonne, et le minimum sur la dernière (ou vice versa),
et le minimum sur la dernière position (ou vice versa, selon le mode de tri).
Le numéro de la barre est lu dans la deuxième colonne.

Je ne sais pas combien de temps cela prendra, cependant.
 
Salutations à tous les quelques membres actifs de ce fil de discussion très intéressant :-)
Pour l'instant, j'essaie de trouver la méthode que Vladislav nous a généreusement donnée, ce qui implique de parcourir les 23 pages. En cherchant, j'examine bien sûr les morceaux de code que les panélistes ont choisi de publier. Je comprends que le code de la pg. Mais néanmoins, juste au cas où, je veux attirer votre attention sur le fait que je pense que la fonction de calcul de la dispersion des erreurs contient une erreur qui rend le calcul incohérent par rapport à la formule et provoque de possibles erreurs de division par zéro en cours d'exécution.
double dispercia_oshibok(double data[], double centr) { int k,size ; double disper=0 ; size=ArraySize(data) ; for(k=size-1;k>=0;k--) disper=disper+MathPow((data[k]-centr),2) ; if(size>1) disper=disper/(size-2) ; return(disper) ; }



Peut-être que la ligne if(size>1) disper=disper/(size-2) ; serait plus correctement écrite comme if(size>1) disper=disper/(size-1) ;

Veuillez confirmer ou réfuter ma conclusion, car je ne peux malheureusement pas avancer sans connaître les moindres détails. :-) Merci d'avance.

 
Lisez la suite - elle répondra à la question.
 
Oh... Messieurs. Il suffit de dire "si" ou "pas si". :-) J'ai lu tout le fil de discussion. Je l'ai probablement manqué, donc je vais chercher à nouveau. En cherchant, j'ai trouvé un site intéressant avec divers algorithmes : http://alglib.sources.ru/. J'espère ne pas le considérer comme une publicité. :-)
 
Dans notre cas, la taille>=30 et la formule est disper=disper/(taille).

ZS C'est mieux ? :)
 
Dans notre cas, la taille>=30 et la formule serait disper=disper/(taille)<br / translate="no">.
SZZ c'est mieux ? :)


Pas du tout. :-) Maintenant, j'ai besoin de réparer le "toit" de toute urgence, parce que le long-souffrant Bulashev dans "4.3 Estimation de la dispersion et l'écart-type" dans la formule pour calculer la dispersion dans le diviseur est présent N-1.
D'où vient le bois, Rosh ? ?? :-)
 
ee. :-) Maintenant, j'ai besoin de réparer le "toit" de toute urgence, parce que le long-souffrant Bulashev dans "4.3. Estimation de la variance et de l'écart-type." a N-1 dans la formule pour calculer la variance dans le diviseur. <br / translate="no">D'où vient le bois, Rosh ? ?? :-)

En fait, lorsque nous estimons la variance des erreurs d'approximation, plutôt que l'échantillon de données lui-même, le dénominateur devrait bien sûr être N-2. https://c.mql5.com/mql4/forum/2006/06/disp_oshibok.zip
Bulashev donne même un exemple concret dans son livre sur ce point.
 
<br / translate="no">En fait, lorsque nous estimons la variance des erreurs d'approximation, et non l'échantillon de données lui-même, le dénominateur devrait bien sûr être N-2.


Oui. Merci. Je l'ai maintenant. Je vais lire cette pièce plus attentivement.
Dans ce cas, nous ferions mieux d'écrire la condition comme "if(size>2)" pour ne pas tenter le sort. Le code doit être stable :-)
 
Dans ce cas, la condition devrait être écrite comme "if(size>2)", afin de ne pas tenter le sort. Le code doit être stable :-)

C'est aussi clair que le jour!:o))))
Ce script fait sur commande a été publié comme une question pour Valadislav et non pour une utilisation pratique.
Dans le code que j'ai actuellement, la variance est calculée sans appeler une fonction spéciale pour économiser le temps de calcul et les contrôles suivants sont effectués
si(taille-2!=0) disper=disper/(taille-2) ;
en général, je pense que de telles trivialités de programmation ne méritent pas du tout d'être discutées dans ce fil de discussion.