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

 
Nikolay Ivanov #:

Une petite correction... Il n'y aura pas d'erreur critique, juste le booléen OrderSelect retournera false... et c'est tout... Mais bien sûr, il vaut mieux éviter... Car si vous n'utilisez pas correctement les caractéristiques du code, il est difficile de prévoir les pièges potentiels...

Oui, bien sûr. Mais uniquement en utilisant des tableaux normaux, terminaux, qui ne sont visibles par personne et auxquels on accède par des fonctions normales, qui ont une protection contre les dépassements et renvoient des drapeaux d'erreur. Je faisais référence au travail avec mes tableaux, après tout :

Mais dès que l'on se rend compte que l'on doit mettre en cache les données des tableaux réguliers et que l'on commence à travailler avec ses propres tableaux, c'est là que l'on doit s'habituer à manipuler les tableaux avec précaution.

Et tout ce que les gens ont fait récemment, en utilisant leurs propres caches de données (historiques et de marché) est beaucoup plus facile et rapide - là, vous pouvez trier comme vous voulez et sélectionner ce que vous voulez, et obtenir de nouveaux tableaux avec seulement les données requises, et les trier comme vous voulez et sélectionner ce que vous voulez.

Mais c'est le niveau suivant des possibilités d'utilisation du terminal et de son API - MQL.

 
Nerd Trader #:

Le premier ordre se voit attribuer magic = 1 par défaut. Ensuite une boucle est lancée :

Début de l'itération magic = 1 unique = 0, à la fin (quand il y a déjà un ordre avec magic = 1 ) magic est toujours 1 et unique = 0
Deuxième itération magic = 2 unique = 0, à la fin, magic = 2 et unique = 1 (pas de correspondance) et le retorn est assigné au 2ème ordre magic = 2.
Le troisième devrait être le même...

Je voulais imprimer tout le processus, mais quelque chose a mal tourné :

https://www.mql5.com/ru/articles/5687
Lisez la suite à votre guise. Et c'est stupide de juste numéroter le Magik. Il doit être crypté. Vous pouvez y coller le numéro, le type, le ticket et même l'heure de création de la commande.
 
Valeriy Yastremskiy #:
h ttps://www.mql5.com/ru/articles/5687
Lisez-le à votre guise. Et c'est stupide de juste numéroter Magik. Il doit être crypté. Vous pouvez y mettre le numéro, le type, le ticket et même l'heure de création de la commande.
Lisons-le. Je ne sais pas pourquoi un magicien devrait être crypté, le numéro de série me suffit. L'option consistant à attribuer le plus grand nombre magique + 1 est très bien, mais je dois comprendre pourquoi mon code ne fonctionne pas.
 
Ivan Butko #:
Pouvez-vous m'indiquer une astuce (manœuvre) pour que le terminal mémorise plusieurs valeurs ?

Par exemple, une tâche :

Compte tenu de N bougies à l'envers. Trouvez les chandeliers de taille >= X pips, mémorisez leur nombre et la taille de chacun d'eux. Si la bougie actuelle après fermeture était >= X pips, alors comparez sa taille avec le nombre total de bougies calculées et affichez le résultat - quelle est sa taille parmi toutes les bougies trouvées.
MakarFX #:

Le terminal se souvient de tout de toute façon... les archives des citations !

Et pour un conseiller expert ou un indicateur, vous avez besoin de ceci

Makar, merci pour votre réponse. Malheureusement, je n'ai pas encore maîtrisé cette page. Comment résoudre ce problème par le biais des tableaux, je ne comprends pas.

 
Ivan Butko #:

Makar, merci pour votre réponse. Malheureusement, je n'ai pas encore maîtrisé la page ci-dessus. Je ne comprends pas comment résoudre ce problème avec des tableaux.

Je ne suis pas encore bon avec les tableaux...

Peut-être que l'un des experts pourra vous aider.

 
Maxim Kuznetsov la syntaxe du langage et les bases fondamentales des algorithmes.

Sinon, nous obtiendrons des absurdités sur le sujet, au lieu de consultations sur la plate-forme et les algorithmes, des dialogues au niveau des écoles primaires - où mettre ; qu'est-ce qu'une boucle et pourquoi les index sont nuls.

Par exemple, il y a un site intuit.ru - il y a des cours sur le C et les algorithmes, prenez votre temps, quelques semaines tout au plus. En même temps, vous pouvez obtenir un papier :-)

La meilleure motivation pour étudier quelque chose, quand il y a un besoin. J'avais l'habitude d'essayer d'apprendre le C, le C++ à partir de manuels, mais je ne sais pas d'où doit venir la motivation pour effectuer les tâches, par exemple : convertir les degrés Celsius en Fahrenheit, etc. Mais lorsqu'il y a un réel besoin, comme c'est le cas pour moi, d'écrire une EE, c'est une autre affaire. J'ai appris plus en une semaine selon les besoins : cours, structures, etc. Dans le même temps, j'ai également dû apprendre et appliquer git. Maintenant, je cherche à maîtriser un éditeur kasher tel que vim ou emacs.

P.S.
J'ai un cours vidéo sur mql4, mais je n'ai même pas l'énergie de le regarder, car il n'écrit pas les bons hiboux pour moi. Oui, le cours idéal est celui où ils écrivent votre EA.
 
Nerd Trader #:

J'ai un cours vidéo sur mql4 mais je n'ai même pas la force de le regarder, car il n'est pas écrit par ces hiboux, dont j'ai besoin. Oui, le cours idéal est celui où ils écrivent votre EA.

Comme c'est effrayant... C'est quoi "ces" hiboux ? Pas Tchernobyl ? Pour autant que je sache, les hiboux ne savent pas écrire. Non seulement cela, mais ils n'en ont pas la moindre idée.

 
Artyom Trishkin #:

Comme c'est effrayant... C'est quoi "ces" hiboux ? Pas Tchernobyl ? Pour autant que je sache, les hiboux ne savent pas écrire. Non seulement cela, mais ils n'en ont pas la moindre idée.

Uh-huh, uh-huh. Le hibou écrit.
 
Nerd Trader #:
Lisons-le. Je ne sais pas pourquoi le magicien a besoin d'être crypté, le numéro de série me suffit. L'option d'assigner le plus grand magicien + 1 est bien, mais je dois comprendre pourquoi mon code ne fonctionne pas.
C'est idiot, car les commandes sont de toute façon numérotées. Ils ont des numéros ordinaux et des billets. Et tu écris les nombres ordinaux plus 1 en Magik. Et vous le faites même sans préfixe distinctif pour distinguer les commandes dont vous avez besoin.

 

Bonsoir, aidez moi à réécrire une section de code en MQL4 pour le compilateur MQL5, si pas difficile, merci !

   FLU=iCustom(NULL,0,"FractalsLine",0,0);
   FLL=iCustom(NULL,0,"FractalsLine",1,0);
   MA_1_t=iMA(NULL,0,Period_MA_1,0,MODE_EMA,PRICE_TYPICAL,0);
   MA_2_t=iMA(NULL,0,Period_MA_2,0,MODE_EMA,PRICE_TYPICAL,0);
   MA_3_t=iMA(NULL,0,Period_MA_3,0,MODE_EMA,PRICE_TYPICAL,0);
   MA_4_t=iMA(NULL,0,Period_MA_4,0,MODE_EMA,PRICE_TYPICAL,0);
   Sig_c=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
   Sig_p=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
   Macd_c=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
   Macd_p=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
   RCI_t = iRSI(NULL,0,14,0,0) - 50;
   Atr=iATR(0,0,14,0);
   WPR=iWPR(NULL,PERIOD_H1,14,0);
   Vol=iVolume(NULL,0,0);
   Stoh_m=iStochastic(NULL,0,21,9,9,MODE_SMA,0,MODE_MAIN,0);
   Stoh_s=iStochastic(NULL,0,21,9,9,MODE_SMA,0,MODE_SIGNAL,0);