Quelque chose de curieux, je ne vois pas où je dois inclure le prix.
Merci pour votre prochaine réponse
Zilliq
Zilliq
Jetez un coup d'oeil à cette partie du code :
double sum = 0, sumw = 0;
for (k=0; k =0; k++) { sum += nlmalphas[k]*nlmprices[r-k]; sumw += nlmalphas[k]; }
if (sumw!=0)
return(sum/sumw);
else return(price);
C'est là que les prix sont utilisés (chacun avec son propre alhpa - chaque prix dans le tableau de prix len est appliqué son propre alpha comme coefficient de pondération - c'est pourquoi vous stockez un tableau de différentes valeurs alpha dans un tableau - pour être en mesure de l'appliquer au prix correspondant)
Cette version de NonLag MA histo avec alertes a aussi été mise à jour pour utiliser la nouvelle méthode de calcul de NonLag ma : nonlag_ma_histo_mtfalerts-1_nmc.mq4
Cela semble être ok, mais pouvez-vous confirmer qu'à la fin du code
1/ Nous devons ajouter tous les alfa*prix
et
2/ Nous divisons cette somme par la somme de tous les alfa ?
avec i=0 à Len-1
Merci beaucoup et bonne journée
Zilliq
Oui, nous divisons cette somme par la somme des alphas utilisés (de cette façon, les plus anciens ont aussi des valeurs logiques - une sorte de mise à l'échelle de l'indicateur).
Le NonLag ma est simplement une sorte de filtre numérique avec des coefficients pour chaque prix à une certaine position (comme le SMA est un filtre numérique avec tous les coefficients fixés à 1). Si vous vous souvenez de cela, il est plus facile de savoir ce que vous faites.
Je ne comprends pas où est mon erreur
pi = 3.1415926535
Cyclee=4
Longueur = 9
Coefficient = 3*pi
Phase = Longueur-1
Len = Longueur*Cyclee + Phase
pour i=0 à Len-1
si i<=Phase-1 alors
t = 1,0*i/(Phase-1)
sinon
t = 1,0 + (i-Phase+1)*(2,0*Cyclee-1,0)/(Cyclee*Longueur-1,0)
endif
beta = Cos(pi*t)
g = 1,0/(Coeff*t+1)
si t <= 0,5 alors
g = 1
endif
alfa = g * beta
suivant
Je ne comprends pas où est mon erreur
pi = 3,1415926535
Cyclee=4
Longueur = 9
Coefficient = 3*pi
Phase = Longueur-1
Len = Longueur*Cyclee + Phase
pour i=0 à Len-1
si i<=Phase-1 alors
t = 1,0*i/(Phase-1)
sinon
t = 1,0 + (i-Phase+1)*(2,0*Cyclee-1,0)/(Cyclee*Longueur-1,0)
endif
beta = Cos(pi*t)
g = 1,0/(Coeff*t+1)
si t <= 0,5 alors
g = 1
endif
alfa = g * beta
suivantzilliq
Vous devez avoir un tableau d'alfas
Merci Mladen,
Mais qu'est-ce qu'un "tableau d'alfas" ?
Quelque chose de curieux, je ne vois pas où je dois inclure le prix.
Merci pour votre prochaine réponse
Zilliq
Merci Mladen,
Mais qu'est-ce qu'un "tableau d'alfas" ?
Quelque chose de curieux, je ne vois pas où je dois inclure le prix.
Merci pour votre prochaine réponse
ZilliqZilliq
Jetez un coup d'oeil à cette partie du code :
for (k=0; k =0; k++) { sum += nlmalphas[k]*nlmprices[r-k]; sumw += nlmalphas[k]; }
if (sumw!=0)
return(sum/sumw);
else return(price);C'est là que les prix sont utilisés (chacun avec son propre alhpa - chaque prix dans le tableau de prix len est appliqué son propre alpha comme coefficient de pondération - c'est pourquoi vous stockez un tableau de différentes valeurs alpha dans un tableau - pour être en mesure de l'appliquer au prix correspondant)
Toujours aussi rapide à répondre
Ok, je pense que je vais comprendre, ce ne sera pas facile à coder, mais je vais essayer.
Merci pour tout et bonne journée
Zilliq
Toujours aussi rapide à répondre
Ok, je pense que je vais comprendre, ce ne sera pas facile à coder, mais je vais essayer.
Merci pour tout et bonne journée
ZilliqBon codage
Enveloppes de non-labour.
Version mise à jour postée ici : https://www.mql5.com/en/forum/general
Cette version de NonLag MA histo avec alertes a aussi été mise à jour pour utiliser la nouvelle méthode de calcul de NonLag ma : nonlag_ma_histo_mtfalerts-1_nmc.mq4
A l'origine, il a été posté ici : https://www.mql5.com/en/forum/general
Bonjour Mladen,
Cela semble être ok, mais pouvez-vous confirmer qu'à la fin du code
1/ Nous devons ajouter tous les alfa*prix
et
2/ On divise cette somme par la somme de tous les alfa ?
avec i=0 à Len-1
Merci beaucoup et bonne journée
Zilliq
Bon codage
Bonjour Mladen,
Cela semble être ok, mais pouvez-vous confirmer qu'à la fin du code
1/ Nous devons ajouter tous les alfa*prix
et
2/ Nous divisons cette somme par la somme de tous les alfa ?
avec i=0 à Len-1
Merci beaucoup et bonne journée
Zilliq
Oui, nous divisons cette somme par la somme des alphas utilisés (de cette façon, les plus anciens ont aussi des valeurs logiques - une sorte de mise à l'échelle de l'indicateur).
Le NonLag ma est simplement une sorte de filtre numérique avec des coefficients pour chaque prix à une certaine position (comme le SMA est un filtre numérique avec tous les coefficients fixés à 1). Si vous vous souvenez de cela, il est plus facile de savoir ce que vous faites.