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

 
Seric29:

Le problème est que j'applique des modèles à toutes les fonctions qui prennent des tableaux, et l'exportation et l'importation de fonctions modèles n'est pas possible, il faudra dupliquer les fonctions pour chaque type, la même situation avec la dimensionnalité mql ne veut pas les donner pour rien et encore une fois avoir à les dupliquer par dimensionnalité s'avère une sorte de surcharge, mais ajouter des arguments supplémentaires n'est pas nécessaire néanmoins c'est aussi du code inutile, comme pour l'augmentation des arguments de la fonction mql aussi ne donnera pas que des données devront dupliquer les fonctions e Je ne pense pas que cela en vaille la peine. J'ai pensé écrire mon propre langage, mais j'ai écrit 15% de mon robot et j'ai passé plus d'un an à tout calibrer, à le rendre aussi universel que possible et à fournir des performances rapides, et 3 ans pour les calculs. Je n'ai tout simplement pas assez de vie pour écrire ma propre langue. C'est comme ça.

Avoir sa propre langue, c'est génial !

Mais peut-être que tu devrais d'abord apprendre le MQL.

Et vous verrez que ses caractéristiques ne sont pas minces, même maintenant.

Mais si vous apprenez le C++, vous n'aurez aucun problème de programmation.

Oui, j'ai regardé votre code en C++ et je vois que vous savez très peu de choses.

 
Koldun Zloy:

Oui, votre code en C++, je l'ai regardé et je vois que vous savez très peu de choses.

Il vaut mieux apprendre à programmer à l'âge de 4 ans, et j'ai déjà 26 ans, la probabilité de devenir un grand programmeur est très faible, souvenez-vous de gens comme Elon Musk et d'autres qui savaient programmer à l'âge de 9 ans, je remplirais au moins la tâche principale.

 

Il existe une fonction

ArrayCopy

Mais il ne vous permet pas de copier une colonne spécifique. Alors il existe une fonction

ArrayInitialize

et à nouveau les mêmes bêtises, puis il y a la fonction

ArrayFill

mais ici aussi, vous ne pouvez pas spécifier une colonne. À quoi servent ces fonctions si vous devez écrire les vôtres.

 
Seric29:

Il est préférable d'apprendre à programmer dès l'âge de 4 ans, et j'ai déjà 26 ans.

Oh, vous fumez quelque chose de fort ! )))))

on ne peut pas enseigner la programmation informatique dès l'âge de 4 ans, car il ne veut pas seulement jouer avec des jouets mais aussi les jeter par terre, l'enfant n'a pas encore appris à lire, il ne sait compter que jusqu'à dix (les enfants prodiges savent compter jusqu'à 100 ! )))) )

Vous ne pouvez rien apprendre à 26 ans ? Depuis trois mois que vous écrivez votre problème, vous l'auriez résolu si vous aviez commencé à lire et lire, le forum MQL est l'un des rares forums où vous pouvez obtenir une réponse à votre question en 1-2 heures, c'est vraiment cool ! Eh bien, c'est votre mode de vie. Ici, j'en ai trouvé un pour votre problème, ça ne pourrait pas être mieux :

https://www.mql5.com/ru/forum/3457/page4494#comment_12804114

 
Seric29:

Il vaut mieux apprendre à programmer dès l'âge de 4 ans, et j'ai déjà 26 ans, la probabilité de devenir un programmeur cool est très faible, souvenez-vous de gens comme Elon Musk et d'autres qui savaient programmer à l'âge de 9 ans, je pourrais au moins accomplir la tâche de base.

Je n'ai pas commencé à 4 ans, ni même à 9 ans.

La probabilité de devenir un programmeur cool à partir de 26 ans est très élevée.

 

Les gars, j'ai une question mais ne riez pas pourquoi ce code ne fonctionne pas.

#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#define  Mkarr(q,w,e,r) switch(ArrayDimension(q)){case 3:q[w][e][r]=15;break;case 2:q[w][e]=15;break;}
int Mas[7],//#else
    Mas2[2][2]={{3,8},{4,17}},
    Mas22[2][2]={{31,128},{94,107}},
    Mas3[2][2][2];

int OnInit()
  {int Perem=ArrayDimension(Mas); 
   Mkarr(Mas2,0,0,0);
   return(INIT_SUCCEEDED);
  }

Il dit un accès erroné au tableau comment le sait-il si toutes les variantes du cas ne sont pas vérifiées et essayé si rien n'est vérifié aussi et jette une erreur ? Est-il possible de sauter le code au moment de la compilation ou cela ne sert à rien ?

 
Seric29:

Les gars, j'ai une question mais ne riez pas pourquoi ce code ne fonctionne pas.

Dit un accès erroné au tableau comment sait-il si toutes les variantes du cas ne sont pas vérifiées et essayé si rien n'est vérifié aussi et jette une erreur ? Est-il possible de sauter le code au moment de la compilation ou cela ne sert à rien ?

Ce n'est pas drôle, ça me donne envie de pleurer.

pourquoi utiliser des macros si vous ne savez pas comment les utiliser ? décompilez la macro (copiez simplement le putain !) et vous devriez voir où se trouve l'erreur

SIN : ..... "Les souris pleuraient et pleuraient mais continuaient à mâcher le cactus" ((((

 
Igor Makanu:

Ce n'est pas drôle, ça me donne envie de pleurer.

pourquoi utiliser des macros si vous ne savez pas comment les utiliser ? décompressez la macro (copiez simplement la merde !) et vous devriez voir où se trouve l'erreur.

SZY : ..... "Les souris pleuraient et pleuraient, mais continuaient à ronger le cactus" ((((

Je ne comprends pas vraiment, la macro peut prendre n'importe quel élément et lors de son traitement dans le compilateur, j'obtiens une protection selon laquelle un même élément ne peut pas être à la fois ceci et cela. Est-il possible de mettre en œuvre une telle idée ?

 
Seric29:

Je n'y connais pas grand-chose, la macro prend n'importe quel élément et lors de son traitement dans le compilateur, il existe une protection selon laquelle un même élément ne peut pas être à la fois those et those, j'ai de telles pensées. Une telle idée peut-elle être mise en œuvre ?

une fois de plus... Prenez votre macrosubstitution dans ME (ou au moins dans notepad !) et "branchez"-la au lieu de l'utiliser, remplacez tous les paramètres entre parenthèses par vos chiffres

Je ne sais même pas comment l'expliquer plus facilement... Lisez Wiki si vous n'avez pas assez de références sur MQL.

Commande macro

Préprocesseur C

 
Igor Makanu:

une fois de plus... prenez votre macro de substitution dans ME (même dans notepad !) et "branchez"-la au lieu de l'utiliser, remplacez tous les paramètres entre parenthèses par vos chiffres

remplacée pour vous, voici le code sans les macromes

//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//#define Mkarr(q,w,e,r) switch(ArrayDimension(q)){case 3:q[w][e][r]=15;break;case 2:q[w][e]=15;break;}
int Mas[7],//#else
Mas2[2][2]={{3,8},{4,17}},
Mas22[2][2]={{31,128},{94,107}},
Mas3[2][2][2];
int OnInit()
  {
   int Perem=ArrayDimension(Mas);
//   Mkarr(Mas2,0,0,0);
   switch(ArrayDimension(Mas2))
     {
      case 3:Mas2[0][0][0]=15;
      break;
      case 2:Mas2[0][0]=15;
      break;
     }
   return(INIT_SUCCEEDED);
  }

je ne sais pas pourquoi vous passez autant de temps à travailler avec des tableaux multidimensionnels si vous ne comprenez pas la syntaxe et les bases du C++ / MQL, vous avez des tableaux définis avec une dimension et vous essayez de les utiliser avec une autre, bien sûr je peux me tromper, mais cette astuce ne devrait pas fonctionner même en Python, imho