Sujet intéressant pour beaucoup : les nouveautés de MetaTrader 4 et MQL4 - de grands changements en perspective - page 56

 
MetaDriver:
Dans un testeur ?

Afin d'attraper le slippage sur les données en tick dans le testeur, vous devez définir un décalage temporel approximatif (lag) entre le dc et le client. Chaque tic-tac correspond au moment où il s'est produit, à la milliseconde près, par exemple. Dans le testeur, si le moment où l'on passe un ordre au marché + le décalage > le moment du prochain tick, alors nous exécutons aux prix du nouveau tick. Il est clair que l'exécution partielle d'un ordre ne peut être simulée de cette manière, nous avons besoin de données sur la liquidité à cet endroit.

p.s. L'un des fondements de l'industrie du hft - la colocation vise à minimiser ce décalage. Les gens paient des millions de livres pour rapprocher leurs équipements des serveurs de la bourse. Il y a un compte de microsecondes là.

 
MetaDriver:
Avec des écarts, je vois, mais comment le testeur aide-t-il à voir le glissement ?
Chaque TS a sa propre histoire personnalisée.
 
Avals:
Pour détecter le slippage dans le testeur de données en ticks, vous devez définir un délai approximatif dans la transmission des données entre le courtier et le client (lag). Chaque tic est accompagné de l'heure à laquelle il s'est produit, à la milliseconde près, par exemple. Dans le testeur, si le moment où l'on passe un ordre au marché + le décalage > le moment du prochain tick, alors nous exécutons aux prix du nouveau tick. Il est clair que l'exécution partielle ne peut être simulée de cette manière, nous avons besoin de données de liquidité à cet endroit.

Oui, c'est vrai.

+ Vous pouvez également spécifier dans le temps, c'est-à-dire augmenter le décalage au moment de la publication de la nouvelle (en la surveillant au préalable sur le réel).

 
Avals:

Afin d'attraper le slippage sur les données en tick dans le testeur, vous devez définir le décalage approximatif entre le courtier et le client (lag).

Tout le monde sait que le testeur de stratégie MetaTrader 5 dispose du mode de délai aléatoire. aide dans MetaTrader 5Testeur de stratégieParamètres?

Délai arbitraire

Le mode Délai arbitraire est destiné à tester les Expert Advisors dans un environnement quasi réaliste. Entre le moment où un ordre est envoyé et celui où il est exécuté, le prix peut changer. En fonction de l'écart défini dans l'ordre, celui-ci peut être exécuté au prix actuel (s'il se situe dans les limites de l'écart) ou requalifié. Le test dans ce mode vous permet de programmer correctement le conseiller expert pour gérer de telles situations.

Un délai est imité pour toutes les demandes de transaction envoyées depuis le terminal (placement d'ordres, modification des niveaux de stop, etc.). Le retard d'exécution est mis en œuvre selon le principe suivant : un nombre aléatoire de 0 à 9 est sélectionné et le retard est mis en œuvre pendant le même nombre de secondes ; si le nombre sélectionné est 9, un autre nombre de la même gamme est sélectionné aléatoirement et ajouté au premier. Ainsi, la probabilité d'un retard de 0 à 8 secondes est de 90%, et la probabilité d'un retard de 9 à 18 secondes est de 10%.

 
Rosh:

Tout le monde sait que le testeur MetaTrader5 dispose d'un mode de retard aléatoire Aide dans MetaTrader 5Testeur de stratégieParamètres?

Ceci n'est pertinent que si vous êtes en mesure de tester sur des ticks réels et cela avec des nuances (car le décalage évolue parfois avec le temps).

 
Rosh:

Je pense que la plupart des gens savent que le testeur MetaTrader5 dispose d'un mode de délai arbitraire Aide dans MetaTrader 5Testeur de stratégieParamètres:

Oui, une fonctionnalité utile pour "permettre au rédacteur de l'EE de programmer correctement le traitement de telles situations". Mais l'effet du slippage sur les profits et les pertes ne fonctionnera pas sans ticks. (bien que la plupart des gens n'en aient pas besoin))) )
 

Le délai aléatoire est un outil rudimentaire. C'est la seule façon de faire un test sérieux :

Historique indicatif (le robot dans le testeur ne voit que celui-ci - comme dans la vie réelle) + son propre historique personnalisé créé pour un TS particulier (le testeur s'exécute dessus).

Lors de la création d'un historique personnalisé, le prix LiveTime (+ ping), la liquidité (Level2 et les volumes opérés par le TS), etc. sont pris en compte. Et pourtant, nous ne parvenons pas à obtenir une correspondance idéale, même s'il est possible de s'en rapprocher. Il y a juste un besoin subtil de sentir - de sonder la réalité de leur TS.

P.S. Notez qu'après avoir créé une telle construction personnalisée, vous devez encore lui appliquer un filtre. Par conséquent, un tel historique personnalisé peut être sous la forme de M1 HighBid+LowAsk. C'est-à-dire qu'il n'est pas nécessaire (presque toujours) de tester par un historique de tique ou un historique de niveau 2. Nous devrions seulement créer une histoire préliminaire de l'exécution à partir de cette énorme histoire. Et puis le schéma continue.

 
hrenfx:

Le délai aléatoire est un outil rudimentaire. C'est la seule façon de faire un test sérieux :

Historique indicatif (le robot dans le testeur ne voit que celui-ci - comme dans la vie réelle) + son propre historique personnalisé créé pour un TS particulier (le testeur s'exécute dessus).

Lors de la création d'un historique personnalisé, le prix LiveTime (+ ping), la liquidité (Level2 et les volumes opérés par le TS), etc. sont pris en compte. Et pourtant, nous ne parvenons pas à obtenir une correspondance idéale, même s'il est possible de s'en rapprocher. Il y a juste un besoin subtil de sentir - de sonder la réalité de leur TS.

P.S. Notez qu'après avoir créé une telle construction personnalisée, vous devez encore lui appliquer un filtre. Par conséquent, un tel historique personnalisé peut être sous la forme de M1 HighBid+LowAsk. C'est-à-dire qu'il n'est pas nécessaire (presque toujours) de tester par un historique de tique ou un historique de niveau 2. Nous devrions seulement créer une histoire préliminaire de l'exécution à partir de cette énorme histoire. Et puis le schéma suivra son cours.

Je suppose que seul le FOREX est concerné ?

Parce qu'en futures, 1 tick (4 chiffres) = 10 ticks (5 chiffres le plus souvent) en FOREX.

 
Si seul le FOREX était visé, j'apporterais une précision.
 
hrenfx:

Le délai aléatoire est un outil grossier. C'est la seule façon de faire un test sérieux :

Historique indicatif (le robot dans le testeur ne voit que celui-ci - comme dans la vie réelle) + son propre historique personnalisé créé pour un TS particulier (le testeur s'exécute dessus).

Lors de la création d'un historique personnalisé, le prix LiveTime (+ ping), la liquidité (Level2 et les volumes opérés par le TS), etc. sont pris en compte. Et pourtant, nous ne parvenons pas à obtenir une correspondance idéale, même s'il est possible de s'en rapprocher. Il y a juste un besoin subtil de sentir - de sonder la réalité de leur TS.

P.S. Notez qu'après avoir créé une telle construction personnalisée, vous devez encore lui appliquer un filtre. Par conséquent, un tel historique personnalisé peut prendre la forme de M1 HighBid+LowAsk. C'est-à-dire qu'il n'est pas nécessaire (presque toujours) de tester par un historique de tique ou un historique de niveau 2. Nous devrions seulement créer une histoire préliminaire de l'exécution à partir de cette énorme histoire. Et puis le schéma continue.

C'est la tâche du testeur. Avant de tester/optimiser, vous devez créer l'historique personnalisé nécessaire, en fonction de ce qui est optimisé et du type de commandes, par exemple. Il s'agit d'un aspect purement technique qui peut être traité de manière optimale par un système automatisé. Je pense que MT le fait aussi (préparation des données historiques) dans la limite des capacités du testeur.
Raison: