[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 389

 

Bonjour, j'essaie de compter le volume des bougies minutes haussières et baissières en une heure :

si (iTime(NULL,60,1) !=TS)
{
int TotalBars = 59 ; // Nombre total de chandeliers à rechercher
int Vupbars ;
int Vdnbars ;
int V=iVolume(NULL,IndPeriod,1) ;
for(int p=0 ; p<TotalBars ; p++)
{
if(Close[1]>Open[1]) Vupbars=Vupbars+iVolume(NULL,0,1) ; else
if(Close[1]<Open[1]) Vdnbars=Vdnbars+iVolume(NULL,0,1) ;
}
}
TS=iTime(NULL,60,1) ;

Qu'est-ce qui ne va pas, pourquoi ça ne marche pas ?

 
Stells:

Bonjour, j'essaie de calculer le volume des bougies minutes haussières et baissières en une heure :

si (iTime(NULL,60,1)!=TS)
{
int TotalBars = 59 ; // Nombre total de chandeliers à rechercher
int Vupbars ;
int Vdnbars ;
int V=iVolume(NULL,IndPeriod,1) ;
for(int p=0 ; p<TotalBars ; p++)
{
if(Close[1]>Open[1]) Vupbars=Vupbars+iVolume(NULL,0,1) ; else
if(Close[1]<Open[1]) Vdnbars=Vdnbars+iVolume(NULL,0,1) ;
}
}
TS=iTime(NULL,60,1) ;

Qu'est-ce qui ne va pas, pourquoi ça ne marche pas ?

tout en examinant la première bougie
 

si(iTime(NULL,60,1) !=TS)
{
int TotalBars = 59 ; // Nombre total de chandeliers à rechercher
int Vupbars ;
int Vdnbars ;
int V=iVolume(NULL,60,1) ;
for(int p=0 ; p<TotalBars ; p++)
{
if(Close[p]>Open[p]) Vupbars=Vupbars+iVolume(NULL,0,p) ; else
if(Close[p]<Open[p]) Vdnbars=Vdnbars+iVolume(NULL,0,p) ;
}
}
TS=iTime(NULL,60,1) ;

cela fonctionne, mais les valeurs de Vupbars et Vdnbars clignotent et se réinitialisent - j'ai supprimé celle-ci, mais pas la seconde ?

et aussi leur somme n'est pas égale à V pourquoi ?

 
Stells:

et aussi leur somme n'est pas égale à V pourquoi ?

parce que vous comparez le volume des 59 bougies de dernière minute (y compris celle qui vient de commencer) à la dernière bougie de l'heure fermée

 

Non, les chiffres ne correspondent pas d'un ordre de grandeur.

Par exemple, la montre a un volume de 40.

la somme des minutes est de 320

 
dkfl.zrjdktdbx:

Quelque chose comme ça, dans mon esprit


Non, ça ne marche pas comme ça, ils ne sont jamais égaux. Et en fait, pour une raison quelconque, j'ai un signal visuel qui est clairement inférieur au signal principal, par exemple, mais les valeurs disent le contraire. Je ne comprends pas, c'est quoi le truc ?
 
Stells:

Non, les chiffres ne nous correspondent pas d'un ordre de grandeur.

Par exemple, la montre a un volume de 40.

la somme des minutes est de 320

Vous lancez l'indicateur sur le M1 ?

donnez le code complet et utilisez le bouton SRC lors de l'insertion.

 
ilunga:

Vous lancez un indicateur sur le M1 ?

donnez le code complet et utilisez le bouton SRC lors de l'insertion.


ce conseiller

sur m1

 
Stells:


il s'agit d'un EA

sur m1

dans tous les cas, donnez un peu plus de code - par exemple où Vupbars et Vdnbars sont utilisés que vous trouvez qu'ils sont mis à zéro

et il serait également souhaitable de les mettre à zéro avant le cycle :

int Vupbars = 0 ;
int Vdnbars = 0 ;

 

Je l'ai fait :

int Vupbars ; - on le met dans les variables volumétriques
int Vdnbars ; - on le met dans les variables volumétriques

int V=iVolume(NULL,60,1) ;

si(iTime(NULL,60,1) !=TS)
{
int TotalBars = 61 ; // Nombre total de chandeliers à rechercher
Vupbars=0 ;
Vdnbars=0 ;

for(int p=1 ; p<TotalBars ; p++)
{
if(Close[p]>Open[p]) Vupbars=Vupbars+iVolume(NULL,0,p) ; else
if(Close[p]<Open[p]) Vdnbars=Vdnbars+iVolume(NULL,0,p) ;
}
}
TS=iTime(NULL,60,1) ;