![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
L'organigramme est la partie la plus inutile, la plus longue et la plus irréalisable des TdR.
Pour comprendre cela, vous pouvez faire une petite expérience très simple. Les développeurs de services indépendants devraient se voir confier une tâche : "Réaliser un organigramme pour dessiner un indicateur MA" - et ensuite l'évaluer selon deux critères : 1) l'exactitude et 2) l'intelligibilité.
Une fois, ça m'a beaucoup aidé - quand je n'y arrivais pas dans ma tête...
Ça m'a vraiment aidé une fois - quand je n'arrivais pas à comprendre...
Tu viens de dire quelque chose comme ça :"Mon organigramme m' a beaucoup aidé en tant que développeur". Note, pour votre organigramme, une troisième personne qui lira et travaillera avec votre organigramme n'était pas prévue à l'origine.
Dans ce fil, nous discutons de "Comment créer un TOR pour un robot de trading".
Je ne vois pas très bien pour qui et avec quels buts et objectifs cet article est écrit.
Parce qu'il y a différents degrés de détail et que de ce détail découlent : les buts/objectifs/résultats -- c'est-à-dire que pour parler de TOR -- vous devez d'abord comprendre a) ce que le client attend et exige du développeur et b) ce qui est attendu et exigé du client.
Lorsque nous parlons d'un organigramme, cela signifie que le client comprend clairement le modèle d'événement, qu'il comprend et est capable non seulement de montrer l'organisation requise du programme, mais aussi de vérifier si tout est implémenté comme il se doit en termes de code. Dans ce cas, le client a plutôt besoin d'un codeur. Et dans ce cas, c'est le client qui est entièrement responsable de tout, y compris de l'exactitude de sa structure.
Il s'agit d'un système. Quel pourcentage de commandes se trouve dans ce scénario ?
Lisez la mise en page de l'article :
Un RPT mal rédigé ou son absence réelle indique le plus souvent que les règles du système commercial ne sont pas formulées, elles n'existent tout simplement pas. Ce que le client appelle un système de trading, en fait, n'est qu'une idée. Vous ne pouvez pas commencer à travailler dans de telles conditions, car très vite, au cours du processus de programmation de l'algorithme, des nuances non enregistrées apparaîtront ou simplement l'absence d'un algorithme pour certaines situations sur le marché. Dans ce cas, le programmeur commence réellement à penser aux options à la place du Client.
Correctement écrit, sauf pour une chose : la grande majorité des tâches sont commencées, exécutées et terminées - dans un énoncé de problème flou. Le taux d'échec dû à des TOR flous - facile à vérifier avec des accords d'arbitrage. Je pense que cela ne dépasse pas 5 à 10 %.
Et si nous parlons des recommandations pour le TDR pour la grande majorité des clients -- dans un tel TDR -- la recommandation de faire un organigramme est raisonnable ?
Version actuelle de l'article
Ce dont vous avez besoin pour commander un robot de trading
Les robots de trading sont des programmes qui exécutent les algorithmes qui y sont intégrés. Les algorithmes sont un ensemble d'actions qui doivent être effectuées en cas de survenance d'un événement. Par exemple, la tâche la plus courante dans le trading algorithmique est la définition de l'événement "Nouvelle barre" , à l'apparition duquel le robot vérifie l'apparition de signaux de trading et effectue les actions nécessaires sur ceux-ci.
Mais avant d'écrire ou de commander un robot de trading, il est nécessaire d'avoir un système de trading avec des règles claires pour déterminer les moments favorables pour effectuer des transactions. Le développement de tout système commercial, même le plus complexe, commence toujours par des éléments fondamentaux, à savoir le développement de signaux commerciaux pour l'achat et la vente. Ensuite, vous pouvez y ajouter diverses options de suivi et de clôture.
Vous n'avez pas besoin de passer des années derrière le moniteur du terminal de trading pour développer votre stratégie de trading. Il existe maintenant des centaines d'idées éprouvées publiées sur Internet et dans des livres que vous pouvez essayer. Et même si vous n'êtes pas complètement confiant dans vos compétences en programmation, ce n'est pas un obstacle. Le service Freelance vous aidera à trouver le bon développeur et à payer en toute sécurité le travail effectué.
Mais avant de vous lancer dans l'élément fascinant du trading algorithmique, nous vous recommandons de lire des articles utiles sur le sujet :
Pourquoi est-il important d'avoir un bon mandat?
Lors de la commande ou du développement d'un Expert Advisor, il est nécessaire de formuler des exigences techniques pour celui-ci - quelles tâches il doit résoudre, dans quelles conditions il sera utilisé, ce qui se passera dans les situations d'urgence, de quel type de contrôle il a besoin. Les robots de trading sont des programmes et doivent fonctionner clairement conformément à la logique sous-jacente. Mais avant de programmer l'algorithme d'actions nécessaire, il faut aussi le décrire clairement.
La description de la stratégie de négociation doit être publiée sous la forme d'un mandat. Et mieux ce sera et plus clair, moins il y aura de malentendu entre vous, en tant que client, et le programmeur, en tant qu'exécuteur de votre commande.
La chose la plus importante dans les termes de référence est la présence de règles commerciales formelles sans ambiguïté. Même si vous n'allez pas commander un expert à côté, mais que vous voulez l'écrire vous-même, commencez par développer ces règles par vous-même. Faites un mandat et assurez-vous d'inclure des éléments sur le test/l'optimisation de l'Expert Advisor. Ajoutez également des hypothèses pour tester la qualité de votre stratégie de trading - quels critères utiliserez-vous pour sélectionner les paramètres optimaux, pourquoi considérez-vous ces critères comme importants.
Incluez toutes les étapes de création d'un robot de trading dans les termes de référence - cela aidera à comprendre l'essence de l'algorithme non seulement pour l'interprète, mais aussi pour vous après des semaines, des mois ou des années. Rappelez-vous, le trading algorithmique n'est pas un passe-temps, mais le même chemin de recherche monotone, au cours duquel il est nécessaire de documenter les étapes franchies. Pour moi, plus que pour un programmeur qui écrira un robot pour vous.
Développer les compétences d'un bureaucrate qui aime régler les choses. Vous en aurez certainement besoin. Oui, et les programmeurs aiment les ordres clairs.
Que devrait-il y avoir dans les termes de référence
idée commerciale
Pour une introduction rapide à l'essence d'une stratégie de trading, dédiez le premier paragraphe de votre Ordre Technique à l'idée/hypothèse qu'il contient. Par exemple : "Si le prix s'approche deux fois du niveau de résistance et recule à chaque fois, alors la troisième fois, en règle générale, il le franchit." Ici, vous pouvez joindre un graphique avec des lignes de résistance/support tracées, des indicateurs superposés et des signatures qui illustrent la situation. Pour décrire l'idée, il n'est pas nécessaire de donner des chiffres ou des algorithmes de calcul spécifiques - à ce stade, il n'est pas nécessaire d'expliquer comment nous déterminons :
Un petit niveau d'abstraction au stade initial vous permettra de vous concentrer sur l'idée elle-même, et non sur les détails techniques. Cette méthode vous permet de générer ultérieurement de nombreuses autres variétés de votre stratégie de trading - vous remplacerez simplement un bloc de stratégie par un autre, un indicateur par un autre, ajouterez ou remplacerez des filtres. Dans le même temps, l'idée elle-même ne changera pas, seuls les noms et les valeurs des paramètres d'entrée de votre robot de trading changeront.
De plus, il est nécessaire de donner une description de tous les termes qui sont utilisés dans la description de l'idée. Si la tendance est importante pour la stratégie, décrivez clairement comment elle sera déterminée - sur la base de quel indicateur, comment la direction et la force de la tendance seront déterminées. Les caractéristiques numériques de ces définitions formeront la base des paramètres d'entrée de l' Expert Advisor, et ce sont eux que vous optimiserez ensuite dans le testeur de stratégie. Nommez donc la première section de vos Termes de référence - Idée commerciale.
termes
Pour décrire les termes, nous vous recommandons de créer une section distincte des Termes de référence - Termes. Dans celui-ci, un paragraphe séparé est écrit pour chaque terme, les termes eux-mêmes sont écrits en gras pour mettre en évidence le concept clé de votre stratégie de trading. Si nécessaire, ajoutez une illustration à la description du terme, dans laquelle vous devez montrer le plus nécessaire à la compréhension.
Signaux de trading
Ensuite, vous êtes prêt à compiler la troisième section la plus importante - Signaux de trading - qui décrit dans quelles conditions, les conditions du marché et les lectures des indicateurs, un achat se produit. Pour décrire chaque condition nécessaire à la génération d'un signal d'achat, il faut distinguer un paramètre numérique, dont dépend l'apparition du signal. Par exemple, pour une moyenne mobile , il s'agirait du type et de la période de lissage. Ces paramètres importants sont pris en compte dans les paramètres d'entrée du futur Expert Advisor. Décrivez séparément les conditions de vente, même si elles sont simplement à l'opposé des conditions d'achat - parfois des subtilités apparaissent que le programmeur peut comprendre différemment de vous. Par exemple, pour un achat, la condition "Indicateur> 0" est définie - quoi écrire pour une vente ? "Note<0" ou "Note<=0" ?
Même l'idée de trading la plus simple commence très rapidement à acquérir des conditions et des filtres supplémentaires qui confirment la présence d'un signal de trading ou vice versa - interdisent une transaction. Par conséquent, il est important de faire des captures d'écran explicatives pour chaque situation de marché, qui montrent visuellement les indicateurs et les configurations nécessaires. Cela vous permettra de gérer rapidement la situation lorsque votre conseiller a raté un signal de trading apparemment évident ou a soudainement conclu une transaction au mauvais moment.
Captures d'écran et organigrammes
Il existe de nombreux programmes gratuits et pratiques sur Internet pour créer des captures d'écran et des organigrammes. Une petite sélection de conseils pour travailler avec eux est donnée dans l'article Comment rédiger un cahier des charges lors de la commande d'un indicateur . Vous y trouverez également des conseils pour commander un indicateur qui indique avec des flèches sur le graphique les moments où les signaux d'achat et de vente apparaissent. Un tel indicateur, qui fonctionne séparément du conseiller, facilite la vérification et le contrôle du fonctionnement du robot de trading à la fois en ligne et lors des tests visuels.
Durée de vie des signaux/ordres/positions
La deuxième partie importante de la stratégie de trading consiste à quitter une position ouverte et à supprimer les ordres en attente. De plus, les signaux de trading eux-mêmes peuvent également être annulés par le temps ou par la survenance de certains événements. Il est également nécessaire de décrire clairement, comme pour les signaux de trading, dans quelles conditions l'achat/vente sera clôturé, la commande passée sera annulée, lorsque le signal lui-même sera annulé.
Maintien des positions ouvertes et des commandes en attente
Si votre stratégie de trading nécessite de définir des niveaux StopLoss et TakeProfit, veuillez fournir un algorithme de calcul. S'il est nécessaire de remonter/déplacer avec souplesse ces niveaux, il est également nécessaire de décrire les conditions de telles opérations. Les niveaux SL/TP peuvent être modifiés aussi bien à l'ouverture d'une nouvelle barre qu'à chaque tick. Il est nécessaire d'indiquer explicitement ce moment dans les termes de référence et de comprendre la différence dans les modes de test des stratégies de trading. Nous vous recommandons de lire l'article Tester des stratégies de trading sur de vrais ticks .
Où puis-je obtenir les termes de référence si vous ne pouvez pas les rédiger vous-même ?
Un mandat mal rédigé ou son absence effective indique le plus souvent que les règles du système commercial ne sont pas formulées, elles n'existent tout simplement pas. Ce que dans ce cas le client appelle un système de trading, en fait, en règle générale, n'est qu'une idée. Il est impossible de commencer à travailler dans de telles conditions, car très bientôt des nuances inexpliquées ou simplement l'absence d'un algorithme dans certaines situations de marché apparaîtront dans le processus de programmation de l'algorithme. Dans ce cas, le programmeur commence en fait à proposer des options à la place du client.
En conséquence, le Contractant pourra, à ses risques et périls, achever les travaux et remettre un robot de trading au Client. Mais dans ce cas, en plus de perdre du temps à discuter de chaque nouvelle question dans un mandat peu clair, il y a aussi la possibilité que le travail entre en arbitrage. Car lors de l'acceptation et de la vérification d'un tel travail, le Client découvre soudainement que les transactions ne se font pas comme il l'attendait, mais qu'il ne pouvait pas décrire. Et bien sûr, dans ce cas, il reprochera au Contractant d'avoir enfreint certains points du Cahier des Charges et d'avoir mal programmé le robot. L'arbitrage dans de tels cas comprend rapidement la différence de compétence des deux parties et prend sa décision sur la base des termes de référence joints à l'ordonnance. Selon le Règlement Freelance , aucune correspondance à côté avant et pendant l'exécution de la Commande n'est prise en compte :
Dans la vie, cette option est également possible : vous avez des règles commerciales strictes, mais pour une raison quelconque, vous ne pouvez pas rédiger vous-même les termes de référence. Par exemple, ils ne savent pas comment décrire correctement certaines choses ou ils ont besoin de l'aide d'un spécialiste en mathématiques, en réseaux de neurones, en apprentissage automatique, en programmation, etc. Dans ce cas, vous pouvez commander la création des termes de référence également en Freelance, pour cela, les catégories "Conseil en programmation" ou "Autre" conviennent.
Choisissez l'une de ces deux catégories, nommez-la "Création d'un TOR pour la commande d'un robot de trading" et indiquez le coût initial des travaux, comme vous l'imaginez. Un développeur de système de trading expérimenté vous aidera à formuler correctement les règles de votre stratégie afin qu'elles soient compréhensibles pour un autre programmeur. Dans le même temps, vous devriez pouvoir travailler avec des graphiques, des indicateurs et des objets graphiques afin d'afficher les configurations de vos signaux de trading à l'aide de captures d'écran.
Le programmeur comprendra votre système de trading et vous aidera à rédiger une description de l'algorithme de trading, si possible. Si vous n'arrivez pas à formuler vous-même certains concepts (par exemple, « impulsion » ou « rebond de niveau »), il peut vous donner des idées toutes faites basées sur son expérience. En règle générale, toute situation sur le marché peut être décrite de manière logique (puis programmatique) avec une certaine liberté d'interprétation. Et cette variation peut toujours s'exprimer par un certain paramètre, que vous optimiserez ensuite dans votre Expert Advisor.
Il n'y a pas de modèles idéaux, puisque le marché, d'une part, ne se répète pas, et d'autre part, des situations similaires peuvent toujours se retrouver dans l'histoire. Le résultat de votre travail commun devrait être un cahier des charges prêt pour commander un robot de trading en fonction de votre stratégie.
Quels termes utiliser
En règle générale, dans un système commercial, il existe plusieurs concepts ou termes de base importants qui décrivent l'état du marché ou la nature du mouvement des prix. Même s'il vous semble que vous utilisez un concept généralement accepté et simple, mieux vaut le décrire clairement. Pour chaque terme, faites un paragraphe de description.
Par exemple, selon Bill Williams, une tendance à la hausse est lorsque les trois lignes d'Alligator sont disposées dans cet ordre de bas en haut : bleu, rouge, vert.
Une autre définition classique d'une tendance haussière - de Larry Williams - lorsque chaque nouveau pic est supérieur au précédent et que chaque nouveau creux n'est pas inférieur au précédent.
Dans la description des termes, vous pouvez utiliser des captures d'écran des graphiques, ils n'interféreront pas. Dans les termes de référence eux-mêmes, mettez en surbrillance les termes en gras - laissez l'interprète y prêter attention et poser une question si quelque chose n'est pas clair.
Lors de l'utilisation d'un certain terme dans la description d'une stratégie, il est impossible de renvoyer l'entrepreneur vers d'autres sources (sites web, livres, forums, etc.), arguant que cela est déjà bien connu. Tout doit être décrit ici et maintenant, aucun "j'expliquerai plus tard sur Skype" n'est autorisé. Il ne vous faudra pas plus d'une demi-heure pour écrire tous les termes du mandat, mais cela vous fera gagner du temps que vous passerez à corriger les erreurs dues à des malentendus.
Quoi écrire dans une description de poste en Freelance
Lors de la création d'un emploi, décrivez en quelques paragraphes l'essence générale de votre idée de métier afin que les exécutants potentiels comprennent ce dont vous avez besoin. La description de poste n'a pas besoin de divulguer les règles du système commercial ou de fournir des détails sur les indicateurs utilisés.
La description pourrait ressembler à ceci :
Idée générale d'une stratégie de trading
Ici, vous pouvez spécifier sur quels instruments le robot négociera, s'il négocie avec la tendance, comment elle est déterminée et sur quelle période. Si nous négocions avec la tendance, alors comment se produit l'entrée - lors d'un retour en arrière, lors de la rupture de nouveaux extrêmes, etc.
En gros, il n'y a que deux stratégies de trading sur les marchés financiers : continuer à bouger et revenir à la moyenne. Votre idée doit se rapporter à l'une de ces deux stratégies et expliquer comment vous allez ouvrir des transactions - sur le marché, après confirmation ou à un meilleur prix.
Description de la configuration pour attendre un signal
... il est nécessaire de former un appartement avec une évasion ultérieure / ou d'attendre la fin de la session européenne et de ne recevoir des signaux que dans le sens de son mouvement
Description des signaux
... Paramètres techniques de la description - tendance / pullback / panne - tout est strictement formalisé
Il est préférable de déboguer les signaux d'achat et de vente séparément en premier
Il serait préférable que le conseiller mette des étiquettes / des objets de signalisation sur le graphique
Il est préférable que les indicateurs de signal soient fabriqués séparément
Durée de vie du signal
... combien de temps le signal est valide - en bars / heures / jusqu'à la fin de la session / jourPasser des commandes et ouvrir des positions
... y a-t-il des fonctionnalités, par exemple, nous ne définissons pas SL / TP tout de suite,
ou combien de tentatives nous faisons pour entrer sur le marché,
ou définir différents oredermagic / ordercomment en fonction de l'heure / de la configuration / du modèle
autre chose
Maintien d'une position/ordre de trading
... y a-t-il un stop suiveur ou non
quand allumer TS
déplaçons-nous les commandes en attente derrière/contre le prix
suivre le profit / perte actuel sur une position ouverte
autre chose
Annulation d'un ordre et clôture d'une position
... supprimer les ordres par temps/nombre de mesures/fin de période/apparition du signal inverse/perte de réglage
... clôturer la position par temps/nombre de barres/fin de période/bénéfice cumulé/apparition du signal opposé/configuration
autre chose
Calcul du lot pour passer une commande
.... de l'équilibre
fixé
du bénéfice accumulé
sur la base des résultats des N dernières transactions
du risque (distance SL)
autre chose
Gestion des erreurs de trading et de l'état de l'environnement
... journaux détaillés lors de l'envoi d'ordres commerciaux
traitement de redémarrage du terminal/de la connexion/du serveur
retour d'information via messagers/email
La différence entre le trading à l'ouverture du bar et à l'intérieur du bar
... des signaux peuvent disparaître et apparaître pendant la durée de vie de la barre
Stratégies de tick/scalping
... vous devez avoir une bonne idée de ce que c'est, moins il y a de TakeProfit/StopLoss en points, plus la stratégie est critique pour les spreads/commissions/retards du réseau/qualité de l'historique disponible/vitesse du robot lui-même.
Toute détérioration des conditions peut tuer la stratégie
Grilles, martingales, moyenne et les inconvénients de ces améliorations
... Quels sont-ils, pourquoi sont-ils populaires et dans quelle mesure peuvent-ils aider temporairement à étendre la stratégie. Le risque augmente, bien qu'il puisse allonger la durée de vie d'une mauvaise stratégie
Ce qu'il faut rechercher lors du choix d'un entrepreneur
... des questions de fond
Ne prétend pas impressionner
Donne des délais clairs
Indique des endroits peu clairs dans le mandat immédiatement, et non après 2 mois de discussion
Un bon programmeur apprécie son temps et le vôtre - c'est pourquoi il aime un TOR cohérent et bien développé
Ce qu'un programmeur ne peut pas faire pour vous
Transformez une stratégie perdante en un robot rentable
Optimiser et identifier les éventuelles faiblesses
Écrivez un programme sans erreurs - elles le seront toujours. Les trouver et les décrire de manière compréhensible est votre tâche.
La version actuelle de l'article, la section Description de la configuration d'attente d'un signal continue et plus loin
Ce dont vous avez besoin pour commander un robot de trading
Les robots de trading sont des programmes qui exécutent les algorithmes qui y sont intégrés. Les algorithmes sont un ensemble d'actions qui doivent être effectuées en cas de survenance d'un événement. Par exemple, la tâche la plus courante dans le trading algorithmique est la définition de l'événement "Nouvelle barre" , à l'apparition duquel le robot vérifie l'apparition de signaux de trading et effectue les actions nécessaires sur ceux-ci.
Mais avant d'écrire ou de commander un robot de trading, il est nécessaire d'avoir un système de trading avec des règles claires pour déterminer les moments favorables pour effectuer des transactions. Le développement de tout système commercial, même le plus complexe, commence toujours par des éléments fondamentaux, à savoir le développement de signaux commerciaux pour l'achat et la vente. Ensuite, vous pouvez y ajouter diverses options de suivi et de clôture.
Vous n'avez pas besoin de passer des années derrière le moniteur du terminal de trading pour développer votre stratégie de trading. Il existe maintenant des centaines d'idées éprouvées publiées sur Internet et dans des livres que vous pouvez essayer. Et même si vous n'êtes pas complètement confiant dans vos compétences en programmation, ce n'est pas un obstacle. Le service Freelance vous aidera à trouver le bon développeur et à payer en toute sécurité le travail effectué.
Mais avant de vous lancer dans l'élément fascinant du trading algorithmique, nous vous recommandons de lire des articles utiles sur le sujet :
Pourquoi est-il important d'avoir un bon mandat?
Lors de la commande ou du développement d'un Expert Advisor, il est nécessaire de formuler des exigences techniques pour celui-ci - quelles tâches il doit résoudre, dans quelles conditions il sera utilisé, ce qui se passera dans les situations d'urgence, de quel type de contrôle il a besoin. Les robots de trading sont des programmes et doivent fonctionner clairement conformément à la logique sous-jacente. Mais avant de programmer l'algorithme d'actions nécessaire, il faut aussi le décrire clairement.
La description de la stratégie de négociation doit être publiée sous la forme d'un mandat. Et plus il est détaillé, moins il y aura de malentendu entre vous, en tant que client, et le programmeur, en tant qu'exécuteur de votre commande.
La chose la plus importante dans les termes de référence est l'existence de règles commerciales formelles sans ambiguïté. Même si vous n'allez pas commander un expert à côté, mais que vous voulez l'écrire vous-même, commencez par développer ces règles par vous-même. Faites un mandat et assurez-vous d'inclure des éléments sur le test/l'optimisation de l'Expert Advisor. Ajoutez également des hypothèses, sur la base desquelles vous vérifierez la qualité et la stabilité de votre stratégie de trading - quels critères utiliserez-vous pour sélectionner les paramètres optimaux, pourquoi considérez-vous ces critères comme importants.
Incluez toutes les étapes de création d'un robot de trading dans les termes de référence - cela aidera à comprendre l'essence de l'algorithme non seulement pour l'interprète, mais aussi pour vous après des semaines, des mois ou des années. Rappelez-vous, le trading algorithmique n'est pas un passe-temps, mais le même chemin de recherche monotone, au cours duquel il est nécessaire de documenter les étapes franchies. Et vous en avez encore plus besoin que pour un programmeur qui écrira un robot pour vous.
Développer les compétences d'un bureaucrate qui aime régler les choses. Un journal de développement de chaque système de trading sera certainement utile lorsque vous souhaitez tester une nouvelle idée. Oui, et les programmeurs aiment les ordres clairs.
Exemples de termes de référence
Donnons des exemples de la manière dont les spécifications techniques pour les experts-conseils incluses dans la livraison du terminal MetaTrader 5 pourraient être conçues.Que devrait-il y avoir dans les termes de référence
idée commerciale
Dans la première section de vos termes de référence, décrivez l'idée générale derrière votre stratégie de trading. Par exemple : "Si le prix s'approche deux fois du niveau de résistance et recule à chaque fois, alors la troisième fois, en règle générale, il le franchit." Ici, vous pouvez joindre un graphique avec des lignes de résistance / support tracées, des indicateurs et des légendes explicatives. Pour décrire l'idée, vous n'avez pas besoin d'entrer dans des chiffres ou des algorithmes de calcul spécifiques - dans cet exemple, vous n'avez pas besoin d'expliquer immédiatement comment nous déterminons :
Un petit niveau d'abstraction au stade initial vous permettra de vous concentrer sur l'idée elle-même, et non sur les détails techniques. Cette méthode vous permet de générer ultérieurement de nombreuses autres variétés de votre stratégie de trading - vous remplacerez simplement un bloc de stratégie par un autre, un indicateur par un autre, ajouterez ou remplacerez des filtres. Dans le même temps, l'idée elle-même ne changera pas, seuls les noms et les valeurs des paramètres d'entrée de votre robot de trading changeront.
De plus, il est nécessaire de donner une description de tous les termes qui sont utilisés dans la description de l'idée. Si la tendance est importante pour la stratégie, donnez une définition claire - sur la base de quel indicateur la direction et la force de la tendance seront déterminées. Les caractéristiques numériques de ces définitions formeront la base des paramètres d'entrée de l' Expert Advisor, et ce sont eux que vous optimiserez ensuite dans le testeur de stratégie. Nommez donc la première section de vos Termes de référence - Idée commerciale.
termes
Pour décrire les termes, nous vous recommandons de créer une section distincte des Termes de référence - Termes. Dans celui-ci, un paragraphe séparé est écrit pour chaque terme, les termes eux-mêmes sont écrits en gras pour mettre en évidence le concept clé de votre stratégie de trading. Si nécessaire, ajoutez une illustration à la description du terme, dans laquelle vous devez montrer le plus nécessaire à la compréhension. Les paramètres d'entrée du futur Expert Advisor peuvent être en italique.
Signaux de trading
La section suivante des termes de référence est la troisième section la plus importante - Signaux de trading - qui décrit dans quelles conditions, les conditions du marché et les lectures des indicateurs, un achat se produit. Pour décrire chaque condition nécessaire à la génération d'un signal d'achat, il faut distinguer un paramètre numérique, dont dépend l'apparition d'un signal. Par exemple, pour une moyenne mobile , il s'agirait du type et de la période de lissage. Ces paramètres importants sont pris en compte dans les paramètres d'entrée du futur Expert Advisor. Les paramètres d'entrée du futur Expert Advisor peuvent être en italique.
Décrivez séparément les conditions de vente, même si elles sont simplement à l'opposé des conditions d'achat - parfois des subtilités apparaissent que le programmeur peut comprendre différemment de vous. Par exemple, pour un achat, la condition "Indicateur> 0" est définie - quoi écrire pour une vente ? "Note<0" ou "Note<=0" ?
Même l'idée de trading la plus simple commence très rapidement à acquérir des conditions et des filtres supplémentaires qui confirment le signal de trading ou, au contraire, l'annulent. Par conséquent, il est important de faire des captures d'écran explicatives pour chaque situation de marché, dans lesquelles montrer visuellement les indicateurs et les configurations utilisées. Cela vous permettra de gérer rapidement la situation lorsque votre conseiller a raté un signal de trading apparemment évident ou a soudainement conclu une transaction au mauvais moment.
Captures d'écran et organigrammes
Il existe de nombreux programmes gratuits et pratiques sur Internet pour créer des captures d'écran et des organigrammes. Une petite sélection de conseils pour travailler avec eux est donnée dans l'article Comment rédiger un cahier des charges lors de la commande d'un indicateur . Vous y trouverez également des conseils pour commander un indicateur qui indique avec des flèches sur le graphique les moments où les signaux d'achat et de vente apparaissent. Un tel indicateur, qui fonctionne séparément du conseiller, facilite la vérification et le contrôle du fonctionnement du robot de trading à la fois en ligne et lors des tests visuels.
Durée de vie des signaux/ordres/positions
La deuxième partie importante de la stratégie de trading consiste à quitter une position ouverte et à supprimer les ordres en attente. De plus, les signaux de trading eux-mêmes peuvent également être annulés à temps ou lorsque certains événements se produisent. Il est nécessaire, comme pour les signaux de trading, de décrire - dans quelles conditions l'achat / la vente sera clôturé, la commande passée sera supprimée, lorsque le signal lui-même sera annulé.
Maintien des positions ouvertes et des commandes en attente
Si votre stratégie de trading utilise la clôture par niveaux StopLoss et TakeProfit, veuillez donner l'algorithme de calcul. Pour un tirage/déplacement flexible de ces niveaux, décrivez les conditions et l'algorithme de suivi. Les niveaux SL/TP peuvent être modifiés aussi bien à l'ouverture d'une nouvelle barre qu'à chaque tick. Il est nécessaire d'indiquer explicitement ce point dans les termes de référence et de comprendre la différence entre les modes de test des stratégies de trading. Assurez-vous de lire l'article Tester les stratégies de trading sur de vrais ticks .
Où puis-je obtenir les termes de référence si vous ne pouvez pas les rédiger vous-même ?
Un mandat mal rédigé ou son absence effective indique le plus souvent que les règles du système commercial ne sont pas formulées, elles n'existent tout simplement pas. Dans ce cas, ce que le client appelle un système de trading n'est en fait qu'une idée. Il est impossible de commencer à travailler dans de telles conditions, car très bientôt des nuances inexpliquées ou l'absence d'un algorithme pour des situations imprévues sur le marché apparaîtront dans le processus d'écriture du code. Dans ce cas, le programmeur commence en fait à proposer des options à la place du client.
En conséquence, le Contractant pourra, à ses risques et périls, achever les travaux et remettre un robot de trading au Client. Mais cela s'accompagne d'une perte de temps pour discuter de chaque nouveau problème, et la probabilité d'amener le travail à l'arbitrage augmente. Parce qu'en acceptant et en vérifiant le travail effectué, le Client découvre soudainement que les transactions ne se font pas comme il l'avait prévu, il ne pouvait tout simplement pas le décrire correctement. Et bien entendu, le Client reprochera dans ce cas au Prestataire d'avoir enfreint certains points du Cahier des Charges et d'avoir mal programmé le robot. L'arbitrage dans de tels cas comprend rapidement la différence de compétence des deux parties et prend sa décision sur la base des termes de référence joints à l'ordonnance. Selon le Règlement Freelance , aucune correspondance à côté lors de l'examen de situations litigieuses n'est prise en compte :
Dans la vie, cette option est également possible : vous avez des règles commerciales strictes, mais pour une raison quelconque, vous ne pouvez pas rédiger vous-même les termes de référence. Par exemple, vous ne savez pas comment décrire correctement certaines choses ou vous avez besoin de l'aide d'un spécialiste des mathématiques, des réseaux de neurones, de l'apprentissage automatique, de la programmation, etc. Dans ce cas, vous pouvez également commander la création d'un mandat, dans Freelance, il existe des catégories telles que "Conseil en programmation" et "Autre" pour cela.
Choisissez l'une de ces deux catégories, nommez le travail "Création d'un TOR pour la commande d'un robot de trading" et indiquez le coût initial du travail, comme vous l'imaginez. Un développeur de système de trading expérimenté vous aidera à formuler correctement les règles de votre stratégie afin qu'elles soient compréhensibles pour un autre programmeur. Dans le même temps, vous devriez pouvoir travailler avec des graphiques, des indicateurs et des objets graphiques afin d'afficher les configurations de vos signaux de trading à l'aide de captures d'écran.
Le programmeur comprendra votre système de trading et vous aidera à rédiger une description de l'algorithme de trading, si possible. Si vous n'arrivez pas à formuler vous-même certains concepts (par exemple, « impulsion » ou « rebond de niveau »), il peut vous donner des idées toutes faites basées sur son expérience. En règle générale, toute situation de marché peut être décrite de manière logique (puis programmatique) avec un modèle simple avec des paramètres de variation. Et cette variation peut s'exprimer par un certain paramètre, que vous optimiserez ensuite dans votre Expert Advisor.
Il n'y a pas de modèles idéaux, puisque le marché, d'une part, ne se répète pas, et d'autre part, des situations similaires peuvent toujours se retrouver dans l'histoire. Le résultat de votre travail commun devrait être un cahier des charges prêt pour commander un robot de trading en fonction de votre stratégie.
Quels termes utiliser
En règle générale, dans un système commercial, il existe plusieurs concepts ou termes de base importants qui décrivent l'état du marché ou la nature du mouvement des prix. Même s'il vous semble que vous utilisez un concept généralement accepté et simple dans les termes de référence, il est préférable de le décrire clairement. Pour chaque terme, faites un paragraphe de description.
Par exemple, selon Bill Williams, une tendance à la hausse est lorsque les trois lignes d'Alligator sont disposées dans cet ordre de bas en haut : Bleu, Rouge, Vert.
Une autre définition classique d'une tendance haussière - de Larry Williams - lorsque chaque nouveau pic est supérieur au précédent et que chaque nouveau creux n'est pas inférieur au précédent.
Dans la description des termes, vous pouvez utiliser des captures d'écran des graphiques, ils n'interféreront pas. Dans les termes de référence eux-mêmes, nous vous recommandons de mettre en évidence les termes que vous saisissez en gras - afin que le contractant puisse les retrouver immédiatement dans le texte en cas de doute.
Lors de la description du terme, le contractant ne peut être renvoyé à d'autres sources (sites Internet, livres, forums, etc.), justifiant que cela est déjà bien connu. Tout doit être décrit ici et maintenant, aucune béquille sous forme de "j'expliquerai plus tard sur Skype" n'est autorisée dans le TOR. Il ne vous faudra pas plus d'une demi-heure pour écrire tous les termes des termes de référence, mais cela vous fera gagner du temps que vous passerez à corriger les erreurs dues à des malentendus.
Quoi écrire dans une description de poste en Freelance
Lors de la création d'un emploi, décrivez en quelques paragraphes l'essence générale de votre idée de métier afin que les exécutants potentiels comprennent ce dont vous avez besoin. La description de poste n'a pas besoin de divulguer les règles du système commercial ou de fournir des détails sur les indicateurs utilisés.
La description pourrait ressembler à ceci :
Idée générale d'une stratégie de trading
Ici, vous pouvez spécifier sur quels instruments le robot négociera, s'il négocie avec la tendance, comment elle est déterminée et sur quelle période. Si nous négocions avec la tendance, alors l'entrée se produit d'une manière ou d'une autre - lors d'un retour en arrière, lors d'une cassure du niveau, etc.
Dans l'ensemble, il n'y a que deux stratégies de trading sur les marchés financiers : continuer à bouger et revenir à la moyenne. Votre idée de trade doit se rapporter à l'une de ces deux stratégies, et elle doit expliquer comment les trades seront ouverts - sur le marché, après confirmation d'une cassure/recul, ou à un meilleur prix.
Description de la configuration pour attendre un signal
Les signaux eux-mêmes peuvent être simples et peuvent être facilement décrits à l'aide d'algorithmes. Par exemple, des modèles tels que "Absorption" et "Pin bar" sont bien connus et populaires. Mais en règle générale, il est impossible de construire une stratégie rentable uniquement sur des chiffres aussi bien formalisés ; de tels schémas sont utilisés pour déterminer un renversement de tendance. Cela signifie que la configuration pour attendre le modèle "Bearish engulfing" sera la présence d'une tendance haussière.
Par conséquent, dans les termes de référence, il est nécessaire de décrire non seulement le signal de trading lui-même, mais également de formaliser la configuration requise pour celui-ci.
Description des signaux
Un signal d'achat ou de vente apparaît lorsqu'une certaine condition est remplie. Par exemple, un signal d'achat classique est lorsque le prix franchit la moyenne mobile par le bas. Lors de la description d'un tel signal, vous devez spécifier les paramètres suivants :
En outre, la notion de « prix supérieur à la moyenne » doit également être clarifiée. Le signal peut apparaître immédiatement au moment du franchissement de la moyenne, ou il faut encore attendre que la bougie non seulement franchisse le niveau moyen, mais aussi se ferme au-dessus. Non seulement la façon dont le code sera écrit en dépend, mais aussi le mode de génération des ticks, qui doit être utilisé lors du test de l'Expert Advisor dans le Strategy Tester.
Par conséquent, il est nécessaire de décrire clairement des concepts tels que "Trend", "Level", "Breakout", "Kickback" et "Intersection" - qu'il s'agisse de travailler avec des ticks, des barres et des cours de clôture. Tous ces concepts doivent avoir une description formelle avec des paramètres numériques, que vous optimiserez ensuite dans le testeur de stratégie. Par exemple, la force d'une tendance peut être mesurée à l'aide de l'indicateur ADX , alors que l'indicateur Ichimoku Kinko Hyo n'est pas adapté à cela.
Plus il y a de conditions et de filtres utilisés dans un système de trading, plus le programme de trading devient complexe. Sans parler du fait que de telles stratégies ont beaucoup de paramètres d'entrée, qui nécessitent alors un grand nombre de passes d'optimisation. Et bien que le testeur de stratégie de MetaTrader 5 vous permette d'accélérer le temps d'optimisation des paramètres de dizaines et de milliers de fois grâce à l' algorithme génétique et au MQL5 Cloud Network , la quantité de données reçues dans ce cas augmente comme une avalanche.
Par conséquent, nous vous recommandons de suivre quelques règles lors du développement et du débogage d'un robot de trading :
Vous pouvez même optimiser les paramètres de stratégie séparément pour l'achat et séparément pour la vente, afin de pouvoir ensuite combiner les algorithmes en un seul robot de trading. Ainsi, vous passez moins de temps à rechercher les paramètres optimaux et faites moins d'erreurs. Bien que dans ce cas, vous devrez payer un supplément pour la création de l'indicateur/des indicateurs et des Expert Advisors intermédiaires. Mais une bonne idée de trading en vaut la peine. N'est-ce pas?
Durée de vie du signal
Dans certains systèmes de trading, l'apparition d'un signal ne signifie pas l'ouverture immédiate d'une position. En règle générale, dans de telles stratégies, la confirmation/l'autorisation d'un signal supplémentaire est requise. Par exemple, après une cassure d'un niveau de résistance, il faut attendre que le prix revienne au niveau cassé pour entrer dans les meilleures conditions. Dans ce cas, le facteur temps se pose - combien de temps ou pendant combien de barres le signal "Le niveau est cassé et en attente d'un retour en arrière" est valide. Il est peut-être logique d'attendre un recul dans les 5 barres ou jusqu'à la fin de la séance de négociation, puis le signal est annulé.
L'ajout du paramètre "Time to Live" vous permet d'introduire des filtres supplémentaires qui peuvent améliorer la qualité des signaux de trading.
Passer des commandes et ouvrir des positions
Lors de l'écriture de fonctions chargées d'envoyer des ordres commerciaux, il est logique de penser à l'avance à des fonctionnalités supplémentaires. Par exemple, vous pouvez spécifier différents MagicNumbers et commentaires dans votre robot de trading pour une analyse plus approfondie des résultats de trading et des résultats d'optimisation. Dans MagicNumber, vous pouvez entrer l'heure et le jour d'entrée, le numéro du modèle de trading et d'autres informations importantes qui vous permettront d'effectuer une analyse supplémentaire dans le contexte des données incluses dans MagicNumber. Ainsi, vous pouvez mettre en œuvre plusieurs stratégies de trading dans l'Expert Advisor et effectuer une optimisation pour toutes à la fois. Pour éliminer ensuite un temps d'entrée infructueux ou un schéma/signal perdant. Si vous souhaitez obtenir une telle fonctionnalité dans un Expert Advisor, vous devez clairement définir l'algorithme de calcul MagicNumber pour chaque modèle/configuration/Signal.
De plus, un ordre commercial n'est pas toujours exécuté avec succès la première fois. Il est nécessaire de prévoir les situations où il n'a pas été possible d'ouvrir/fermer une position la première fois. Que doit faire le conseiller dans ce cas - faire une pause ou attendre l'arrivée d'un nouveau tick ? Combien de tentatives sont autorisées pour terminer une opération commerciale ? Quelles informations l'EA doit-elle consigner dans ces cas ? Dans quel format l'entrée doit-elle être ? Est-il nécessaire d'envoyer un message sur les problèmes à un commerçant et comment le faire afin de ne pas créer d'attaque DDoS ?
Pour analyser rapidement l'historique de trading dans le terminal, utilisez des commentaires qui peuvent être écrits dans les demandes de trading. Mais n'oubliez pas que dans certains cas, le serveur commercial écrit ses propres informations dans ce champ. Par conséquent, il ne sera pas superflu que votre robot écrive son propre journal de trading quotidien, ce qui vous aidera à résoudre des situations incompréhensibles.
Si votre stratégie de trading utilise les niveaux de protection StopLoss et TakeProfit, veuillez fournir l'algorithme pour leur calcul et la procédure pour les définir. Par exemple, il peut s'avérer que StopLoss ne doit être défini que lorsque le prix évolue dans une direction favorable d'un nombre de points donné. Si les niveaux SL et TP ne sont définis qu'après une ouverture de position réussie, spécifiez comment l'ouverture de position elle-même sera vérifiée - immédiatement après l'envoi d'une demande de transaction ou au tick suivant.
Maintien d'une position/ordre de trading
La règle classique est "laisser les profits couler et réduire les pertes". Traduit en trading algorithmique, cela signifie "Définissez un StopLoss protecteur pour chaque position ouverte et limitez le profit potentiel en utilisant les ordres TakeProfit".
La taille de l'arrêt peut affecter de manière significative les résultats du trading, et les traders essaient de trouver de telles distances optimales pour passer des ordres SL / TP afin de maximiser les profits. Mais une énumération approximative de toutes les tailles SL / TP possibles sera la même dans l'histoire. Essayez d'utiliser des algorithmes de calcul de distance qui tiennent compte de la volatilité du marché, de la direction de la tendance et de la proximité des niveaux de support/résistance.
Si vous n'avez aucune idée de ce que devrait être le dimensionnement SL / TP, vous pouvez consulter les systèmes de négociation existants. De nombreux traders algorithmiques ont leurs propres bibliothèques prêtes à l'emploi qui peuvent être utilisées pour créer un robot de trading selon votre idée.
Réfléchissez et décrivez les points suivants dans les termes de référence :
Annulation d'un ordre et clôture d'une position
Une autre façon de gérer les positions et les ordres est également possible - par le temps et par l'apparition d'un signal opposé. Vous pouvez ajouter des options de suppression et de fermeture supplémentaires aux termes de référence :
Calcul du lot pour passer une commande
Certains traders, lors de la création d'un robot de trading, ajoutent immédiatement des fonctions de contrôle de la taille des positions. Il n'est toujours pas recommandé d'inclure des algorithmes de gestion de l'argent dans l'EA pour calculer le lot au stade initial, car des paramètres d'entrée supplémentaires lors de l'optimisation de l'EA peuvent entraîner un ajustement à une section spécifique de l'historique.
Si vous créez la première version du robot en fonction de votre système de trading, il est préférable de le tester et de l'optimiser avec un lot constant. Ce n'est qu'après des tests en avant sur l'historique et en trading réel pendant plusieurs mois, quand on voit les forces et les faiblesses de votre algorithme, que l'on peut penser au money management.
Voici quelques approches pour calculer la taille du lot lors de l'ouverture d'une position :
Dans tous les cas, avant d'ajouter un calcul de taille de lot à un EA, vous devez être sûr que votre système de trading a un avantage sur le trading aléatoire. Sinon, vous ne vous tromperez que pendant un moment. Un système perdant ne peut être transformé en un système rentable que par la gestion de l'argent.
Gestion des erreurs de trading et de l'état de l'environnement
Le robot de trading étant un programme autonome qui fonctionne 24h/24, il est nécessaire de prévoir des moyens de suivi et de contrôle de son travail. La "boîte noire" de votre Expert Advisor sera le journal "Experts", où tous les messages sont affichés à l'aide de la fonction Print() . En général, il est recommandé d'y enregistrer l'apparence des signaux, des modèles et des configurations, le prix actuel du marché et les paramètres de demande de transaction avant d'envoyer un ordre pour exécution.
En cas d'échec de l'exécution d'une demande d'échange, ses résultats doivent être enregistrés. L'analyse des codes de réponse du serveur de trading vous permettra de comprendre la cause d'une erreur de trading et de la corriger. Décrivez dans les termes de référence :
Des journaux détaillés lors de l'envoi d'ordres commerciaux et du traitement des résultats de leur exécution vous feront gagner du temps et de l'argent.
Un point important que les traders algorithmiques novices oublient souvent est la situation de redémarrage du terminal, de perte d'Internet ou de connexion au serveur de trading. Dans de tels cas, cela ne fait pas de mal de penser aux commentaires avec le robot via des messageries instantanées ou des e-mails.
La différence entre le trading à l'ouverture du bar et à l'intérieur du bar
... des signaux peuvent disparaître et apparaître pendant la durée de vie de la barre
Stratégies de tick/scalping
... vous devez avoir une bonne idée de ce que c'est, moins il y a de TakeProfit/StopLoss en points, plus la stratégie est critique pour les spreads/commissions/retards du réseau/qualité de l'historique disponible/vitesse du robot lui-même.
Toute détérioration des conditions peut tuer la stratégie
Grilles, martingales, moyenne et les inconvénients de ces améliorations
... Quels sont-ils, pourquoi sont-ils populaires et dans quelle mesure peuvent-ils aider temporairement à étendre la stratégie. Le risque augmente, bien qu'il puisse allonger la durée de vie d'une mauvaise stratégie
Ce qu'il faut rechercher lors du choix d'un entrepreneur
... des questions de fond
Ne prétend pas impressionner
Donne des délais clairs
Indique des endroits peu clairs dans le mandat immédiatement, et non après 2 mois de discussion
Un bon programmeur apprécie son temps et votre temps - c'est pourquoi il aime un TOR cohérent et bien développé
Ce qu'un programmeur ne peut pas faire pour vous
Transformez une stratégie perdante en un robot rentable
Optimiser et identifier les éventuelles faiblesses
Écrivez un programme sans erreurs - elles le seront toujours. Les trouver et les décrire de manière compréhensible est votre tâche.