[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 361

 

Diubakin:
1. Здраствуйте, подскажите пожалуйста, есть ли возможность доступа к исторической тиковой информации в МТ4, средствами MQL4? То есть что-то вроде "тик-серии"?

2. Est-il possible de programmer la MA sur la base des ticks, mais pas des timeframes (séries chronologiques) ? Désolé si je ne m'exprime pas correctement. En bref, j'ai besoin d'une histoire de tique...


1. Lisez des articles (faites une recherche) sur le fonctionnement du testeur de stratégie.

2. une telle possibilité existe - mais ici le choix de l'entreprise, par laquelle travailler, ses conditions commerciales, etc. joue un rôle très important. Pour cela, vous avez besoin d'un historique en ticks, puis de le "télécharger" dans MT4... Beaucoup d'autres choses - ceci n'est pas une liste complète des questions à résoudre...

Voir à la toute fin de la base de code du site - un Expert Advisor (par Composter) - Save... - je ne me souviens pas de son nom exact - comment écrire l'historique des ticks d'un fournisseur de cotation (CA).

 
Merci pour l'aide, si j'ai bien compris, alors dans MT4 le travail à part entière avec les ticks est un sérieux problème, c'est-à-dire, pour pouvoir utiliser toutes les possibilités (indicateurs, experts, scripts) comme sur les timeframes et donc lors de la programmation sur la base des informations tick il y a beaucoup de tâches supplémentaires, qui sont très difficiles pour un débutant. Était-il vraiment si difficile pour les développeurs de réaliser une œuvre complète avec des informations de type tique ?
 

Diubakin:
1. Спасибо за помощь, если я правильно понял, то в МТ4 полноценная работа с тиками - это серьёзная проблем, то есть чтоб можно было использовать все возможности(индикаторы, эксперты, скрипты) как на таймфреймовых графиках и соответственно при программировании на основе тиковой информации возникает масса дополнительных задач, которые начинающему решить будет очень сложно.

2. Était-il très difficile pour les développeurs de faire un travail à part entière avec des informations à tiques ?


1. cela dépend de votre formation de base - quels langages de programmation parlez-vous, votre capacité à apprendre, à assimiler et à appliquer le matériel d'apprentissage, beaucoup d'autres choses... Si tout va bien, il y a un désir et une aspiration à étudier dans cette direction, alors pour comprendre et appliquer tout ce plaisir dans la pratique, je suis sûr, ce n'est pas difficile et possible. Si du tout..., alors il est très difficile, voire impossible, de le faire soi-même, la possibilité, je ne veux pas dire par un joba....

2. Ici, demandez aux développeurs eux-mêmes.

 
pension:
Excusez-moi, comment aurais-je dû écrire le code pour conserver les espaces, mais c'est effrayant de le regarder moi-même ? Tout allait bien dans le brouillon dans l'éditeur de texte.

Ici dans l'éditeur, appuyez sur ktrl+alt+M - mettez le code dans le presse-papier dans cette fenêtre, puis appuyez sur "Coller" en bas, puis continuez avec votre tableau.
 
Chers professionnels. Vous trouverez ci-dessous un fragment du conseiller expert, qui y est souvent répété, à différents endroits, à différentes fins.
Question. Pourquoi les conseillers experts écrivent-ils l'opérateur B (condition de base à la p4) après l'opérateur A ? Ou je ne comprends pas quelque chose, ou c'est juste de la réassurance-précision,
ou ils sont conscients de certains pièges ? Alors, que pourrait-il arriver d'inattendu ?
J'ai une autre suggestion, c'est un élément de structuration du programme, pour améliorer la compréhension de sa logique, mais alors si une telle technique est utilisée fréquemment
.

la performance du programme est altérée. Veuillez expliquer quel est le but de la rédaction de la page 4.

for (cnt = OrdersTotal() - 1; cnt >= 0; cnt--) {                                       //стр.1
       OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);                                   //стр.2
       if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber)  continue;  //стр.3 Оп-р А.
       if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)             //стр.4 Оп-р Б.
                   if (OrderType() == OP_BUY || OrderType() == OP_SELL)                //стр.5 Пример нужного оператора
                                                 Profit += OrderProfit();              //стр.6 Пример нужного действия
        }                                                                              //стр.7
 
Vinin:

Il est difficile de se prononcer sur le réel sans connaître beaucoup de choses. Mais en première approximation, on peut dire que 50 % est sûr. Je veux dire une répétition du résultat.

Je vois, merci !
 
pension:
Question. Pourquoi les experts écrivent-ils l'opérateur B (condition principale page 4) après l'opérateur A ?

l'instruction continue met fin à l'itération courante de la boucle for si le nom de l'instrument courant n'est pas égal ou si le magicien n'est pas égal, c'est-à-dire qu'en dessous de l'instruction continue le code ne sera pas exécuté jusqu'à "notre commande", la deuxième instruction if vérifie l'exécution simultanée des conditions

Un code un peu lourd, regardez la branche https://www.mql5.com/ru/forum/131859, il y a beaucoup de fonctions intelligemment écrites.

 

Il existe (je suis en train d'écrire) un indicateur qui simule les pressions sur le clavier comme requis via keybd_event(...) . L'indicateur doit figurer sur plusieurs graphiques. Ainsi, si un autre graphique est ouvert, même sans indicateur, alors que le graphique avec indicateur est caché, cette pression est envoyée à cette autre fenêtre active et n'est pas envoyée à la fenêtre fermée avec indicateur. Et si vous exécutez l'indicateur sur plusieurs graphiques, il sera... !!!

La question est la suivante , comment l'indicateur le sait-il ? que sa carte est inactive, pour au moins bloquer cet envoi ou, si elle l'envoie, doit-elle envoyer cette poussée à sa propre fenêtre, inactive ?

 
pension:
Chers professionnels. Vous trouverez ci-dessous un fragment du conseiller expert, qui y est souvent répété, à différents endroits, à différentes fins.
Question. Pourquoi les conseillers experts écrivent-ils l'opérateur B (condition de base de la p4) après l'opérateur A ? Soit je ne comprends pas quelque chose, soit c'est juste de la réassurance-refinement,
ou sont-ils conscients des pièges à éviter ? Alors quel pourrait être l'imprévu ?
J'ai une autre suggestion, c'est un élément de structuration du programme, pour améliorer la compréhension de sa logique, mais alors si une telle technique est utilisée fréquemment

la performance du programme est altérée. Veuillez expliquer quel est le but de la rédaction de la page 4.



La meilleure chose à faire est de vérifier vous-même le fonctionnement de cette chouette avec 4e pg, sans 4e pg... dans le testeur, sur la démo - peu importe... Deux variantes - laissez-les travailler en parallèle, en même temps, sur le même instrument... Puis postez les échantillons de ces deux variantes ici. Ça ressemble à une sur-assurance... Après tout, si nous avons passé la condition A, alors nous pouvons passer sans risque à la ligne №5 - réassurance...
 

Je suis totalement confus avec l'optimisation.

La tâche est de voir comment l'EA va fonctionner sur une période donnée, le résultat n'est pas encore important.

Nous avons un solde initial de 10000 $. Un paramètre à optimiser. J'ai fixé la condition limitative - le solde minimum est de 1000 $. Le testeur cherche et dit "aucun résultat". Ok. Je commence à tester et je vois que le drawdown maximal est de 532$ et que le solde final est de 9378$. C'est-à-dire que le solde de la période est toujours supérieur à 1000 $, mais le testeur ne le montre pas pendant l'optimisation. Pourquoi ? Une recherche sur les forums montre que ce problème n'existe pas, ce qui signifie que j'ai mal compris la signification de "solde minimum"...

Raison: