Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1192

 
Tango_X:

Bonjour, aidez-moi à sortir toutes les valeurs, je ne peux sortir que les dernières. Et la deuxième question, comment sortir ces valeurs avec un décalage vers la droite(définir n'importe quel décalage). Merci !

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]

Il y a peut-être un moyen de sortir de la boîte. Voici un exemple avec un tableau à une dimension. Le décalage est ici fixé à un, mais vous pouvez spécifier n'importe quelw+5 par exemple (mais dans ce cas, il sera certainement hors limites, enfin, comptez et voyez). Notez-le dans Excel et voyez ce qui est égal à quoi.

 
Seric29:

Que voulez-vous dire par le protocole est fermé. Il existe des fonctions d'ouverture de commande dans mql4, il s'agit essentiellement de code simple. Il en va de même pour les objets graphiques. J'ai entendu dire que mql4 est un produit commercial et que c'est pourquoi il n'y a pas de code source ou de fonctions intégrées (par exemple Arrayresize/Range etc.). Par exemple, je ne suis pas à l'aise pour utiliser mql4 pour écrire un programme, c'est un langage trop mort, très limité. Qu'en est-il du langage Win API 32, il ne peut rien faire pour mes questions ? Je suppose que tout est fermé pour Win API 32 également.

Le terminal et le serveur communiquent entre eux en utilisant un certain protocole qui ne nous sera donné par personne.

Cela signifie que les ordres ne peuvent être ouverts qu'à partir de MQL.

Toute la logique doit être placée dans une DLL et les commandes doivent être ouvertes à partir de MQL. C'est ce que je fais.

 
Koldun Zloy:

Le terminal et le serveur communiquent entre eux en utilisant un certain protocole, que personne ne nous donnera.

Cela signifie que les ordres ne peuvent être ouverts qu'à partir de MQL.

Déplacer toute la logique vers DLL et ouvrir les commandes depuis MQL. C'est comme ça que je fais.

C'est une mauvaise idée faite exprès. Le terminal et le serveur communiquent entre eux en utilisant un certain protocole que personne ne nous laisse utiliser. Je suis désolé pour l'expression, mais je suis sans voix. Il serait préférable d'écrire l'implémentation du programme en mql4, et les fonctions de calcul de contrôle en c++. Parce que si tout, sauf les dépendances (objets de commande), est écrit en C++, cela coûterait cher. Il est fait sur mesure. On m'a conseillé d'écrire à l'entreprise mais je pense que la réponse sera celle que vous demanderez. Oui, c'est un produit commercial.

 
Koldun Zloy:

Le terminal et le serveur communiquent entre eux en utilisant un certain protocole, que personne ne nous donnera.

Cela signifie que les ordres ne peuvent être ouverts qu'à partir de MQL.

Déplacer toute la logique vers DLL et ouvrir les commandes depuis MQL. C'est comme ça que je fais.

Si vous ne regardez pas, l'ordre n'est pas envoyé au serveur mais au terminal, cela signifie qu'il communique avec le terminal et que le terminal envoie des ordres au serveur. Si vous écrivez le terminal, il s'effondrera complètement, mais vous devez toujours interagir d'une manière ou d'une autre avec le terminal, c'est ce que je veux dire.

 
Seric29:

Ne regardez pas, vous n'envoyez pas la commande au serveur, mais au terminal, ce qui signifie que vous communiquez avec le terminal, et que le terminal l'envoie au serveur. Si vous écrivez également le terminal, il s'effondrera, mais vous devez toujours communiquer avec le terminal d'une manière ou d'une autre, c'est le but.

Veuillez ne pas écrire dans ce sujet des réponses délibérément fausses pour les nouveaux arrivants si vous ne connaissez pas la bonne réponse. Et il n'est pas nécessaire de discuter d'une sorte de bétail et d'autres choses qui ne sont pas liées à cette ressource.

 
Seric29:

Ne regardez pas, vous n'envoyez pas la commande au serveur, mais au terminal, ce qui signifie que vous communiquez avec le terminal, et que le terminal l'envoie au serveur. Si vous écrivez également le terminal, il s'effondrera, mais vous devrez toujours interagir d'une manière ou d'une autre avec le terminal, c'est le but.

Votre conseiller expert travaille dans le terminal. Il appelle les fonctions de la DLL, lui envoie des données et reçoit une réponse lui indiquant s'il doit ouvrir ou fermer un ordre.

 
Bonjour, ai-je besoin d'aide ? Comment puis-je migrer des comptes de mql4 à mql5 ?
 
Artyom Trishkin:

Veuillez ne pas écrire dans ce fil de discussion des réponses délibérément fausses aux nouveaux arrivants si vous ne connaissez pas vous-même la bonne réponse. Et il n'est pas nécessaire de discuter de certains bovins et d'autres choses qui ne sont pas liées à cette ressource.

L'homme a demandé comment décaler un tableau. Je vous ai montré un bref exemple de décalage par 1tsu, mais je ne peux pas vous montrer la fonction complète. C'est aussi mauvais qu'il ait donné un exemple très bref.

Je sais que je ne devrais pas les traiter de tous les noms, bien sûr, mais mon courage est certainement ébranlé par le fait que les logiciels normaux ne peuvent pas être utilisés. Je pense avoir quelque chose mais je ne peux pas l'utiliser et je dois souffrir.

 
Koldun Zloy:

Votre EA s'exécute dans le terminal. En appelant les fonctions de la DLL, il lui envoie des données et obtient une réponse : il faut ouvrir ou fermer un ordre.

Eh bien, oui, c'est dans le terminal, mais ce qui se passe ici n'est pas clair : d'abord, l'ordre est traité par le terminal et ensuite il va vers le serveur ou à la fois les lignes sont tirées vers le serveur si vous l'avez activé par l'utilisateur.

Mais le dessin des lignes n'est pas lié au serveur, il peut donc être mis en œuvre en utilisant des fonctions propres.

 
Seric29:

Eh bien, oui, dans le terminal, mais il n'est pas clair ce qui se passe lorsque la commande est d'abord traitée par le terminal et va ensuite au serveur, ou en même temps les lignes sont tirées vers le serveur si l'utilisateur est activé, si immédiatement au serveur, alors sérieusement, mais si d'abord au terminal et de là la 2e fonction du terminal au serveur, alors la commande peut être ouverte à partir de Dll/.

Mais le dessin des lignes n'est pas lié au serveur, il peut donc être mis en œuvre en utilisant des fonctions propres.

Vous ne pouvez pas le faire à partir de la DLL. Oublie ça. Vous ne pouvez tout simplement pas le faire !

Raison: