Mi scuso per l'ottusità, ma preferirei usare il mio esempio per capire come organizzarlo - c'è una funzione che è chiamata molte volte nel codice in posti diversi - ora restituisce un valore, ma ho anche bisogno, diciamo, di 2 _High e _Low - come dovrebbe essere fatto?
int BarPeresek_iMAf(int PeriodMA)
{
int TFT=0;
int shiftMAT=0;
int typeMAT=0;
int priceMAT=0;
int BarPeresek=0;
if(Bars>PeriodMA)
{
for(int X=1;X<1000; X++)
{
double MAT=NormalizeDouble(iMA(Symbol(),TFT,PeriodMA,shiftMAT,typeMAT,priceMAT,X),Digits);
if((Low[X]>MAT && High[X]>MAT) ||
(Low[X]<MAT && High[X]<MAT))BarPeresek++;
else {BarPeresek++; break;}
}
}
double _High=High[BarPeresek]; //Надо получить сразу из функцииdouble _Low=Low[BarPeresek]; //Надо получить сразу из функцииreturn BarPeresek;
}
Mi scuso per l'ottusità, ma preferirei usare il mio esempio per capire come organizzarlo - c'è una funzione che è chiamata molte volte nel codice in posti diversi - ora restituisce un valore, ma ho anche bisogno, diciamo, di 2 _High e _Low - come dovrebbe essere fatto?
OnTick()
{
double _High=High[BarPeresek_iMAf(Per_MA)];
double _Low=Low[BarPeresek_iMAf(Per_MA)];
}
int BarPeresek_iMAf(int PeriodMA)
{
int TFT=0;
int shiftMAT=0;
int typeMAT=0;
int priceMAT=0;
int BarPeresek=0;
if(Bars>PeriodMA)
{
for(int X=1;X<1000; X++)
{
double MAT=NormalizeDouble(iMA(Symbol(),TFT,PeriodMA,shiftMAT,typeMAT,priceMAT,X),Digits);
if((Low[X]>MAT && High[X]>MAT) ||
(Low[X]<MAT && High[X]<MAT))BarPeresek++;
else {BarPeresek++; break;}
}
}
return BarPeresek;
}
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Ciao, potresti dirmi come capire programmaticamente che il prezzo si è avvicinato a un livello circolare?
Potete dirmi come restituire correttamente valori multipli da una funzione?
Diciamo che ho una funzione ABC - voglio ottenere i valori di tre variabili in una volta sola, come faccio?
Potete dirmi come restituire correttamente valori multipli da una funzione?
Diciamo che ho una funzione ABC - voglio ottenere i valori di tre variabili contemporaneamente, come faccio?
Credo di sì.
Grazie.
Ma non capisco, se il mio input è 2 variabili per il calcolo, e l'output dovrebbe essere 3 (con diversi tipi di int e double), cosa dovrei fare?
Grazie.
Ma non so, se il mio input è 2 variabili per il calcolo, ma l'output dovrebbe essere 3 (con diversi tipi int e double), cosa dovrei fare?
Grazie.
Ma non so, se il mio input è 2 variabili per il calcolo, ma l'output dovrebbe essere 3 (con diversi tipi int e double), cosa dovrei fare?
Mi scuso per l'ottusità, ma preferirei usare il mio esempio per capire come organizzarlo - c'è una funzione che è chiamata molte volte nel codice in posti diversi - ora restituisce un valore, ma ho anche bisogno, diciamo, di 2 _High e _Low - come dovrebbe essere fatto?
Mi scuso per l'ottusità, ma preferirei usare il mio esempio per capire come organizzarlo - c'è una funzione che è chiamata molte volte nel codice in posti diversi - ora restituisce un valore, ma ho anche bisogno, diciamo, di 2 _High e _Low - come dovrebbe essere fatto?