[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 389
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Buon pomeriggio, sto cercando di contare il volume delle candele minute rialziste e ribassiste in un'ora:
se (iTime(NULL,60,1)!=TS)
{
int TotalBars = 59; // Numero totale di candele da cercare
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);
Cosa c'è che non va, perché non funziona?
Pomeriggio, cercando di calcolare il volume delle candele minute rialziste e ribassiste in un'ora:
se (iTime(NULL,60,1)!=TS)
{
int TotalBars = 59; // numero totale di candele da cercare
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);
cosa c'è che non va, perché non funziona?
se(iTime(NULL,60,1)!=TS)
{
int TotalBars = 59; // Numero totale di candele da cercare
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);
questo funziona, ma i valori di Vupbars e Vdnbars lampeggiano e si resettano -- questo l'ho rimosso, il secondo non ancora ?
e anche la loro somma non è uguale a V perché?
e anche la loro somma non è uguale a V perché?
perché state confrontando il volume delle 59 candele dell'ultimo minuto (compresa quella appena iniziata) con l'ultima candela dell'ora chiusa
No, i numeri non corrispondono a un ordine di grandezza.
Per esempio, l'orologio ha un volume di 40.
la somma dei minuti è 320
Qualcosa del genere, nella mia mente
No, non funziona così, non sono mai uguali. E infatti, per qualche motivo ho un segnale visivo che è chiaramente inferiore a quello principale, per esempio, ma i valori dicono il contrario. Non capisco, qual è il trucco?
No, i numeri non corrispondono a noi per un ordine di grandezza.
Per esempio, l'orologio ha un volume di 40.
la somma dei minuti è 320
Stai lanciando l'indicatore sulla M1?
dare il codice completo e usare il pulsante SRC quando si inserisce
stai lanciando un indicatore sulla M1?
dare il codice completo e usare il pulsante SRC quando si inserisce
questo consulente
su m1
questo è un EA
su m1
in ogni caso, date un po' più di codice - per esempio dove si usano Vupbars e Vdnbars che si scopre che sono azzerati
e sarebbe anche auspicabile azzerarli prima del ciclo:
int Vupbars = 0;
int Vdnbars = 0;
L'ho fatto:
int Vupbars; - questo viene messo nelle variabili volumetriche
int Vdnbars; - questo viene messo nelle variabili volumetriche
int V=iVolume(NULL,60,1);
se(iTime(NULL,60,1)!=TS)
{
int TotalBars = 61; // Numero totale di candele da cercare
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);