Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1531
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
Come si affronta un blocco terminale?
Il codice è semplice, ma è molto lento
È più facile e più sicuro mettere il primo flag di avvio in OnTick()
Dovrebbe fare i calcoli e il rendering in una volta sola, anche, per esempio, in un fine settimana.
Non voglio indovinare cosa succederà, la prima cosa che vedo è che hai messo in pausa per ottenere i valori dell'indicatore in OnInit() - cosa succederà se l'utente cambia il TF in quel momento?
SZY: E come si comporterebbe il tuo codice se esegui un EA, poi chiudi il terminale e riapri il terminale con un EA in esecuzione?
queste varianti sono considerate
Per favore, ricordami una cosa banale. Il mio EA apre e chiude gli ordini nel tester normalmente. Ora sto lavorando con la demo già da una settimana e tutto è a posto. Ma in due casi, quando ha aperto il secondo ordine (per una posizione Mart) non li ha chiusi entrambi quando il saldo è positivo, ma solo uno ha lottato con il secondo finché non ho chiuso l'ordine di presa. Ho guardato il registro - il prezzoè stato "requoting". Non dovrebbe essere un problema e dovrebbe chiudersi comunque, ma non l'ha fatto.
Quindi, non ho scritto la funzione INVIO (RICHIESTO) DI CHIUSURA DELL'ORDINE in caso di condizione. Per favore, ditemi come scrivere questa banalità. Grazie.
Per favore, ricordami una cosa banale. Il mio EA apre e chiude gli ordini nel tester normalmente. Ora sto lavorando con la demo già da una settimana e tutto è a posto. Ma in due casi, quando ho aperto il secondo ordine (Marting), il mio EA non li ha chiusi entrambi quando il saldo è positivo, ma solo uno ha lottato con il secondo finché non ho chiuso l'ordine di prelievo. Ho guardato il registro - il prezzoè stato "requoting". Non dovrebbe essere un problema e dovrebbe chiudersi comunque, ma non l'ha fatto.
Quindi, non ho scritto la funzione INVIO (RICHIESTO) DI CHIUSURA DELL'ORDINE in caso di condizione. Per favore, ditemi come scrivere questa banalità. Grazie.
O aumentare lo slittamento.
Grazie per la vostra risposta. Perché 138???? È un numero di errore? E quanto aumentare lo slittamento (si prega di spiegare il significato dell'aumento). Grazie
Perché 138???? È un numero di errore?
Sì
E quanto aumentare lo slittamento (si prega di spiegare il significato dell'aumento).
Dipende da te, più slittamenti ci sono meno requote.
Come si affronta un blocco terminale?
Il codice è semplice, ma è molto impegnato.
Strano...
L'ho fatto con int start() invece di OnCalculate e non si blocca affatto
Perché?
È necessario fare calcoli e rendering in una volta sola, anche, per esempio, nei fine settimana.
Gli indicatori lavorano in un thread, se uno aspetta, tutti gli altri aspettano, finché il terminale si blocca.
Quando si avvia MT, l'inizializzazione dell'indicatore (-s) può avvenire prima dell'inizializzazione delle variabili terminali, cioè è un gioco da ragazzi prendere un blocco.