Domande su MQL4.

 
Slawa 08.11.05 17:51 <br / translate="no">.
È accettabile usare la funzioneMessageBox() negli indicatori secondo le regole di MQ4?
No. E GetLastError restituirà l'errore corrispondente
È accettabile usare la funzione MessageBox() in deinit()?

C'è bisogno di comunicare all'utente alcune informazioni quando chiude l'EA. E innescare eventi a seconda delle loro risposte. Come fare?
 
deinit funziona per 2,5 secondi - l'utente dovrebbe rispondere così rapidamente? =)
Potete scrivere ciò che deve essere fatto in un file, e poi fare uno script per leggerlo, visualizzare MessageBox e, a seconda della risposta, fare qualcosa.
Non è del tutto chiaro cosa bisogna fare. E perché?
 
komposter,
devi...
Beh, in 2 parole.
In primo luogo, deinit() non funziona per 2,5 secondi, ma indefinitamente. Almeno nel mio script.
In secondo luogo, tutta questa cucina è necessaria solo per gestire le coordinate degli oggetti tra i tick. Per questo motivo non ha senso mettere il codice di elaborazione in Start, perché parte a tick, cioè lavorerà solo una volta e rimarrà inattivo per il resto del tempo.

Dopo di che, iniziano i problemi e la programmazione diventa un'attività creativa, perché (beh, non so perché) Slip non funziona negli indicatori, MB è vietato, ecc. ecc. Tuttavia, in alcuni casi i miei cicli consistono solo in chiamate a GlobalBar e il mio codice non deve essere avviato fino a quando non sono soddisfatte alcune condizioni. Senza uno slittamento questi anelli si bloccherebbero solo Traida...

E siccome voglio fare tutto bene, devo spendere soldi in soluzioni ornate.
Apparentemente, non otterrete davvero bene, ma come in Microsoft - "abbastanza bene" (è il loro slogan).
E poi ci sono foto sul web con l'immagine di Microsoft di una tastiera con 3 tasti: Ctrl, Alt e Del.

Sarà meglio essere guidati da Linux...:)
 
Quindi fai un ciclo infinito all'inizio - che differenza fa il "dove" se non ti importa dei tick?
 
Ho questo ciclo nell'indicatore e non può essere usato da nessun'altra parte.
Questo è dovuto al fatto che nello script le funzioni commerciali sono permesse, ci sono anche i loro propri cicli, e non c'è posto in essi per compiti secondari (ma anche necessari). Ma allo script ne è concesso solo uno. Pertanto, dobbiamo dividere la soluzione in:
1 esperto, 1 script e (finora) 2 indicatori.
E anche questi indicatori hanno i loro cicli di elaborazione del grafico tra i tick.
Inoltre, non posso scaricare dall'inizio. Se ho solo inyte e deinit nell'indicatore, allora è sufficiente uscire dal ciclo, e si scaricheranno dalla finestra - reagiscono su qualche evento, per esempio, lo scarico dell'EA.
È un peccato che non possano essere caricati.

Ma non importa. Lo farò comunque:) Dovrò solo creare qualche problema.
 
SKif:
Questo è dovuto al fatto che le funzioni commerciali sono permesse nello script, ha anche i suoi propri cicli, e non c'è posto per compiti secondari (ma anche necessari).
Perché no? Se funziona già in modalità "infinita", inserite un paio di righe nel ciclo già creato, e se il vostro script è "una tantum", fatene un altro che catturi i movimenti degli oggetti.
O hai una domanda di principio di quantità?)))
 
Perché non un luogo? Perché ci sono molte informazioni da elaborare. Mentre i cicli sono quasi vuoti, tra un tick e l'altro riesco a scorrerli per lo più da 10 a 200 volte, ma in brevi intervalli - 2 o 3 volte ciascuno. E le informazioni saranno aggiunte - ho paura di andare oltre l'intervallo intertick.
 
Perché dipendere da loro tra una zecca e l'altra? Perché dipendere da loro?
È un po' complicato, non mi addentrerò in esso.... Lo capirete ;)
 
О! (186)). (186)
 
Perché tra una zecca e l'altra
?). Più tardi mi dirai perché. È vero che è difficile, ma è una sciocchezza. La cosa principale è il risultato:)
Come sta andando per te?
 
Come va per te?
Esperto qui, esperto là... andare un po' ;)