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

 
Pokrov, ti ho detto cosa stai guardando...
 
eddy:
Pokrov, ti ho detto cosa stai guardando...
Senza offesa, due opinioni sono meglio di una))) Grazie anche a te!
 
Ciao a tutti, potreste dirmi come impostare l'EA per non piazzare un ordine se l'ultimo trade è stato chiuso oggi?
 

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 ))))

//+------------------------------------------------------------------+
//| Функция обработки ошибок                                          |
//+------------------------------------------------------------------+
if(GetLastError()>=0)                          
{
   switch(_LastError)  
{                                               // Преодолимые ошибки            
      case  4:Sleep(3000);                      // Простое решение
      break;                                    // Выход из функции
      case  6:Sleep(10000);                     // Простое решение
      break;                                    // Выход из функции
      case 130:Sleep(3000);RefreshRates();      // Обновим данные
      break;                                    // Выход из функции
      case 135:Sleep(3000);RefreshRates();      // Обновим данные
      break;                                    // Выход из функции
      case 136:Sleep(3000);RefreshRates();      // Обновим данные
      break;                                    // Выход из функции
      case 137:Sleep(3000);                     // Простое решение
      break;                                    // Выход из функции
      case 146:Sleep(3000);                     // Простое решение
      break;                                    // Выход из функции
      default:break;        // Другие варианты  // Выход из функции
}                        
}
}
 
come fa l'indicatore a salvare la storia dei valori in un file (e caricarla in seguito)? ci sono soluzioni già pronte?
 
eddy:
Come può l'indicatore salvare la storia dei valori in un file (e caricarla in seguito)? Ci sono soluzioni già pronte?
Ci sono certamente. Da coloro che li hanno "preparati" una volta
 
Grazie cap, sto cercando soluzioni, non solo chiedendo.
 
Pokrov:

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.

 
AlexeyVik:

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ì.

Motivazione: