Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 212
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
Salve,
Alla ricerca delle seguenti informazioni:
1. per quanto riguarda l'implementazione delle notifiche via SMS durante l'elaborazione di eventi chiave nel lavoro dell'Expert Advisor.
Circa la realizzazione dell'apertura e della chiusura degli scambi dalle 12-00 PST fino alle 18-00 PST (con notifica via sms, naturalmente :) circa l'inizio e la fine di una sessione di trading settimanale).
Circa l'implementazione di una notifica via e-mail dopo il completamento del commercio (18-00 PTN) - l'invio di un rapporto sul lavoro del consulente per una sessione di trading settimanale, nel tester, con un grafico e l'indicazione delle date di apertura, date di chiusura, prezzi, profitti / perdite dopo la chiusura delle posizioni. O i rapporti saranno in formato txt?
Per favore consigliate quali funzioni o script lo implementeranno? Come posso farlo? Forse c'è un argomento su questo - notifiche e rapporti via SMS e e-mail.
https://www.mql5.com/ru/articles/1454
Ecco qualcosa di simile, ma per renderlo più semplice)))
https://www.mql5.com/ru/forum/53920
L'algoritmo delle notifiche sms non è male, la nostra EA ci manda l'email, e l'operatore email ci manda il testo della lettera. Tutto brillantemente semplice. Tutto ciò di cui abbiamo bisogno è di registrare il nostro telefono cellulare. Ora è più facile.
Vado a leggere, ho trovato una funzione simile - SendMail().Mi chiedo quanto sia complicato?
Buon pomeriggio a tutti!
Fatto questo codice - cancella tutti gli ordini in una volta.
Il problema è che quasi tutti gli ordini sono chiusi. Ma abbiamo ancora 1-2 ordini che non vengono cancellati.
E non importa quante volte accedo a questa funzione, questa funzione non chiude gli ordini rimanenti.
Ricevo un errore che mostra un prezzo sbagliato.
Ho pensato che fosse requotes, ma se richiediamo questa funzione già 500000 volte, cosa può essere requotes?
Quale non può essere il prezzo sbagliato?
Non ho mai avuto una tale assurdità con altri EA.
Buon pomeriggio a tutti!
Fatto questo codice - cancella tutti gli ordini in una volta.
Il problema è che quasi tutti gli ordini sono chiusi. Ma abbiamo ancora 1-2 ordini che non vengono cancellati.
E non importa quante volte accedo a questa funzione, questa funzione non chiude gli ordini rimanenti.
Ricevo un errore che mostra un prezzo sbagliato.
Ho pensato che fosse requotes, ma se richiediamo questa funzione già 500000 volte, cosa può essere requotes?
Quale non può essere il prezzo sbagliato?
Non ho mai avuto una tale assurdità con altri EA.
Se ci sono molti ordini, il prezzo ha il tempo di diventare obsoleto. Aggiungete RefreshRates() e dovrebbe andare bene.
Questo è il punto: sono rimasti uno o due ordini.
Ho fatto un ciclo di chiamate a questa funzione fino a quando tutti gli ordini sono stati cancellati.
Nell'idea, se l'ordine è per comprare, dovrebbe essere chiuso da Bid, e non importa quale prezzo è ora.
Dovrebbe chiudere da Bid a qualsiasi prezzo.
E se abbiamo affrontato questa funzione molte migliaia di volte, il prezzo dovrebbe chiudersi comunque.
O forse non capisco qualcosa?
Questo è il punto: sono rimasti uno o due ordini.
Ho fatto un ciclo di chiamate a questa funzione fino a quando tutti gli ordini sono stati cancellati.
In teoria, se l'ordine è di acquisto, dovrebbe essere chiuso da Bid e non importa quale prezzo sia ora.
Dovrebbe chiudere da Bid a qualsiasi prezzo.
E se abbiamo affrontato questa funzione molte migliaia di volte, il prezzo dovrebbe chiudersi comunque.
O c'è qualcosa che non capisco?
Ci sono errori nel registro quando si cancella?
Il prezzo può andare abbastanza lontano durante il ciclo. Ask e Bid sono costanti che vengono aggiornate forzatamente (quando si chiama RefreshRates()) o quando si elabora un nuovo tick. Quindi, dopo ogni giro del ciclo, chiamate RefreshRates() e vedete cosa succede.
Il fatto è che sono rimasti uno o due ordini.
Ho fatto un ciclo di chiamate a questa funzione fino a quando tutti gli ordini sono stati cancellati.
In teoria, se l'ordine è di acquisto, dovrebbe essere chiuso da Bid e non importa quale sia il prezzo in quel momento.
Dovrebbe chiudere da Bid a qualsiasi prezzo.
E se abbiamo affrontato questa funzione molte migliaia di volte, il prezzo dovrebbe chiudersi comunque.
O forse non capisco qualcosa?
Provate 1) a sostituire Print con Alert per vedere immediatamente il risultato sullo schermo - è più veloce 2) Lì si ottiene il codice di errore. Stamparlo e vedere 3) Ottenere e stampare il codice di errore della funzione OrderSelect e immediatamente OrderSymbol(), OpderType(), OrderTicket()
Provate 1) a sostituire Print con Alert per vedere immediatamente il risultato sullo schermo - è più veloce 2) Lì si ottiene il codice di errore. Stamparlo e vedere 3) Ottenere e stampare il codice di errore della funzione OrderSelect e immediatamente OrderSymbol(), OpderType(), OrderTicket().
Ho provato anche RefreshRates(). Non è cambiato nulla. Alert - come la stampa, dà fuori - parametri sbagliati.
Errore 3.
Mi sono alzato la mattina e ho visto che l'EA si era attivato e stava mostrando la funzione di cancellare tutti gli ordini per tutta la notte.
Il contatore delle richieste mostra diversi milioni di richieste. Questo significa che gli ordini non vengono cancellati.
Questo EA controlla anche se tutti gli ordini vengono cancellati, è come un'assicurazione. Se ci sono ordini, chiameremo il
Viene richiesta la funzione di cancellazione. Il programma si blocca. Questo significa che il ciclo non si fermerà finché tutti gli ordini non saranno cancellati.
Tali problemi si verificano su 2 coppie di valute. Ho già perso la testa. Cosa fare?
Ho provato con RefreshRates(). Non è cambiato nulla. Alert - come per la stampa, dice - parametri sbagliati.
Errore 3.
Mi sono svegliato questa mattina e ho visto che l'EA si era attivato e mostrava una chiamata per cancellare tutti gli ordini per tutta la notte.
Il contatore delle richieste mostrava diversi milioni di richieste. Significa che gli ordini non vengono cancellati.
Questo EA controlla anche se tutti gli ordini vengono cancellati, è come un'assicurazione. Se ci sono ordini, chiameremo il
Viene richiesta la funzione di cancellazione. Il programma si blocca. Questo significa che il ciclo non si fermerà finché tutti gli ordini non saranno cancellati.
Tali problemi si verificano su 2 coppie di valute. Ho già perso la testa. Cosa fare?
E cos'è la funzione error()?
Può essere il problema.
Cos'è la funzione error()?
È possibile che questo sia il problema.
La funzione error() mostra solo un codice di errore. Non c'è nessun problema con questa funzione, ce l'ho in molti EA e non la cambio mai.
Quindi non è sicuramente il problema.
La funzione stessa è proprio qui: