Domande dai principianti MQL4 MT4 MetaTrader 4 - pagina 231

 
Konstantin Nikitin:

Beh, per essere più precisi, sembra che non si possa. E sul DORMIRE. Volete congelare l'intero Expert Advisor per qualche tempo? O solo una certa funzione, dopo che è stata elaborata. In ogni caso, anche per l'interruzione del lavoro di Expert Advisor, è meglio usare il flag per i ritardi lunghi, e quando si controlla, se non c'è il permesso, basta uscire a OnTick/OnTimer. Per i ritardi brevi, sì, potete usareSLEEP.
A proposito,SLEEP non funziona negli indicatori.

La funzione Sleep() non può essere chiamata dagli indicatori personalizzati, perché gli indicatori sono eseguiti nel thread dell'interfaccia e non devono rallentarlo.

Quindi, capite l'uso delle bandiere, ne avrete bisogno in futuro.

No, volevo che l'EA fosse ritardato di 10 secondi prima della chiusura, ma per qualche motivo quando lo slittamento va prima della funzione CloseAllOrder, la funzione non funziona affatto, lo slittamento non funziona dopo, ecc. Ora sto pensando di aggiungere questo ritardo alla funzione CloseAllOrder stessa. Sto studiando la programmazione MQL4 solo da un mese, inoltre non ho mai programmato prima.
 
Nargiz Ravanova:
No, volevo che il mio EA tenesse per 10 sec. prima di chiudere, ma quando uno slittamento va prima della funzione CloseAllOrder, la funzione non funziona affatto, poi non funziona dopo, ecc. Ora sto pensando di aggiungere questo ritardo alla funzione CloseAllOrder stessa. Sto studiando la programmazione MQL4 solo da un mese, inoltre non ho mai programmato prima.

Controlla lo slittamento stampando i millisecondi prima e dopo lo slittamento. Se qualcosa non funziona, stai usando dati vecchi? Stai usandoRefreshRates() o non stai tenendo conto che il numero di ordini sta diminuendo?

 
Aleksei Stepanenko:

Accettare la piena responsabilità del fatto che

ushort

Iltipo unsigned short è il tipo ushort, che ha anche una dimensione di 2 byte. Il valore minimo è 0, il valore massimo è 65.535.

int

Il tipo intero int ha una dimensione di 4 byte (32 bit). Il valore minimo è -2 147 483 648, il valore massimo è 2 147 483 647.

Grazie Alexei, ha funzionato tutto a zero con la compilazione. Sono sicuro che non è stato difficile per te....
 
Ciao, come faccio a ottenere il mio id metaquotes nell'applicazione mobile mt4 se dice id metaquotes non registrato e quando provo a cliccare su questa scheda appare un messaggio: failed to register message receiving service. Controlla la tua connessione internet e riprova.
 
SGarnov:
Tutto ha funzionato zero per compilazione

Lieto che sia stato d'aiuto

 

*** è ***? o abbastanza broker reali che vi aiuteranno?

 
Владимир Герр:

*** è ***? o abbastanza broker reali che vi aiuteranno?

Le discussioni sui broker sono vietate.

 
Compagni, ho bisogno del vostro aiuto su webrequest.
Una quantità piuttosto grande di dati (30k+ caratteri) deve essere inviata al server. Il server scopre che i dati sono interrotti nel mezzo del prossimo chunk di dati. Ci sono delle restrizioni su webrequest? O un workaround per risolvere questo problema? Lo sto facendo specificamente per mql4.
 
O-Yama:
Compagni, ho bisogno del vostro aiuto su webrequest.
Una quantità piuttosto grande di dati (30k+ caratteri) deve essere inviata al server. Il server trova che i dati sono interrotti nel mezzo del prossimo pezzo di dati. Ci sono delle restrizioni su webrequest? O un workaround per risolvere questo problema? Lo sto facendo specificamente per mql4.

È un metodo get o post?

Fallotramite post-query, prova a rimuovere la limitazione di lunghezza sul server

php.ini
post_max_size=200 M
upload_max_filesize=200 M

или

.htaccess
php_value post_max_size 200 M
php_value upload_max_filesize 200 M
 
Vitaly Muzichenko:

Metodo Get o post?

Fai lapost-request, sul server prova a rimuovere la restrizione di lunghezza

Posta, poi vediamo cosa c'è sul server.
Raccolgo l'array di messaggi di query con la mia funzione in piccoli pezzi, perché StringToCharArray si comporta stranamente e tronca costantemente l'array. Forse ho sbagliato qualcosa anche lì...

void OneMoreString(string str)
{
char cashe[];
int sz=ArraySize(buf); //buf si trova fuori dalla funzione ed è sempre usato in webrequest
StringToCharArray(str,cashe,0,StringLen(str)); //converte la stringa all'ingresso della funzione nell'array di caratteri cashe
ArrayResize(buf,sz+ArraySize(cashe));
ArrayCopy(buf,cashe,sz); //copia cashe in buf
}

P.s.: non so come inserire correttamente i frammenti di codice qui
Motivazione: