Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1453
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
Et que fait exactement le testeur à chaque tic , s'il n'y a pas un seul symbole dans le programme qu'il exécute, qui lui donnerait une commande ?
Eh bien, le testeur crée une simulation du marché. Il envoie un nouveau prix à votre EA à chaque tick. Et comme il y a 53 000 tics, il faut un temps considérable pour les envoyer tous. Tout cela se passe avant l'exécution du code EA. Ce qu'il faut écrire dans l'EE est l'affaire du programmeur et n'a rien à voir avec le travail du testeur.
Le temps total comprend le temps de fonctionnement du testeur et le temps de préparation du testeur. La durée de fonctionnement de votre testeur est minimale (traitée en) dans les deux modes. Le temps de préparation est standard quel que soit le mode.
Lors du test aux PRIX D'OUVERTURE - sur les 160 ordres qui ont été ouverts à CHAQUE TICK, seuls 120 ont été ouverts, et de plus pas aux prix intra-minutes (comme le code l'exige).
Ici, tout est entre les mains du programmeur : comment construire la logique, comment cela va fonctionner, rechercher les erreurs de compréhension du programme.
Travailler sur les tiques sur une longue histoire prend beaucoup de temps. Et comme il y aura un grand nombre d'essais, le temps de calcul doit être réduit. Par conséquent, il est préférable de développer un Expert Advisor avec le contrôle de l'ouverture d'une nouvelle barre et d'utiliser le mode - par les prix d'ouverture. Et ensuite étudier et analyser ce qui ne va pas.
Eh bien, le testeur crée une opération de marché simulée. Il envoie un nouveau prix à votre EA à chaque tick. Et comme il y a 53 000 ticks, il faut un temps considérable pour les envoyer tous. Tout cela se passe avant l'exécution du code EA. Ce qu'il faut écrire dans l'EE est l'affaire du programmeur et n'a rien à voir avec le travail du testeur.
Merci pour ces informations. Cependant, les phrases jaunes et grises semblent se contredire. Il semble que le testeur envoie TOUS les ticks avec les prix à mon conseiller expert au moment où la fonction OnTick() commence à fonctionner. Mais, lorsque OnTick( ) commence à fonctionner , le testeur n'envoie pas les ticks avec les prix au Conseiller Expert. Dans ce cas, que faire si ce ne sont pas les ticks qui vont traiter les lignes de programme de mon EA ? Je suis désolé si je vous ai mal compris.
Tout ici est entre les mains du programmeur : quel type de logique construire, comment cela va fonctionner, rechercher les erreurs dans la compréhension du fonctionnement du programme.
Travailler sur les tiques sur une longue histoire prend beaucoup de temps. Et comme le testeur s'exécutera un grand nombre de fois, le temps de calcul doit être réduit. Par conséquent, il est préférable de développer un Expert Advisor avec le contrôle de l'ouverture d'une nouvelle barre et d'utiliser le mode - par les prix d'ouverture. Et ensuite étudier et analyser ce qui ne va pas.
Êtes-vous d'accord que si les ordres sont ouverts dans une bougie minute sur des ticks, le modèle BAR OPENING PRICES n'ouvrira pas d'ordres aux prix des ticks dans une bougie minute ? Même si nous contrôlons l'ouverture de chaque bougie minute.
Le temps total comprend le temps de fonctionnement du testeur et le temps de préparation du testeur. La durée de fonctionnement de votre testeur est minimale (traitée en) dans les deux modes. La préparation prend le temps habituel, quel que soit le mode.
Cela signifie que vous ne pouvez économiser le temps d'exécution du testeur que sur les données traitées en
Il s'avère que le testeur envoie TOUS les ticks avec les prix à mon conseiller expert au moment où la fonction OnTick() commence à fonctionner.
OnTick() est la fonction de capture d'événement, où l'événement est l'arrivée d'un tick au terminal, ou l'imitation de cette arrivée dans le testeur. S'il y a un code dans OnTick(), il sera exécuté à chaque tick entrant. Si un nouveau tick arrive au moment du traitement de l'ancien tick, le nouveau tick n'est pas placé dans la file d'attente mais est ignoré (en mode trade). S'il n'y a pas de code dans OnTick(), le tick active également cette fonction, mais le code n'est pas là, donc il n'y a rien à exécuter.
OnTick() est une fonction de capture d'événement, où l'événement est l'arrivée d'un tick dans le terminal, ou une arrivée simulée dans le testeur. Les ticks arrivent les uns après les autres et activent la fonction. S'il y a du code dans OnTick(), alors il traite chaque tick qui arrive. Si un nouveau tick arrive alors que l'ancien est en cours de traitement, le nouveau tick est ignoré et n'est pas placé dans la file d'attente. S'il n'y a pas de code dans OnTick(), le tick active également cette fonction, mais il n'y a pas de code à cet endroit, il n'y a donc rien à résoudre.
Je l'ai. Merci.
server,login,leverage);