[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 563

 
prova ad eseguire un'operazione non valida, ad esempio dividere per 0.
 
sergeev:
prova ad eseguire un'operazione non valida, ad esempio dividere per 0.
sciocchezze.
 
ditrader:
sciocchezze.

sciocchezze.
 
sss2019:

Dimmi perché potrebbe esserci un errore 130

ticket1 = OrderSend(Symbol(),OP_BUYLIMIT,Lot,Level,Slippage,0,0,0,MagicNumber,0,Green);

Sicuramente livello. Controlla la correttezza del prezzo e la sua normalizzazione.

Per un Buy Limit, il livello dovrebbe essere inferiore al prezzo Ask, e ad una distanza non inferiore allo StopLevel della vostra società di brokeraggio.

Cioè se (Ask - StopLevel*Point < Livello) Level = NormalizeDouble(Ask - StopLevel*Point, Digits);

Level deve essere normalizzato a Digits prima di passarlo come parametro a OrderSend();

 
takeda:

Come terminare programmaticamente un Expert Advisor - qualcosa come terminate(0)?

MQL4 ha una tale possibilità, o è solo possibile terminare un Expert Advisor manualmente?

Grazie in anticipo.


Chiudi la tua finestra, datti un comando per cancellare...

PostMessageA(WindowHandle(Symbol(),Period()), WM_COMMAND, 33050, 0);
 
FAQ:


Chiudi la tua finestra, datti un comando per cancellarlo...


Anche questo è storto.

Per prima cosa, la finestra del grafico si chiuderà (e in quel momento potrebbero esserci degli indicatori utili).

In secondo luogo, cosa succede se vengono aperte diverse finestre con lo stesso periodo per un simbolo? La finestra in cui è stato lanciato l'Expert Advisor si chiude?

 
Ho dato un esempio di un comando per cancellarmi come EA. Potete chiudere la vostra finestra, e solo la finestra su cui si trova l'exp sarà chiusa. Ma questo è un altro codice.
 
takeda:

Come terminare programmaticamente un Expert Advisor - qualcosa come terminate(0)?

MQL4 ha una tale possibilità, o è solo possibile terminare un Expert Advisor manualmente?

Grazie mille.


Quindi, disegnate la vostra variante: "programmaticamente":

"La cessazione della sessione corrente della funzione speciale start() per programmi di qualsiasi tipo può essere dovuta a È possibile terminare il programma da un grafico, dal cambiamento di un simbolo e/o di un periodo del grafico, dal cambiamento di conto, dalla chiusura di un grafico o come risultato della terminazione del terminale client. Se la funzione speciale start() era in esecuzione quando è stato dato il comando exit, il tempo concesso dal terminale per terminare la funzione è di 2,5 secondi. Se la funzione speciale start() continua a funzionare per più del tempo specificato dopo la ricezione del comando exit, sarà forzata a fermarsi dal terminale client.

Funzione speciale deinit().


Una funzione speciale deinit() ha la sua proprietà - viene eseguita quando il programma viene chiuso (deinizializzato). Se la funzione speciale deinit() è descritta in un programma, sarà chiamata (ed eseguita) quando il programma viene chiuso. Se non c'è una funzione speciale deinit() nel programma, non viene eseguita alcuna azione quando il programma viene chiuso.

La funzione speciale deinit() viene chiamata per l'esecuzione dal terminale client anche alla chiusura del terminale client, alla chiusura della finestra dello strumento finanziario, subito prima del cambiamento di uno strumento finanziario e/o del periodo di un grafico, alla ricompilazione riuscita del programma in MetaEditor, al cambiamento dei parametri di input e anche al cambiamento di un conto.

Negli Expert Advisor e negli script, la chiusura del programma con la necessità di chiamare la funzione speciale deinit() si verifica anche a causa dell'adesione di un nuovo programma dello stesso tipo alla finestra dello strumento finanziario, sostituendo il precedente.

 
Roman.:



La funzione speciale deinit().


Chiamare deinit() non causa la fine del programma. L'EA/indicatore rimarrà sul grafico e continuerà ad elaborare i tick.
 
PapaYozh:

Una chiamata della funzione deinit() non causa la terminazione del programma. L'Expert Advisor/indicatore rimarrà sul grafico e continuerà ad elaborare i tick.


E se si chiama un gufo diverso per lavorare programmaticamente:

"Negli EA e negli script, la chiusura del programma con la necessità di chiamare la funzione speciale deinit() si verifica anche perché un nuovo programma dello stesso tipo è stato attaccato alla finestra dello strumento finanziario, sostituendo il precedente."

Motivazione: