Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1192

 
Tango_X:

Ciao, per favore aiutami ad emettere tutti i valori, posso emettere solo gli ultimi. E la seconda domanda, come emettere questi valori con uno spostamento a destra(impostare qualsiasi spostamento). Grazie!

int q[100];
Сдвиг влево
вызов 
for(int w=-1;++w<100;)
q[w]=q[w+1]
Сдвиг вправо
for(int w=100;--w>-1;)
q[w]=q[w-1]

Forse c'è un modo per uscire dalla scatola. Questo è un esempio con un array unidimensionale. Lo spostamento qui è impostato su uno, ma si può specificare qualsiasiw+5 per esempio (ma in questo caso sarà sicuramente fuori limite, beh, contatelo e vedrete). Scrivilo in Excel e vedi cosa equivale a cosa.

 
Seric29:

Cosa significa che il protocollo è chiuso. Ci sono funzioni di apertura dell'ordine in mql4, è essenzialmente solo codice semplice. Lo stesso vale per gli oggetti grafici. Ho sentito che mql4 è un prodotto commerciale ed è per questo che non c'è codice sorgente o funzioni incorporate (per esempio Arrayresize/Range ecc.). Per esempio, non mi sento a mio agio a usare mql4 per scrivere un programma, è un linguaggio troppo morto, molto limitato. Che dire della lingua Win API 32, non può fare nulla per le mie domande? Immagino che tutto sia chiuso anche per Win API 32.

Il terminale e il server comunicano tra loro utilizzando un certo protocollo che non ci sarà dato da nessuno.

Questo significa che gli ordini possono essere aperti solo da MQL.

L'intera logica dovrebbe essere messa in DLL e gli ordini dovrebbero essere aperti da MQL. Questo è quello che faccio.

 
Koldun Zloy:

Il terminale e il server comunicano tra loro con un certo protocollo, che nessuno ci darà.

Questo significa che gli ordini possono essere aperti solo da MQL.

Spostare tutta la logica in DLL e aprire gli ordini da MQL. Ecco come faccio io.

Questa è una cattiva idea fatta apposta. Il terminale e il server comunicano tra loro con un certo protocollo che nessuno ci permette di usare. Mi dispiace per l'espressione, ma sono senza parole. Sarebbe meglio scrivere l'implementazione del programma in mql4, e le funzioni di calcolo di controllo in c++. Perché se tutto tranne le dipendenze (oggetti d'ordine) è scritto in C++, sarebbe costoso. È fatto su misura. Mi è stato consigliato di scrivere all'azienda ma penso che la risposta sarà come la chiederai tu. Sì, è un prodotto commerciale.

 
Koldun Zloy:

Il terminale e il server comunicano tra loro con un certo protocollo, che nessuno ci darà.

Questo significa che gli ordini possono essere aperti solo da MQL.

Spostare tutta la logica in DLL e aprire gli ordini da MQL. Ecco come faccio io.

Se non guardi, l'ordine non viene inviato al server ma al terminale, significa che comunica con il terminale e il terminale invia gli ordini al server. Se scrivete il terminale, crollerà completamente, ma dovete ancora interagire in qualche modo con il terminale, è questo che intendo.

 
Seric29:

Non guardate, non inviate l'ordine al server, ma al terminale, il che significa che state comunicando con il terminale, e il terminale lo invia al server. Se scrivete anche il terminale, crollerà, ma avete ancora bisogno di comunicare con il terminale in qualche modo, questo è il punto.

Si prega di non scrivere in questo topic risposte deliberatamente false per i nuovi arrivati se non si conosce la risposta corretta. E non c'è bisogno di discutere del bestiame e di altre cose che non sono legate a questa risorsa.

 
Seric29:

Non guardate, non inviate l'ordine al server, ma al terminale, il che significa che state comunicando con il terminale, e il terminale lo invia al server. Se scrivete anche il terminale, crollerà, ma avete ancora bisogno di comunicare con il terminale in qualche modo, questo è il punto.

Il tuo Expert Advisor lavora nel terminale. Chiama funzioni dalla DLL, le invia dati e ottiene una risposta se deve aprire o chiudere un ordine.

 
Salve, ho bisogno di aiuto? Come posso migrare gli account da mql4 a mql5?
 
Artyom Trishkin:

Per favore, non scrivete in questo thread risposte deliberatamente false ai nuovi arrivati se non sapete voi stessi la risposta giusta. E non c'è bisogno di discutere del bestiame e di altre cose che non sono legate a questa risorsa.

L'uomo ha chiesto come spostare un array Ho mostrato un breve esempio di spostamento di 1tsu, ma non posso mostrarvi l'intera funzione. È anche brutto che abbia fatto un esempio molto breve.

So che non dovrei chiamarli per nome, naturalmente, ma il mio nervo è certamente scosso dal fatto che il software normale non può essere utilizzato. Penso di avere qualcosa ma non posso usarlo e devo soffrire.

 
Koldun Zloy:

Il tuo EA viene eseguito nel terminale. Chiamando le funzioni dalla DLL, le invia dei dati e ottiene una risposta: deve aprire o chiudere un ordine.

Beh, sì, è nel terminale ma non è chiaro cosa succede qui: prima l'ordine viene gestito dal terminale e poi va al server o subito dopo vengono disegnate le linee verso il server se lo si abilita per utente.

Ma il disegno delle linee non è collegato al server, quindi può essere implementato utilizzando funzioni proprie.

 
Seric29:

Beh, sì, nel terminale, ma non è chiaro cosa succede quando l'ordine viene prima elaborato dal terminale e poi va al server, o allo stesso tempo le linee vengono disegnate al server se l'utente è abilitato, se immediatamente al server, allora seriamente, ma se prima al terminale e da lì la 2° funzione del terminale al server, allora l'ordine può essere aperto da Dll/.

Ma il disegno delle linee non è collegato al server, quindi può essere implementato utilizzando funzioni proprie.

Non si può fare dalla DLL. Dimenticalo. Non si può proprio fare!