Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 845

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
Pokrov, ti ho detto cosa stai guardando...
Ecco la rispostahttps://www.mql5.com/ru/forum/131277/page295#455199
Grazie all'autore.
Potete dirmi se il blocco di gestione degli errori qui sotto è scritto correttamente o se c'è qualcosa di sbagliato? Non imprecare subito ))))
Come può l'indicatore salvare la storia dei valori in un file (e caricarla in seguito)? Ci sono soluzioni già pronte?
Puoi dirmi se il blocco di gestione degli errori qui sotto è scritto correttamente o se c'è qualcosa di sbagliato? Non imprecare subito ))))
A mio parere, la gestione degli errori dovrebbe essere sotto forma di una funzione definita dall'utente, che dovrebbe essere chiamata dopo qualsiasi azione relativa all'accesso al server.
Per esempio OrderSend() restituisce il biglietto dell'ordine o -1 in caso di fallimento, cioè in caso di errore. Quindi, dovreste chiamare il gestore degli errori in caso di esecuzione non riuscita del comando e passargli il codice di errore. E nel gestore degli errori, dovremmo fornire un valore di ritorno al quale l'azione fallita viene ripetuta o ad un altro valore viene fermata.
Per esempio i prezzi sono cambiati, RefreshRates(); e riprovare, e se non ci sono abbastanza soldi probabilmente è meglio smettere di provare.
A mio parere, la gestione degli errori dovrebbe essere sotto forma di una funzione definita dall'utente, che dovrebbe essere chiamata dopo qualsiasi azione relativa all'accesso al server.
Per esempio OrderSend() restituisce il biglietto dell'ordine o -1 in caso di fallimento, cioè in caso di errore. Quindi, dovreste chiamare il gestore degli errori in caso di esecuzione non riuscita del comando e passargli il codice di errore. E nel gestore degli errori, dovremmo fornire un valore di ritorno al quale l'azione fallita viene ripetuta o ad un altro valore viene fermata.
Per esempio i prezzi sono cambiati, RefreshRates(); e riprova, e in caso di fondi insufficienti è probabilmente meglio smettere di provare.
Ho GetLastError dopo le funzioni e se si verifica un errore, non andrà in questo blocco (come è scritto) e i comandi non saranno eseguiti? Capisco la catena, ad esempio OrderSend() -> GetLastError -> blocco di errore Sleep(3000) RefreshRates() -> esce dal blocco e se le condizioni rimangono OrderSend() viene richiesto nuovamente. Oppure il mio ragionamento e i miei concetti sono sbagliati. Capisco che vuoi scrivere il valore di ritorno 1 o 0 nel blocco, ma le mie funzioni sono semplici non legate a valori booleani come SignalBuy, se ho capito bene, i valori di ritorno dovrebbero essere restituiti lì.