Les ticks sont nécessaires pour le test et l'optimisation des Expert Advisors, car ils utilisent les données des ticks pour opérer. Le test peut être effectué sur les vrais ticks fournis par le courtier ou sur les ticks générés par la stratégie et à partir des données 1 minute.
Le test et l'optimisation sur de vrais ticks sont aussi proches que possible des conditions réelles. Au lieu de ticks générés à partir des données 1 minute, il est possible d'utiliser les ticks réels accumulés par le courtier. Ce sont les ticks provenant des places boursières et des fournisseurs de liquidité.
Lors du test sur des ticks réels, le spread peut changer dans la barre 1 minute, tandis que lors de la génération de ticks dans une minute, un spread fixe est utilisé dans la barre correspondante.
Si le Market Depth est affiché pour un symbole, les barres sont construites strictement selon le prix de la dernière transaction exécutée (Last). L'événement OnTick est déclenché sur tous les ticks, que le Dernier prix soit présent ou non.
Veuillez noter que les opérations de trading sont toujours exécutées aux prix Bid (Offre) et Ask (Demande), même si le graphique est construit sur les Derniers prix. Par exemple, si un Expert Advisor travaillant sur les prix d'ouverture des barres reçoit un signal au Dernier prix, il effectue une transaction à un autre prix (Bid ou Ask selon la direction). Si le mode "Chaque tick" est utilisé, les barres sont construites sur les prix Bid (Demande), tandis que les trades sont effectués sur les prix Bid (Offre) et Ask (Demande). Le prix Ask est calculé comme le Bid + spread fixe de la barre 1 minute correspondante.
Si l'historique du symbole a une barre 1 minute sans données de ticks, le testeur génère des ticks dans le mode "Chaque tick". Cela permet de tester l'EA sur une certaine période dans le cas où les données des ticks du courtier sont insuffisantes. Si l'historique du symbole n'a pas de barre en minute, mais que des données des ticks existent pour la minute, ces ticks seront ignorés. Les données en minute sont considérées plus fiables.
Les données des ticks ont une plus grande taille que celles des tick 1 minute. Le téléchargement peut prendre du temps lors du premier test. Les données téléchargées des ticks sont stockées par mois dans les fichiers TKC dans \bases\[nom du serveur de trading]\ticks\[nom du symbole]\.
Le testeur de stratégie génére les données des ticks sur la base des enregistrements de chaque minute mis en cache sous forme d'entiers. Cela signifie que le testeur copie les données historiques requises depuis la plateforme et les convertit en entiers pour accélerer les calculs.
Le testeur de stratégie fournit plusieurs modes de génération des ticks. Le mode le plus précis "Chaque tick" est décrit ci-dessous. |
La procédure de génération du tick est diférente pour les barres ayant des volumes de tick différents :
Les ticks ne sont pas générés pour les barres ayant un volume de tick à 1, un tick avec la valeur du prix de clôture de la barre est écrit pour eux :
Les ticks ne sont également pas générés pour les barres avec deux ticks. Le tick du prix d'Ouverture est d'abord écrit et ensuite le tick du prix de Clôture :
Pour les barres ayant 3 ticks au moins, il existe différents schémas de génération de ticks suivant leur nombre.
Quatre différents schémas sont possibles pour les barres avec trois ticks ou plus :
Option de progression |
Image |
|
---|---|---|
Le prix bouge dans un sens et retourne sur le niveau du prix d'ouverture. Une barre a donc un seul Plus Haut (le prix le plus haut) et un seul Plus Bas (le prix le plus bas). |
||
Le prix bouge dans un sens et retourne sur le niveau du prix d'ouverture. Dans ce cas, la barre a donc soit un Plus Haut (le prix le plus haut) ou un Plus Bas (le prix le plus bas), mais les prix d'Ouverture et de Clôture ne sont pas égaux. |
||
Le prix bouge dans un sens mais ne revient pas sur le prix d'Ouverture. |
||
Le prix bouge de plusieurs points dans une seule direction. Dans ce cas, la barre n'a pas de Plus Haut ou de Plus Bas. |
Les ticks sont générés sur la base de points de référence. Le nombre de ces points ne peut pas être supérieur au volume du tick, et ne peut pas être plus grand que 11 (le point du prix d'Ouverture n'est pas pris en compte).
Les points de référence sont divisés en trois : ceux formant l'ombre de l'ouverture, ceux formant le corps de la bougie (entre son Plus Haut et son Plus Bas) et ceux formant l'ombre de la clôture.
Suivant le nombre de ticks, les variantes suivantes de distribution des points de référence sont possibles :
Nombre de points de référence |
Ombre de l'ouverture |
Corps de la bougie |
Ombre de la fermeture |
---|---|---|---|
11 |
3 |
5 |
3 |
10 |
2 |
6 |
2 |
9 |
2 |
5 |
2 |
8 |
2 |
4 |
2 |
7 |
2 |
3 |
2 |
6 |
1 |
4 |
1 |
5 |
1 |
3 |
1 |
4 |
1 |
2 |
1 |
3 |
1 |
1 |
1 |
|
Les points de référence sont calculés comme le nombre de points depuis le prix d'ouverture. La distribution idéale des points (3-5-3) est calculée de la façon suivante :
Bougie Haussière
Calcul des Points |
Image |
---|---|
|
Bougie Baissière
Calcul des Points |
Image |
---|---|
|
Si une bougie est un doji (Clôture = Ouverture), les bougies antérieures sont analysées. Si la bougie précédente était haussière, celle-ci est considérée comme étant baissière, et vice-versa.
Si une bougie est générée en utilisant trois points de référence, et que les valeurs entières des 3/4 et 1/2 de la taille de l'ombre sont égales (ceci arrive lorsque la différence entre l'Ouverture et le Plus Bas ou l'Ouverture et le Plus Haut n'est pas supérieure à 2 points, c'est à dire que les distances des pas des prix vers l'avant et vers l'arrière sont égaux), alors l'ombre est générée de la façon suivante :
Bougie Haussière
Calcul des Points |
Image |
---|---|
|
Bougie Baissière
Calcul des Points |
Image |
---|---|
|
Une ombre de clôture est générée de la même façon. |
Si une ombre est générée sur la base de deux points, la génération est effectuée de la façon suivante :
Bougie Haussière
Calcul des Points |
Image |
---|---|
|
Bougie Baissière
Calcul des Points |
Image |
---|---|
|
Une ombre de clôture est générée de la même façon. |
Le corps de la bougie est généré par vagues en cycles. Si Prec = Low (le prix précédent est le Plus Bas), le cycle suivant est utilisé :
Si Prec = High (le prix précédent est le Plus Haut), le cycle suivant est utilisé :
Avec :
N1 et N2 sont les points de référence dans un cycle ;
Prec est le prix précédent ;
Pas est la taille du pas. Le pas est calculé de la façon suivante : (H - L - 1)/(Nombre de cycles) + 1 ;
Le nombre de cycles est calculé comme (Nombre de points de référence dans le corps + 1)/2.
Les ticks intermédiaires entre les points de référence sont générés suivant les règles suivantes :
Le mode de génération de ticks peut être sélectionné dans la fenêtre des paramètres du testeur de stratégie. Les options suivantes sont disponibles :
Dans ce mode, tous les ticks sont générés – les ticks OHLC et les ticks intermédiaires. La procédure de cette génération des ticks est décrite ci-dessus.
Dans ce mode, seuls les ticks OHLC des barres de 1 minute sont générés. Si le volume de ticks d'une bougie est supérieur à 4, alors seuls 4 prix (Open, High, Low and Close) sont générés. Si le volume de ticks est inférieur à 4, alors les règles ci-dessus de formation de la bougie sont appliquées.
Sélectionner ce mode ne signifie pas que le test ou l'optimisation sera effectuée sur la période M1. Par exemple, si vous sélectionnez la période H1 dans le mode "OHLC de M1", les prix seront générés sur chaque barre 1-minute pour les valeurs Open, High, Low et Close. Dans ce cas, l'évènement OnTick() de l'Expert Advisor est exécuté quatre fois par minute – à l'ouverture, à la clôture, au plus haut et au plus bas d'une barre d'une minute, bien que le test soit effectué en H1. |
En fait, les prix OHLC existent dans les données d'historique. Donc seules les heures d'arrivée des ticks Open, High, Low et Close sont générées durant le test, car les prix sont issus de l'historique.
Dans ce mode, les prix OHLC des barres de la période sélectionnée pour le test sont générés. La fonction OnTick() de l'Expert Advisor n'est exécutée qu'au début de la barre (au prix d'Ouverture). A cause de cette caractéristique, les niveaux des Stops et les ordres en attente peuvent être déclenchés à des prix différents de ceux spécifiés (notamment lors du test sur des périodes supérieures). Mais cela vous permet d'effectuer rapidement un test d'évaluation d'un Expert Advisor.
Les périodes W1 et MN1 sont des exceptions car les barres ne sont générées qu'une seule fois par jour au lieu d'une fois par semaine ou par mois respectivement. |
Quelques limitations existent pour le mode "Prix d'Ouverture uniquement" :
Le mode de génération de chaque tick est le plus précis, mais le plus lent également. Pour des tests/optimisations rapides mais plus approximatifs, utilisez le mode "Prix d'Ouverture Uniquement". |
Ce mode vous permet d'utiliser le Testeur de Stratégie pour des calculs mathématiques. Il ne requiert pas et donc ne charge pas les données historiques et les informations des symboles, et il ne génére pas de ticks. Dans les Expert Advisors testés, seules les fonctions OnInit(), OnTester() et OnDeinit() sont appelées séquentiellement.
Dans ce mode, le critère d'optimisation personnalisé est utilisé. Tous les champs des paramètres du testeur deviennent actifs, excepté le mode d'optimisation et la sélection de l'Expert Advisor.
Les calculs mathématiques sont utiles pour calculer le point extrême d'une fonction mathématique, pour lequel la valeur devrait être retournée par la fonction OnTester(). L'optimisation vise à trouver la valeur la plus haute de la fonction. Avec un grand nombre de combinaisons de variables d'entrées d'une fonction mathématique, il est recommandé d'utiliser le mode "Algorithme Génétique". Il permet d'accélerer significativement la recherche.