[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 657

 
IgorM:

merci oui c'est ce que je cherchais, quelqu'un a-t-il mesuré la vitesse du même type de code pour mt4 et mt5 ?

J'ajouterais. Je suis surtout intéressé par la différence de vitesse de test/optimisation des EA de même type.
 
ToLik_SRGV:

Yuri, pour l'avenir, si le code répète au moins deux fois, il devrait être alloué à une méthode, et vous n'aurez pas besoin de tas de tableaux qui encombrent le code...


Anatoly, merci beaucoup. C'est dommage que vous ne puissiez pas insérer une icône dans cet article comme dans Skype avec un arc. Tout est simple et élégant. J'ai compris, en communiquant avec d'autres outils d'analyse technique, qu'il devrait en être ainsi, mais je n'ai toujours pas l'habitude de travailler avec mql. Merci pour le conseil sur le marquage de la méthode - je vais essayer de trouver une solution.

Pour finir, pouvez-vous me dire comment éviter que cet EA passe plusieurs ordres sur la même barre ? De bonnes personnes ont déjà donné quelques conseils, mais ils n'ont pas tenu.

 
granit77:
J'ajouterais. Je suis surtout intéressé par la différence de vitesse de test/optimisation du même type d'EAs.


Vous voyez que l'optimisation de MT4 et MT5 devrait être très différente, ne serait-ce que parce que MT5 implémente déjà une vérification incomplète des conditions - pour MT4, cela nécessite beaucoup d'instructions if intégrées - ce qui réduit la lisibilité du code et entraîne des erreurs logiques.
 
IgorM:


Merci beaucoup, c'est ce que je cherchais, qui a mesuré la vitesse du même type de code pour MT4 et MT5 ?


2010.06.29 16:29:56 Test_Speed (EURUSD,M1 : temps 1641 msec MT-4

2010.06.29 16:28:56 Test_Speed (EURUSD,M1) time 359 msec MT-5

ce code n'a pas besoin d'être traduit comme vous le voyez il convient pour 5 et 4

 int start_=GetTickCount();
 int d=0;
 for(int i=0;i<100000000;i++)d+=11;
 Print("время ",GetTickCount()-start_," мсек");

je n'arrive pas à croire que ce n'est qu'un simple ajout, imaginez ce que les développeurs ont fait pour accélérer les fonctions complexes.

 
Urain:

Et ceci est sur l'addition élémentaire, imaginez ce que les développeurs ont foutu là pour accélérer les fonctions complexes.


Espérons-le, car dans MT4 le traitement du code EA est très similaire à celui de Java - les fonctions intégrées sont très rapides, mais les fonctions utilisateur ne le sont pas, même les actions les plus basiques.

quand il s'agit d'optimisation, je suis très confus par la vérification complète des conditions - je n'ai pas entendu parler d'une telle chose depuis environ 20 ans - les bases de l'école :)

 

Je n'arrive pas à trouver un indicateur multidevises qui contienne GoldUSD. Poke me with the link, please.

la mise à niveau des indices qui

 
IgorM:


Soyez plus précis dans votre question.

Si vous êtes intéressé par le prix actuel au moment où vous passez une commande, vous pouvez ajouter un appel au code qui se chargera de stocker le prix actuel dans un tableau global en modifiant l'index du compteur du tableau, que vous pourrez ensuite consulter à partir de n'importe quel point du code.


J'ai besoin que tous les prix à partir du prix d'ouverture de l'ordre soient écrits dans le tableau, afin que je puisse ensuite extraire les éléments maximum et minimum du tableau.

Pouvez-vous me dire comment l'implémenter dans le code ?

 
zelek:


J'ai besoin que tous les prix à partir du prix d'ouverture de l'ordre soient écrits dans un tableau, afin que je puisse ensuite extraire les éléments maximum et minimum du tableau.

Pouvez-vous me dire comment l'implémenter dans le code ?


Je ne comprends pas le problème. Vous avez ouvert un ordre et vous voulez écrire les prix actuels dans le tableau , pourquoi ? Vous avez des barres qui vous donneront les prix minimum et maximum. Si vous écrivez les prix par tick, je ne peux même pas imaginer combien de données le tableau contiendra - ticks de 20 à 80 unités/min.

ou avez-vous besoin des prix auxquels les ordres ont été ouverts ? - il est possible de visualiser les ordres fermés et ouverts dans le terminal

 
IgorM:


Je ne comprends pas le problème. Vous avez ouvert un ordre et vous voulez enregistrer les prix actuels dans le tableau de données. Pourquoi ?

ou voulez-vous voir les prix auxquels les ordres ont été ouverts ? - il est possible de visualiser les ordres fermés et ouverts dans le terminal


Je veux mettre en œuvre quelque chose de similaire à un stop suiveur virtuel à partir d'un pip.

vous devez connaître la valeur maximale à chaque nouveau tick

 
zelek:


Je veux mettre en œuvre quelque chose de similaire à un stop suiveur virtuel à partir d'un point.

pour cela j'ai besoin de connaître la valeur maximale à chaque nouveau tick


Il n'est pas nécessaire d'enregistrer et de stocker tout le tableau à cette fin, il suffit de stocker deux chiffres - le maximum et le minimum de l'ouverture de la commande. Mais pour ce faire - en fait - il suffit de surveiller le prix de la première barre minute à laquelle l'ordre a été ouvert. Par la suite, le maximum et le minimum sont tout à fait déterminés par les barres de minutes sans avoir à stocker constamment le prix.
Raison: