[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 307

 
hoz:

Non è un montaggio, è una specie di montaggio automatico :)

Un'aderenza senza un segno fermo è un'aderenza.

Finché i parametri principali non funzionano correttamente, devono essere definiti pensando, provando, testando nel tester, nella demo e nel gioco reale, e così via, finché non viene in mente qualcosa di nuovo che sembra migliore. E tutto senza aggiustamenti, ma per logica, teoria e pratica!

 
Zhunko:
Qualsiasi variabile deve essere dichiarata prima di poter essere utilizzata. Può essere nei parametri, può essere a livello di libreria globale.


Non solo, deve anche essere iniziato esplicitamente.
 
hoz:

Quindi ecco una funzione della biblioteca:

Vadim, circa funzioni nel ciclo Intendi quello che restituisce l'operatore dell'interruttore? Ma non è che sto ottenendo valori su tutto il numero di variabili del ciclo. È solo confrontando il tipo di maschera (variabile di ingresso della funzione) che sto ottenendo e poi calcolando il valore della maschera. Si scopre che non ci sono calcoli aggiuntivi. Devo solo selezionare il tipo di maschera, e questo è tutto! Voglio capire cosa intendi per:

Puoi spiegare?
Questo presuppone ciò che farete con questa funzione. Questo è il tipo di funzione che di solito viene eseguita nella storia.
FAQ:

Non solo, deve anche essere iniziato esplicitamente.
Preferibilmente per ordine, ma in MQL4 sono inizializzati con degli zeri di default quando vengono dichiarati.
 
Recentemente ho affrontato un problema: come sapere che l'indicatore, che usiamo nell'Expert Advisor attraverso iCustom() è stato inizializzato e possiamo prendere dati da esso? Altre volte, ci sono situazioni in cui il grafico non ha ancora avuto il tempo di visualizzare i suoi oggetti e l'EA sta cercando di prendere alcuni dati dai suoi buffer. Di conseguenza, a volte appaiono valori nulli. Naturalmente, ho controllato i valori non nulli e solo allora ho lasciato che l'EA continuasse il suo funzionamento, ma ... forse c'è una soluzione più elegante?
 

Un'altra cosa: ho incontrato uno strano (per me) comportamento di UninitializeReason(). Controllo il suo valore nell'Inite, e se il timeframe è stato cambiato e ci sono posizioni aperte, allora dovrebbe esserci una richiesta di chiuderle. Se inizialmente eseguiamo l'EA su M5, e poi passiamo a un altro timeframe, allora non ci sarà alcuna richiesta. Se torniamo alla TF iniziale (M5), ci sarà una richiesta. Penso che questo non sia normale. Ho bisogno di avere una richiesta ad ogni cambio di TF.

Qualcuno può spiegare?

 
artmedia70:

Un'altra cosa: ho incontrato uno strano (per me) comportamento di UninitializeReason(). Controllo il suo valore nell'Inite, e se il timeframe è stato cambiato e ci sono posizioni aperte, allora dovrebbe esserci una richiesta di chiuderle. Se inizialmente eseguiamo l'EA su M5, e poi passiamo a un altro timeframe, allora non ci sarà alcuna richiesta. Se torniamo alla TF iniziale (M5), ci sarà una richiesta. Penso che questo non sia normale. Ho bisogno di avere una richiesta ad ogni cambio di TF.

Qualcuno può spiegare?

Fallo funzionare, DeinitReason è una variabile globale

int deinit()
  {
//----
   DeinitReason = UninitializeReason( );
   Print("DeinitReason ",DeinitReason);
//----
   return(0);
  }
 
Mislaid:

Fallo funzionare, DeinitReason è una variabile globale

Esattamente. La variabile globale Reason ottiene un valore, ma non lo ottiene in deinit(), ma in init(), così che quando init() viene eseguito, si può vedere il motivo dell'ultima deinizializzazione e, in base al valore, eseguire un'azione o un'altra. Ma non funziona come dovrebbe.
 

Buon pomeriggio.Una nuova domanda è sorta.Aiuto per favore.Per i più esperti c'è un minuto, ma per i principianti è difficile.Googlato nulla aiuta, ma forse qualcuno ha affrontato.

Il giornale dice

(2013.04.23 10:06:30 2013.04.01 00:00 xrust EURUSD,M1: 2 parametro per la funzione SetIndexBuffer deve essere array).

https://forum.mql4.com/ru/55137#786974

 
palomnik:

Buon pomeriggio.Una nuova domanda è sorta.Aiuto per favore.Per i più esperti c'è un minuto, ma per i principianti è difficile.Googlato nulla aiuta, ma forse qualcuno ha affrontato.

Il giornale dice

(2013.04.23 10:06:30 2013.04.01 00:00 xrust EURUSD,M1: 2 parametro per la funzione SetIndexBuffer deve essere array).

https://forum.mql4.com/ru/55137#786974


Dice che il secondo parametro nella funzione SetIndexBuffer deve essere un array. Cioè, non doppio znach1, ma doppio znach1[]
 
Come posso eseguire lo script che ho appena modificato senza riavviare mt4?
Motivazione: