English Русский 中文 Español Deutsch 日本語 Português 한국어 Italiano Türkçe
Quelques conseils pour les nouveaux clients

Quelques conseils pour les nouveaux clients

MetaTrader 5Trading | 12 janvier 2022, 17:10
239 0
Dmitriy Skub
Dmitriy Skub

Introduction

Une sagesse proverbiale souvent attribuée à diverses personnes célèbres dit : « Celui qui ne fait pas d'erreurs ne fait jamais rien. » À moins que vous ne considériez l'oisiveté comme une erreur, cette affirmation est difficile à contredire. Mais vous pouvez toujours analyser les erreurs passées (les vôtres et celles des autres) pour minimiser le nombre de vos erreurs futures. Nous allons tenter de passer en revue les situations qui peuvent se présenter lors de l'exécution de travaux dans le service du même nom.

Notre but sera de le rendre aussi objectif que possible. Quoi qu'il en soit, il représentera le point de vue de la partie exécutante - un développeur. Avant de passer à des situations concrètes, je dois souligner les points suivants :

Toute similitude avec des noms, surnoms, images et autres éléments visuels réels est fortuite. Toutes les affirmations et calculs statistiques énoncés ci-dessous représentent l'opinion personnelle de l'auteur de cet article et ne prétendent pas être une vérité absolue.


1. Service Jobs - Pourquoi en avons-nous besoin ?

Utiliser ou non le service Jobs - une décision que chacun prend pour soi. Mon avis est un oui définitif, à utiliser. Voici quelques réflexions à ce sujet. Compte tenu des principaux problèmes qui peuvent survenir dans l'interaction entre le client et la partie exécutante, on peut souligner les suivants :

  • Une spécification des besoins (RS) peu claire ou ambiguë à la suite de laquelle la partie exécutante produit quelque chose de totalement différent de ce que le client attend ;
  • Crainte du client d'être trompé par la partie exécutante qui peut obtenir le prépaiement sans faire le travail ou n'en fait qu'une partie ;
  • Crainte de l'exécutant d'être trompé par le client qui peut obtenir le travail fini sans payer la partie restante du montant convenu ;
  • L'émergence de situations litigieuses (souvent sans issue) où les deux parties sont sûres à 100 % d'avoir raison et ne sont en aucun cas disposées à chercher un compromis.

Les trois dernières situations ci-dessus peuvent être entièrement résolues ; le problème du manque de clarté du RS peut également être abordé. Il n'y a en fait qu'un seul point faible : la nécessité pour le client/exécuteur de faire quelques démarches supplémentaires - passer un ordre, transférer le paiement, passer par des étapes intermédiaires de progression, etc. Mais je crois que c'est un petit prix à payer pour la tranquillité d'esprit et l'assurance que l'argent ne sera pas gaspillé et que le travail sera fait.

Vous avez donc finalement décidé d'utiliser le service Jobs et de passer un ordre pour le développement ou de modification d'un indicateur, d'un EA ou d'un script. On s'attend à ce que vous commenciez par vous familiariser avec : Règles d'utilisation du service Jobs. Si vous ne l'avez pas encore fait, il est temps de combler ce petit manque de connaissances.

Il est également recommandé de lire attentivement les articles « Comment commander un Expert Advisor et obtenir le résultat souhaité » et « Comment commander un robot de trading en MQL5 et MQL4 » - tous ces éléments vous aideront à vous mettre dans l'ambiance pour faire des affaires sérieuses et efficaces, après tout vous êtes une personne sérieuse, un futur trader ou un trader bien établi. Parce que ce métier exige une approche réfléchie et scrupuleuse.


2. Types d’ordres courantes

Essayons de classer les types d’ordres les plus courantes qui sont très souvent associés à des situations problématiques. Sans prétendre à l'exhaustivité, la liste comprend les types d’ordres suivants.


2.1. Le Forex est très facile

Un client qui ne sait pas vraiment ce qu'il veut et qui ne comprend pas très bien comment tout cela doit fonctionner. En règle générale, il s'agit d'une personne novice dans le domaine du Forex qui a glané quelques informations et qui pense que le Forex est très facile. Repérer une section favorable du graphique avec deux croisements МА et ajouter MACDpour compléter le tout (sans même se rendre compte que ce sont en fait les deux mêmes МА), il pense avoir trouvé un bon système de trading qui n'a besoin d'être codé que sous la forme d'un Expert Advisor pour commencer à ratisser large.

Les ordres passées par ces clients semblent se répartir approximativement comme suit : « Expert Advisor Simple », « Indicateur simple » et d'autres variantes, y compris les mots « simple » et « non compliqué ». En conséquence, le paiement offert est de 10 à 20 crédits. Le service Jobs ne permet tout simplement pas d'offrir moins.

Lorsqu'il discute avec un tel client, il admet rarement qu'il est un débutant et que sa commande pourrait bien être une absurdité dont le prix n'est même pas correct. Pour certaines raisons, les anglophones ont tendance à l'admettre tout de suite et même à demander un conseil concernant le fonctionnement de leur système.

Le seul conseil qui peut être donné ici est de tester manuellement votre système sur un intervalle plus long (au moins sur une période d'un an) avant de commencer à utiliser le service Jobs. Alternativement, il peut être testé dans le mode visuel du testeur en utilisant les Expert Advisors existants pour l'ouverture/la clôture des trading, par exemple Trading SIMULATOR 2 ou dans des programmes spéciaux pour le test.


2.2. Dans la jungle des indicateurs

Un autre extrême si caractéristique des débutants est l'utilisation de tout un tas d'indicateurs divers qui produisent parfois des signaux qui s'excluent mutuellement. Il est également courant d'utiliser une combinaison d'un certain nombre d'indicateurs à différentes échelles (parfois plusieurs ordres différents) dans une fenêtre d'indicateur et de surveiller les signaux indiquant des croisements entre eux. Et les débutants sur le Forex ne sont pas les seuls à avoir cette habitude.

Toutes les tentatives pour expliquer que ce n'est pas faisable sont entravées par un manque persistant de compréhension et des références abstraites à un programmeur qui l'a fait aussi facilement que ABC, etc. Cela dit, moins on passe de temps à utiliser le terminal, plus le manque de compréhension est persistant - il semble exister une proportionnalité inverse.

Donnons un exemple d'une telle combinaison d'indicateurs. Prenez RSI avec un intervalle normalisé de 0 à 100 et ATR avec une plage non normalisée (de 0 à une valeur inconnue considérablement inférieure à l'unité). Nous entrerons dans ACHAT lorsque ATR croisera RSI de bas en haut sur la barre suivante. Un rectangle gris dans l'image ci-dessous (Fig.1) représente un signal d'achat émergent.

Nous allons le marquer avec une ligne pointillée verticale et voir ce qui se passe ensuite.

Fig. 1. Le signal ACHAT à émergé

Fig. 1. Le signal ACHAT à émergé

L'image suivante (Fig. 2) suggère que le signal d'achat est toujours présent et s'est même renforcé, mais pour une raison quelconque, il s'est déplacé vers la gauche (la position de la ligne verticale en pointillés sur l'axe du temps reste inchangée). Il semble que nous aurions dû entrer plus tôt. Il y a un problème.

Fig. 2. Le signal ACHAT est toujours là

Fig. 2. Le signal ACHAT est toujours là

La troisième image (Fig. 3) est totalement confuse - le signal a disparu, il a disparu comme s'il n'avait jamais existé. Il s'agit des résultats de la mise à l'échelle (lorsque plusieurs indicateurs ayant des intervalles de valeurs différentes doivent être affichés dans le même graphique afin qu'ils soient tous visibles en même temps).

Fig. 3 Le signal a disparu

Fig. 3. Le signal a disparu


Une autre situation courante consiste à se laisser piéger par l'illusion lorsqu'on examine les résultats de la performance d'un indicateur sur l'historique. Il n'y a pas de compréhension claire du fait que les lectures d'un grand nombre d'indicateurs changent en fonction de l'évolution du prix et que leurs valeurs finales sont formées à la fin de quelques barres du graphique, alors qu'il est peut-être trop tard pour ouvrir une position. C'est ce que l'on appelle le « redécoupage ». L'exemple le plus parlant d'un tel indicateur serait probablement Zig Zag.

Les discussions avec un tel client dans le but de retrouver un chat noir disparu dans une pièce sombre peuvent durer très longtemps, aussi longtemps que la patience des deux parties le permet, et peuvent devenir un véritable test psychologique.

Il existe une astuce très simple : surveiller les indicateurs en dynamique. Vérifiez si les signaux disparaissent lorsque vous modifiez l'échelle du graphique sur l'axe du temps et/ou des prix. La courbe ou l'histogramme d'un indicateur semble-t-il différent sur les barres précédentes lorsque le prix change ? Vous pouvez facilement le vérifier dans le mode visuel du testeur en déposant votre ensemble d'indicateurs sur le graphique. N'importe quel Expert Advisor, par exemple fourni dans le terminal, peut être utilisé ici.


2.3. Automatisation manuelle du système

C'est l'un des types les plus complexes. On peut être un trader établi et performant, mais rester perplexe lorsqu'on essaie de présenter son système sous la forme d'un algorithme ou se retrouver à décrire chaque barre du graphique en spécifiant les valeurs des prix et des indicateurs. Cela se produit parce que son trading est basé sur l'intuition, c'est-à-dire que le traitement des informations de trading est caché dans le subconscient et que seul le résultat final est généré en sortie. Un tel trader ne sait pas vraiment comment le résultat a été obtenu.

Si la formalisation du système échoue, la meilleure option serait d'automatiser progressivement le processus de trading. Tout système est constitué d'éléments standard (ouverture/fermeture de positions/ordres, contrôle des risques, gestion des positions, etc.) Décomposez votre travail en étapes et traitez chaque étape séparément. Progressivement, étape par étape, le processus de trading peut devenir presque entièrement automatisé.

La deuxième option consiste à mettre immédiatement de côté l'idée d'un système de trading entièrement automatisé et à se concentrer sur le développement d'un système semi-automatisé. Il peut être généralisé comme suit : le trader décide où et quand les positions doivent être ouvertes, tandis que le reste du travail est effectué par l'Expert Advisor. Alternativement, vous pouvez définir l'heure et/ou l’intervalle de prix où l'entrée est autorisée, sous réserve de certaines conditions, et l'Expert Advisor surveillera ensuite ces conditions pour ouvrir des positions dans les intervalles spécifiées.

Ainsi, il serait optimal d'appliquer deux approches. La première consiste à commencer par développer un système semi-automatisé qui gérerait la majorité des opérations de trading de routine. Et la deuxième approche consiste à décomposer votre travail en plusieurs étapes. Chacune d’entre elles devrait représenter une activité distincte donnant lieu à la version finale de l'Expert Advisor. Une combinaison des deux approches ci-dessus est également possible.


2.4. Demander à l'Expert Advisor de faire du thé

De temps en temps, des ordres apparaissent où la liste des fonctions directement liées au trading ne forme qu'une petite partie du RS. Alors que l'essentiel comprend la surveillance de l'état de l'ordinateur et du réseau, l'envoi de SMS et d'e-mails, le suivi de divers dysfonctionnements, y compris les plus légers, et des changements dans l'environnement autour de l'Expert Advisor. Complétez le tout par une notification sonore (ou vocale) de tout ce qui précède à la disposition du propriétaire.

Tout cela est, bien entendu, réalisable à condition que le client et la partie exécutante soient tous deux désireux de se lancer dans l'aventure. Cependant, les clients sont en général assez réticents lorsqu'il s'agit de débourser de l'argent pour la mise en œuvre de ces fonctions. Et l'Expert Advisor doit-il vraiment tout couvrir ? Je crois que non. Un tel Expert Advisor ne pourra de toute façon pas fonctionner de manière absolument indépendante - il existe une erreur fatale (par exemple, une panne de courant prolongée).

Par conséquent, les fonctions attribuées à l'Expert Advisor devraient être raisonnablement limitées. Non seulement cela nécessitera moins d'argent pour son développement, mais il assurera également un fonctionnement plus fiable de l'Expert Advisor lui-même puisque moins de fonctions entraîneront moins d'erreurs.


2.5. Fais ça, je ne sais pas quoi

La première partie de cette phrase bien connue, « aller là-bas, je ne sais pas où », est généralement utilisée par le client et l'exécutant l'un envers l'autre à la fin des travaux. Étant donné que le système de trading en tant que tel n'a pas été suffisamment bien conçu, le client commence à proposer des modifications, des ajouts et des retraits du RS au cours du développement d'un Expert Advisor (ou d'un indicateur).

À mon avis, cela est tout à fait acceptable si un tel changement ne demande pas beaucoup d'efforts du point de vue de la programmation. Un tout petit détail pourrait être négligé ou simplement oublié. Cependant il s'agit souvent de changements qui ne semblent pas très importants pour le client mais nécessitent en fait une modification d'une partie substantielle de l'Expert Advisor. Plus important encore, de tels changements nécessitent une modification de la logique du programme. L'un des exemples courants est un remplacement par lequel au lieu d'ouvrir des ordres de marché, l'Expert Advisor devrait ouvrir des ordres en attente ou vice versa.

Le seul conseil que l'on puisse donner ici est de rechercher une clarté totale sur le RS pour la partie exécutante, ainsi que pour le client (aussi étrange que cela puisse paraître). La modification du RS peut parfois prendre plus de temps que le travail lui-même. Et je pense que c'est normal car l'identification des objectifs fait aussi partie du travail.


3. La RS idéale, à quoi ressemble-t-elle ?

En ce qui concerne la structure de la spécification des exigences pour un développement abstrait, la RS idéale pourrait être à peu près celle présentée ci-dessous :

3.1. Environnement d'exploitation

Le terminal (MetaTrader 4/MetaTrader 5) pour un développement requis. Ce point le plus important est généralement négligée dans la RS et même dans l'objet d'un ordre. Il convient de le préciser dans l'objet de l’ordre, car tous les développeurs n'ont pas une bonne connaissance du langage MQL5 ou, au contraire, peuvent être passés à MQL5 sans avoir appris MQL4 au préalable.

3.2. Centre de négociation/courtier où le développement va être appliqué

Ces informations sont principalement nécessaires lors du développement des EA (ou des scripts de trading). Il peut y avoir diverses particularités : différences dans l'exécution des ordres, taille de lot minimum/maximum, positions au jour le jour, nombre de chiffres dans les cotations, devise du compte, cotations au cours du week-end et si elles doivent être traitées, spread fixe ou flottant, travail basé sur de nouvelles barres ouverture ou basé sur les ticks, etc.

Il serait préférable qu'un compte de démonstration soit ouvert par le client avec son DC/Courtier dans la devise de compte attendue pour être ensuite fourni au développeur. Cela est nécessaire car même pour ouvrir un compte de démonstration avec certains DC (par exemple Oanda), vous devez être enregistré sur leur site web avec certains formulaires à remplir, etc. Faites gagner du temps au développeur. Elle peut être nécessaire pour les travaux de débogage et de test.

3.3. Que le développement soit destiné à un compte réel ou uniquement à un compte de test/démo

La différence est en effet cruciale. Alors que la vitesse de fonctionnement est de la plus haute importance dans les tests (elle affecte le temps d'optimisation), le traitement des erreurs et le mécanisme de récupération qui reconstruit l'état correct de l'Expert Advisor en cas d'échec de connexion, de redémarrage du terminal, etc. sont une priorité lorsqu'il s'agit d'un compte réel. Cela dit, la vitesse de test de l'Expert Advisor pour un compte réel peut être plusieurs fois voire plusieurs dizaines de fois plus lente. Là encore, cela affecterait considérablement le coût du développement, à la hausse ou à la baisse.

C'est à ce moment-là que vous devez vous demander : ai-je vraiment besoin d'un Expert Advisor pour un compte réel ? Si le développement est expérimental et que l'algorithme n'a pas été définitivement fixé et sera probablement modifié et révisé, il est inutile de commander en vue d'un compte réel. De plus, il est également défavorable, ce qui ralentit considérablement le fonctionnement de l'optimisation. Une fois l'algorithme mis au point, un développement ultérieur pour un compte réel peut être élaboré. Il ne sera pas coûteux.

3.4. Description de l'algorithme de fonctionnement

Il est également conseillé de fournir une liste provisoire de paramètres externes (le cas échéant) en spécifiant les noms préférés et les valeurs par défaut. Tout cela accélère considérablement les étapes du travail de routine pour un développeur et permet d'éviter de poser des questions inutiles et de demander des clarifications au client.

3.5. Type d'informations affichées

Il convient de le préciser car tout ce que le client souhaite ne peut être affiché. Et il est préférable de régler cette question au moment de la finalisation de la RS plutôt que plus tard. S'il est prévu d'afficher quelque chose pendant le fonctionnement d'un Expert Advisor ou d'un indicateur, il est conseillé de fournir une forme approximative et de préciser la couleur de fond du graphique prévu pour ce fonctionnement (noir, clair, blanc ou autre).

Si des illustrations sont nécessaires pour une meilleure explication de l'algorithme de fonctionnement, elles doivent être fournies. Une illustration accompagnée de commentaires pertinents peut donner une idée plus simple et plus claire d'un algorithme que quelques pages de texte brut.

Une spécification des exigences correctement préparée est sans aucun doute essentielle à la réussite du développement et à l'obtention du résultat attendu. N'essayez donc pas de gagner du temps en détaillant les points de votre RS. Et vos efforts seront récompensés par le développement.

3.6. Divers

Vous y trouverez généralement des conditions générales et des exigences. Il peut s'agir de l'obligation de fournir un texte source (code) à l'issue de la dernière étape de travail, de commentaires étendus dans le texte source, de la période de garantie de correction des erreurs et d'autres exigences.


4. Quelques mots sur le débogage et les tests

C'est l'étape où les fonctions réellement exécutées par un indicateur ou un Expert Advisor sont vérifiées par rapport aux fonctions listées dans la RS. Comme vous le savez peut-être, l'une des lois de Murphy en matière de programmation informatique stipule que tout programme comporte au moins un bogue. Il existe également un corollaire à ce point qui stipule : chaque bogue détecté et corrigé est le dernier sauf un. C'est, bien sûr, une blague, mais la « loi » ci-dessus n'est pas loin de la vérité lorsqu'il s'agit de programmes complexes (à la fois les Advisors et les indicateurs).

On peut donc en déduire une autre conclusion : il ne faut pas soupçonner un développeur d'intentions malveillantes et d'incompétence dès qu'un ou plusieurs bogues sont détectés après la livraison et l'acceptation du travail. Je crois que la qualité du service fourni par la partie exécutante est principalement déterminée par la correction rapide et efficace des erreurs détectées au cours du travail.

À mon avis, le développement/test incrémentiel est optimal lors du test de solutions complexes qui met en œuvre des algorithmes avec plusieurs conditions logiques et des branchements. Le problème doit être divisé en plusieurs parties logiquement indépendantes qui seront progressivement résolues/testées par le client et le responsable de l'exécution ensemble. Au stade final, les tests concernent l'interaction entre les parties testées précédemment et le travail dans son ensemble.

La notion de complexité/simplicité est certainement subjective et dépend largement de l'expérience de la partie exécutante et de la compréhension de toutes les nuances du travail par le client. Les méthodes et techniques de test fournies par MetaTrader 4 et MetaTrader 5 sont assez diverses, à tel point que certains clients n'ont aucune idée (ou oublient - j'ai en fait rencontré cela dans le passé) de la possibilité d'exécuter un Expert Advisor sur des données historiques dans le testeur. Mais le plus important est que le testeur est disponible en mode de test visuel.

Il s'agit de l'une des méthodes de test les plus puissantes et les plus pratiques, qui permet de tester un indicateur ou un Expert advisor sur des cotations historiques reçues en mode rapide en quelques minutes seulement, en surveillant visuellement les résultats de leurs performances, représentés par les transactions exécutées et les informations affichées. L'apparition des cotations peut être ralentie ou même temporairement suspendue pour vous laisser le temps d'analyser les détails d'une certaine transaction.

Après les tests dans le testeur, vous pouvez vérifier l'efficacité de travail d'Expert Advisor en l'exécutant sur un compte de démonstration. Un jour et demi de travail en temps réel sur un compte démo suffit généralement pour s'en assurer complètement. Toujours à condition de ne pas utiliser de délais très longs (une semaine ou plus).


5. Description des erreurs détectées

Je voudrais faire quelques remarques concernant la manière optimale de décrire les erreurs détectées par le client. En parlant d'exemples extrêmes de la façon dont les erreurs ne devraient pas être décrites, ce serait quelque chose comme ceci : « Votre Expert Advisor ne fonctionne pas, il aurait dû ouvrir beaucoup de positions mais il n'y en avait même pas une seule. »

Sans avoir la moindre information sur l'instrument, la période, les paramètres définis, etc., le développeur ne peut que deviner ce qui se passait dans le terminal du client.

À mon avis, les erreurs/défauts détectés sont mieux décrits à l'aide d'images graphiques. MetaTrader 4 et MetaTrader 5 offrent la possibilité d'enregistrer le graphique sous forme de fichier image - sous forme de GIF et BMP dans MT4 et sous forme de GIF, BMP et PNG dans МТ5. Le format PNG est préférable car il préserve entièrement la netteté de l'image.

La netteté de l'image est très importante pour évaluer correctement la position des lignes, des barres et des valeurs numériques du graphique enregistré.

Dans le terminal МТ4, il apparaît à peu près comme indiqué ci-dessous (Fig. 4). Pour ce faire, faites un clic droit sur le graphique souhaité dans le terminal et un menu contextuel s'affichera.

Fig. 4. Enregistrement de l'image du graphique dans un fichier

Fig. 4. Enregistrement de l'image du graphique dans un fichier


Dans МetaТrader 5, il existe une procédure similaire - la même commande, Enregistrer en tant qu'image est sélectionnée dans le menu qui est cependant quelque peu différente dans les ordres qu'elle contient.

Une fois la commande de menu sélectionnée, une boîte de dialogue supplémentaire apparaît pour définir la résolution et la zone de l'image à enregistrer. C'est ce que montre la figure 5 ci-dessous :

Fig. 5. Réglage des paramètres de l'image à enregistrer

Fig. 5. Réglage des paramètres de l'image à enregistrer


Pour enregistrer uniquement l'image d'une fenêtre contenant un graphique, sélectionnez Graphique actif (tel quel). L'option Zone de travail active sélectionnée entraînera l'enregistrement de l'image de toute la fenêtre du terminal, ce qui peut parfois s'avérer utile lorsque plusieurs graphiques doivent être affichés simultanément.

Il n'est pas recommandé de modifier la résolution de la carte active, car cela peut nuire à la qualité de l'image enregistrée.

L'image peut également être enregistrée en utilisant la touche de raccourci Alt+PrtScr ou PrtScr seule qui permet d'enregistrer une capture de la fenêtre actuelle ou la capture d'écran entière dans le presse-papiers pour être traitée ultérieurement dans un éditeur graphique.

Vous pouvez ensuite ouvrir le fichier graphique résultant dans un éditeur graphique et le modifier (si nécessaire) - par exemple, ajouter une note de texte concernant une erreur probable aux endroits pertinents du graphique. Le moyen le plus simple d'effectuer des modifications est d'utiliser l'éditeur graphique Paint fourni avec Windows. C'est toutefois une question de goût et d'habitude.


6. Les pièges cachés de la RS

En règle générale, ils surviennent pour diverses raisons : manque de compréhension de toutes les nuances de la tarification en bourse et sur le Forex, manque de prise en compte des particularités de la mise à l'échelle le long de l'axe du temps et de l'axe des prix, etc. Le fait que le développeur prête attention à ces points lorsqu'il discute de RS ou opte pour une approche formelle dépend en grande partie de ses qualifications et de sa connaissance des particularités du marché. Et, bien sûr, sur l'honnêteté.

En utilisant des expressions figuratives de l'art populaire, lors de la rédaction d'une RS, le client considère souvent le comportement d'une « vache sphérique dans le vide » plutôt que d'un véritable marché des changes ou financier, idéalisant ainsi à l'extrême le comportement des séries de prix.

6.1. Discrétion des variations de prix

Examinons l'exemple pratique suivant. Une phrase dans la spécification des exigences a essentiellement l'effet suivant : lorsque le prix atteint la valeur fixée par le paramètre externe, ouvrez une position d'achat. On pourrait penser qu'aucune question ne serait jamais soulevée à ce sujet - il y a un prix, la valeur est fixée, il suffit d'écrire une condition de déclenchement et c'est tout.

La seule « bagatelle » négligée ici est que le prix évolue dans le graphique de manière discrète (d'un point à un autre) et non en continu. L'activation de l'option de terminal Afficher le graphique sous forme de ligne brisée afin que nous puissions le voir à l'écran ne rendra pas le mouvement de prix continu. La série de prix réelle dans le graphique sera toujours composée de points discrets.

Elle peut être illustrée par l'exemple de graphique à ticks suivant (sous une forme approximative).

Fig. 6. Variation discrète des prix

Fig. 6. Variation discrète des prix

La valeur de prix spécifiée est affichée sous forme de ligne continue horizontale tandis que les points rouges et bleus représentent les valeurs de prix réelles observées. En regardant de près le graphique, vous pouvez voir que techniquement, le prix n'a jamais atteint le niveau spécifié. Autrement dit, suivant la logique de la RS d'origine, la condition n'a jamais été remplie.

Une remarque importante : toutes les comparaisons de prix doivent être exactes à un point près. Par exemple, si les cotations de l'instrument ont cinq chiffres après la virgule, alors un point est égal à 0,00001 - ce sera la précision pour les comparaisons de prix à effectuer. Vous devez également garder à l'esprit qu'il existe des instruments (par exemple des mini contrats à terme) pour lesquels la discrétion de la variation des prix est supérieure à un point.

Ainsi, même si nous pouvons voir que le prix semble avoir atteint le niveau spécifié, la condition, telle qu'énoncée dans la RS fourni, n'a jamais été remplie. Afin de rapprocher la notion idéaliste du prix introduite dans la RS sur la réalité, vous devez procéder comme suit : ajouter deux limites au niveau existant, supérieure et inférieure. Ils sont représentés par une ligne pointillée dans la figure 6 ci-dessus. L’intervalle de ces limites dépend d'un certain système de trading. Dans la majorité des cas, 2-3 unités de spread moyen devraient suffire.

Ensuite, tous les points se trouvant dans la zone entre les lignes pointillées seront considérés comme ayant atteint la valeur spécifiée. Dans la figure ci-dessus, ils sont entourés en vert.

Revenons à notre RS et modifions-la comme suit : lorsque le prix atteint la valeur fixée par le paramètre externe plus/moins delta, ouvrez une position d'achat. C'est beaucoup mieux maintenant.

Il y a un autre point à considérer qui est lié au fait que la connexion avec le serveur du courtier peut se perdre à tout moment. Jusqu'à ce que la connexion soit rétablie, le prix peut augmenter ou diminuer à n'importe quelle distance par rapport au niveau spécifié. Cette zone (de perte de connexion au serveur du courtier) est délimitée par un rectangle rose dans la figure ci-dessus. Il est évident qu'une situation de ce type doit également être envisagée dans la RS.

Modifions à nouveau notre RS : lorsque la valeur du prix précédent est inférieure à celle fixée par le paramètre externe moins delta, et que la valeur actuelle se situe dans l’intervalle de la valeur fixée par le externe plus/moins delta, à condition que le l'intervalle de temps entre eux n'est pas supérieur à celui spécifié, ouvrez une position d'achat. Maintenant tout est correct.

6.2. Déclenchement à un moment précis

Une RS dit : passer deux ordres d'achat et de vente en attente à une distance donnée du prix au moment fixé par le paramètre externe. Ici, vous devez distinguer deux types de terminaux - МТ4 et МТ5. Alors que MetaTrader 5 permet d'utiliser le minuteur avec une discrétisation minimale d'une seconde et la même précision de décompte, le langage MQL4 de MetaTrader 4 ne prévoit pas de minuteur.

Par conséquent, pour un décompte standard en МТ4, nous utilisons généralement l'heure des ticks de prix entrants de l'instrument sur lequel l'Expert Advisor ou l'indicateur est utilisé. Étant donné que les ticks n'apparaissent pas régulièrement et que les intervalles de temps entre les ticks successifs peuvent être assez importants, soit quelques dizaines de secondes, parfois même des minutes dans un marché inactif, il s'avère que nous ne pourrons pas garantir une précision absolue dans le déclenchement des ordres à un moment précis. Une autre méthode standard de décompte du temps dans МТ4 consiste à utiliser un Expert Advisor en boucle, ce qui est assez peu pratique pour le développement et présente un certain nombre d'inconvénients.

Il serait donc préférable de modifier cette partie de la RS comme suit : placer deux ordres d'achat et de vente en attente à une distance donnée du prix au moment fixé par le paramètre externe avec l'erreur spécifiée.

6.3. Utilisation de termes généraux et multidimensionnels

Voici un exemple typique : lorsque le marché est plat, faites telle ou telle chose. Lorsque la tendance est clairement établie, faites telle ou telle chose. Ce faisant, le client estime qu'aucun détail supplémentaire n'est nécessaire pour une tâche aussi simple et directe que la programmation d'une tendance ou d'un plat. Je suppose qu'aucun commentaire n'est nécessaire ici.

Il existe un autre exemple : placer un ordre en attente sur l'extremum. L'interprétation de l'extremum par le client est bien sûr absente de la RS. En effet, pourquoi donner une explication si elle peut être déduite du graphique. Le fait que l'extremum puisse être obtenu en utilisant un certain nombre d'algorithmes différents dont chacun a ses avantages et ses inconvénients peut surprendre le client.

6.4. Utilisation de mots courants ayant un sens général

Il s'agit des termes qui semblent clairs lorsqu'ils sont utilisés dans la vie quotidienne, mais qui ne conviennent absolument pas à une spécification des exigences. Voici quelques exemples. Une RS dit : si la ligne indicatrice a formé deux renflements se succédant, le second étant plus bas que le premier... et ainsi de suite, donnant ainsi une description de la divergence utilisée.

La lecture de ce qui précède soulève un grand nombre de questions : qu'est-ce qui peut être considéré comme un renflement, quelle est la distance maximale/minimale à laquelle de tels « renflements » peuvent être situés l'un par rapport à l'autre, de combien le deuxième renflement doit être inférieur au premier, etc.

Les mots comme beaucoup/peu, petit/grand, etc. sont également très fréquemment utilisés. Vous devez comprendre que la programmation est basée sur les mathématiques qui nécessitent des définitions quantitatives précises. Il n'y a pas d'autre moyen.


7. Quand recourir à l'arbitrage ?

Il est évident que vous devez déposer une demande d'arbitrage avant l'achèvement des travaux, c'est-à-dire avant d'avoir franchi la dernière étape - livraison des travaux/paiement. Dans le cas contraire, il n'y aura pas de facteur financier pour lier la partie exécutante et le client. Cette condition est essentielle.

Il semble que la seule raison de recourir à l'arbitrage soit l'apparition d'un problème qui ne peut être résolu entre le client et l'exécutant en privé. Par exemple, le client est convaincu du mauvais fonctionnement (en désaccord avec la RS) du travail qui lui a été livré, tandis que l'exécutant tente de prouver le contraire.

Une autre option possible est la « disparition » du client ou de l'exécutant pendant une longue période au cours de laquelle il ne répond pas aux messages privés, aux e-mails, etc. Pendant ce temps, l'argent du client est bloqué sur le compte et le travail n'est pas effectué. Ou, au contraire, le travail a été fait depuis longtemps mais il n'y a aucun moyen d'accéder au paiement. Les circonstances peuvent être différentes, mais la situation doit et peut néanmoins être résolue par l'arbitrage.

La situation où les parties sont pressées de finaliser la RS et de commencer à travailler est très courante. Il s'avère par la suite que la RS, tel qu'il a été fourni, ne peut pas être utilisé et nécessite des précisions et des clarifications sur certains points. Par conséquent, la valeur de l’ordre peut devoir être révisée. Le travail ne peut être annulé à partir de cette étape que par voie d'arbitrage. Mieux vaut donc ne pas se précipiter pour commencer le travail et plutôt prendre son temps pour revoir la RS.


Conclusion

Espérons que cet article a été utile aux nouveaux utilisateurs du service Jobs, principalement aux nouveaux clients. Il est probable que cet article n'ait pas abordé toutes les questions, mais un voyage de mille lieues commence par un seul pas. Nous devrions être plus conciliants entre nous et ne pas exprimer autant d'émotions négatives dans le monde qui nous entoure - elles ne vont faciliter la vie de personne, que ce soit celle d'un client ou d'une partie exécutante.


Une liste de questions préférées posées par les clients

1. Pourquoi certains développeurs hésitent-ils à parler sur Skype, ICQ, téléphone, e-mail, etc ?

Je pense qu'il y a deux raisons principales à cela :

Tout d'abord, un développeur peut avoir un grand nombre de clients et s'il commence à parler en ligne avec chacun d'entre eux (tant mieux, s'il ne doit pas le faire simultanément), il n'aura presque plus de temps pour la programmation elle-même. Penser que l'on peut expliquer les choses plus rapidement en utilisant Skype ou ICQ est l'un des mythes les plus répandus.

Deuxièmement, il manque à toutes ces options une caractéristique importante : la possibilité de documenter ce qui a été dit. Le fait est qu'en matière de litiges et d'arbitrage, la communication écrite relative à l'ordonnance concernée peut prouver la faute ou l'innocence de l'une ou l'autre partie.

2. Pourquoi le démarrage d'un EA/indicateur compilé (fichier .ex4 ou .ex5) provoque l'arrêt du terminal ?

Il est très probable que la version du terminal que vous avez installée soit ancienne par rapport à celle utilisée lors du processus de compilation. Vous devez mettre à jour le terminal à la dernière version disponible.

3. Quelles sont ces erreurs qui se produisent lors de la compilation du fichier EA/indicateur - La fonction « xxxxxx » n'est pas référencée et sera supprimée du fichier exp ?

Il ne s'agit pas d'une erreur. Le message indique que la fonction « xxxxxx » n'est pas utilisée (« xxxxxx » est remplacé par un nom de fonction spécifique) et ne sera pas présente dans le fichier compilé. Vous pouvez ignorer ce message car la présence de cette fonction « supplémentaire » n'affecte en rien le fonctionnement d'un EA ou d'un indicateur.


4. Quelle est cette erreur qui se produit lors de la compilation du fichier EA/indicateur - impossible d'ouvrir le fichier d'inclusion « xxxxxx » ?

Le message indique que le fichier « xxxxxx » n'a pas été copié lors du transfert de fichiers sur votre ordinateur ou a été copié dans le mauvais répertoire. En général, les fichiers .mqh doivent être placés dans le répertoire include du terminal.


5. Pourquoi n'y a-t-il pas de marques pour montrer où une position a été fermée au niveau du Take Profit/Stop Loss, pendant le fonctionnement de l'Expert Advisor ?

Cette fonctionnalité n'est disponible que lors du test d'un Expert Advisor dans le Strategy Tester. Il n'est pas disponible lorsque vous travaillez avec un compte réel ou démo. Une transaction intéressante peut être glissée de l'historique du compte vers le graphique, en maintenant le bouton gauche de la souris enfoncé. Les marques indiquant les positions d'ouverture et de fermeture apparaîtront alors dans le graphique, reliées par une ligne en pointillés comme lors du test dans le Strategy Tester.


6. Une position n'a pas été ouverte (un ordre n'a pas été placé) même si le graphique historique suggère que toutes les conditions d'entrée sont réunies.

Ce que vous avez rencontré est très probablement le résultat du redécoupage d'un indicateur dont les lectures sont utilisées dans l'Expert Advisor. Les conditions (valeurs de l'indicateur) présentes au moment de l'entrée supposée ne correspondaient pas au signal d'ouverture d'une position. Ensuite, après quelques mesures, les valeurs des indicateurs ont changé et ont pris leur forme finale, ce que nous pouvons voir dans l'historique. Cela peut être facilement vérifié en utilisant le mode visuel du testeur.


7. Comment annuler des travaux au stade Prototype/Modèle Pilote - Démonstration ?

Il ne peut être annulé que par arbitrage.


Liens recommandés

  1. Règles d'utilisation du service Jobs
  2. Comment commander un Expert Advisor et obtenir le résultat escompté
  3. Comment commander un robot de trading dans MQL5 et MQL4

Traduit du russe par MetaQuotes Ltd.
Article original : https://www.mql5.com/ru/articles/361

La transformation de Box-Cox La transformation de Box-Cox
Cet article a pour but de familiariser ses lecteurs avec la transformation de Box-Cox. Les questions concernant son utilisation sont abordées et quelques exemples sont donnés permettant d'évaluer l'efficacité de la transformation avec des séquences aléatoires et des cotations réelles.
Analyse de régression multiple. Générateur et testeur de stratégie en un Analyse de régression multiple. Générateur et testeur de stratégie en un
L'article donne une description des méthodes d'utilisation de l'analyse de régression multiple pour le développement de systèmes de trading. Il démontre l'utilisation de l'analyse de régression pour l'automatisation de la recherche de stratégies. Une équation de régression générée et intégrée dans un EA sans nécessiter une grande maîtrise de la programmation est donnée à titre d'exemple.
Se débarrasser des DLL auto-produites Se débarrasser des DLL auto-produites
Si la fonctionnalité du langage MQL5 n'est pas suffisante pour accomplir les tâches, un programmeur MQL5 doit utiliser des outils supplémentaires. Il doit passer à un autre langage de programmation et créer une DLL intermédiaire. MQL5 a la possibilité de présenter différents types de données et de les transférer vers l'API mais, malheureusement, MQL5 ne peut pas résoudre le problème concernant l'extraction de données à partir du pointeur accepté. Dans cet article, nous allons parsemer tous les « i » et montrer des mécanismes simples d'échange et de travail avec des types de données complexes.
Utiliser MetaTrader 5 comme fournisseur de signaux pour MetaTrader 4 Utiliser MetaTrader 5 comme fournisseur de signaux pour MetaTrader 4
Analyse et exemples de techniques permettant de réaliser des analyses de trading sur la plateforme MetaTrader 5, mais exécutées par MetaTrader 4. L'article vous montrera comment créer un simple fournisseur de signaux dans votre MetaTrader 5, et vous y connecter avec plusieurs clients, même avec MetaTrader 4. Vous découvrirez également comment suivre les participants au championnat de trading automatisé dans votre compte réel MetaTrader 4.