Example2: Una funzione come questa sarebbe adatta alla gestione degli errori?
Qualcosa è troppo corto. Anche questo non è completo.
//*********************ф-ия обработки ошибок*************************|int Fun_Error(int Error)
{
switch(Error)
{ // Преодолимые ошибкиcase0: return(1);
case4: //Print("Торговый сервер занят. Пробуем ещё раз...");Sleep(500); // Простое решениеreturn(1); // Выход из функцииcase128: //Истек срок ожидания совершения сделкиreturn(1);
case129: //Print("Цена изменилась. Пробуем ещё раз...");return(1); // Выход из функцииcase132: //Print("Рынок закрыт. Пробуем ещё раз...");Sleep(123000); // Это было сделано для робо. У них первые 2 минуты в понедельник рынок закрыт, а надо было ставить ордера в 00:00return(1); // Выход из функцииcase135: //Print("Цена изменилась. Пробуем ещё раз...");RefreshRates(); // Обновим данныеreturn(1); // Выход из функцииcase136: //Print("Нет цен. Ждём новый тик...");while(RefreshRates()==false) // До нового тикаSleep(1); // Задержка в циклеreturn(1); // Выход из функцииcase137: //Print("Брокер занят. Пробуем ещё раз...");Sleep(500); // Простое решениеreturn(1); // Выход из функцииcase138: //Print("Новые цены. Пробуем ещё раз...");Sleep(1); // Задержка в циклеreturn(1); // Выход из функцииcase146: //Print("Подсистема торговли занята. Пробуем ещё...");Sleep(500); // Простое решениеreturn(1); // Выход из функцииcase4107: //Print("Неправильный параметр цены для торговой функции. Пробуем ещё...");Sleep(50); // Простое решениеreturn(1); // Выход из функции// Критические ошибкиcase1:
return(0);
case2: Alert("Общая ошибка. Перегрузите терминал и\или компьютер.");
return(0); // Выход из функцииcase5: Alert("Старая версия терминала.");
//Work=false; // Больше не работатьreturn(0); // Выход из функцииcase64: Alert("Счет заблокирован.");
//Work=false; // Больше не работатьreturn(0); // Выход из функцииcase130: Alert("Неправильные стопы.");
return(0); // Выход из функцииcase133: Alert("Торговля запрещена.");
return(0); // Выход из функцииcase134: Alert("Недостаточно денег для совершения операции.");
return(0); // Выход из функцииcase4051: Alert("Недопустимое значение параметра функции.");
return(0); // Выход из функцииcase4108: Alert("Неверный номер тикета.");
return(0); // Выход из функцииdefault: //Print("Возникла ошибка ",Error); // Другие вариантыreturn(0); // Выход из функции
}
}//******************************************************************|
Di conseguenza, se la funzione restituisce 1, dovremmo provare a piazzare di nuovo un ordine; se restituisce 0, usciremo dalla funzione per aprire gli ordini.
Comprare/vendere senza stop e takeout sl=0;tp=0, poi modificare-->sl=100;tp=300
Il pensiero mi è già venuto per disperazione...
Tuttavia, la domanda è perché con tutti i parametri corretti l'ordine non viene effettuato.
Poiché questo è un grafico dell'oro, i numeri 11 e 1 sono abbastanza corretti. Tradotto significa 10 e 110 pips.
Ho controllato i prezzi e i parametri di stop e di profitto. Ci sono esattamente 120 pip tra il profitto e lo stop, e per qualche motivo il prezzo di apertura = 0,000.
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, se un EA imposta solo ordini pendenti, dovrebbe essere in grado di gestire gli errori?
Sì.
Per esempio.
Sì.
Per esempio.
Una funzione come questa sarebbe adatta alla gestione degli errori?
Qualcosa è troppo corto. Anche questo non è completo.
Di conseguenza, se la funzione restituisce 1, dovremmo provare a piazzare di nuovo un ordine; se restituisce 0, usciremo dalla funzione per aprire gli ordini.
Cittadini, potete dirmi perché il terminale Alpari non è in grado di effettuare un ordine?
La funzione OrderSend si presenta così
Non ci sono parametri uguali a zero. Ho controllato.
La distanza minima di arresto e di guadagno secondo le condizioni del terminale = 0,1.
Il terminale genera l'errore 130 e scrive di un profitto o uno stop non valido.
I parametri SL e TP sono 11 e 1 (dopo la normalizzazione), rispettivamente.
Sui terminali Aforex, Diven FX, ForexClub, AlfaForex - nessun problema con lo stesso codice.
Cittadini, potete dirmi perché il terminale Alpari non è in grado di effettuare un ordine?
La funzione OrderSend si presenta così
Non ci sono parametri uguali a zero. Ho controllato.
La distanza minima di arresto e di guadagno secondo le condizioni del terminale = 0,1.
Il terminale genera l'errore 130 e scrive di un profitto o uno stop non valido.
I parametri SL e TP sono 11 e 1 (dopo la normalizzazione), rispettivamente.
Sui terminali Aforex, Diven FX, ForexClub, AlfaForex - nessun problema con lo stesso codice.
comprare/vendere senza stop e takeaway sl=0;tp=0, poi modificare-->sl=100;tp=300
Comprare/vendere senza stop e takeout sl=0;tp=0, poi modificare-->sl=100;tp=300
Il pensiero mi è già venuto per disperazione...
Tuttavia, la domanda è perché con tutti i parametri corretti l'ordine non viene effettuato.
Poiché questo è un grafico dell'oro, i numeri 11 e 1 sono abbastanza corretti. Tradotto significa 10 e 110 pips.
Ho controllato i prezzi e i parametri di stop e di profitto. Ci sono esattamente 120 pip tra il profitto e lo stop, e per qualche motivo il prezzo di apertura = 0,000.
Il tentativo di piazzare un ordine in sospeso non ha portato a nulla ....
Diventa sempre più miracoloso.
Buona giornata a tutti!
Potreste dirmi il modo migliore per codificare la seguente condizione
Se tutte le candele da 1 a 20 sono ribassiste senza eccezione (il numero di punti tra l'apertura e la chiusura di ogni candela non ha importanza)
Per aprire un ordine.
Non posso leggere altro, solo aprire un ordine.