[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 53

 
sergeev:


Sì, si chiama ricorsione.






Grazie mago, lo proverò, non sono ancora un mago e sto imparando.
 
tpg_k156:
Buon pomeriggio. Potete dirmi se è possibile usare gli strumenti standard di mql4 per inviare l'esecuzione del codice dalla linea 35 alla linea 18 (linee per esempio). Una specie di salto nel codice.

L'operatore loop è destinato a "saltare indietro".
Una dichiarazione condizionale è progettata per "saltare" in avanti.
 
Buon pomeriggio, potreste consigliarmi come fare un controllo in modo che l'EA non possa effettuare ordini ogni venerdì dopo le 18?
 
first_may:
Buon pomeriggio, potreste consigliarmi come fare un controllo in modo che l'EA non possa fare ordini ogni venerdì dopo le 18?
Si potrebbe mettere una costruzione simile all'inizio della funzione Start.
//---не давать коду советника работать в пятницу с 18-00 по серверному времени 
   if(DayOfWeek()==5 && Hour()>=18 && Minute()>0){
      
      return(0);  
   } 
 
granit77:
Potete mettere una costruzione simile all'inizio della funzione Start.




Grazie
 
Un array (migliaia di elementi) è impostato localmente in deinit().
Cosa succede quando MT4 finisce - questi dati rimangono in memoria o vengono completamente cancellati?
Non sono interessato ai dati in sé, ma al consumo di memoria.

Cancellare gli array definiti globalmente porterà a liberare memoria?
(durante le ottimizzazioni, per esempio).

Grazie!
 
 
Io scrivereiOra()>=18e butterei via i minuti.
 

Inite ce l'ho così:

int signal[4] = {1, 2, 3, 4};

Ecco la funzione:

//+-------------------------------------------------------------------------------------+
//| Получение общего сигнала на вход                                                    |
//+-------------------------------------------------------------------------------------+
int GetGeneralSignal()
{
   //int signal[4] = {1, 2, 3, 4};
   
   for(int i=0; i<4; i++)
  {
    if(GetStateMa(signal[i]) == MA_TALKING_LONG && IsRebound() == true)
      return(SIGNAL_BUY);
    
    if(GetStateMa(signal[i]) == MA_TALKING_SHORT && IsRebound() == true)
      return(SIGNAL_SELL);
  }
  
  return(SIGNAL_NO);
}

Appare un errore durante la compilazione:

'signal' - incompatible types   E:\Insall'd soft's\Forex\Alpari NZ MT4\experts\Base150.mq4 (146, 19)
'signal' - incompatible types   E:\Insall'd soft's\Forex\Alpari NZ MT4\experts\Base150.mq4 (149, 19)
2 ошибок, 0 предупреждений      

Non capisco cosa non gli piace. L'array in init è già dichiarato, il tipo di int... È corretto... Cosa c'è che non va?

 
hoz:

Inite ce l'ho così:

Ecco la funzione:

Appare un errore durante la compilazione:

Non capisco cosa non gli piace. L'array in init è già dichiarato, il tipo di int... È corretto... Cosa c'è che non va?


int signal[] = {1, 2, 3, 4};

int init(){

}

Considerare la visibilità delle variabili e degli array
Motivazione: