Conseiller en multidevise - multitime - page 7

 
Fast528:

Je ne comprends pas ce qui vous empêche d'obtenir les données de l'indicateur sur la barre zéro, qu'est-ce que cela a à voir avec une nouvelle barre?

Parce que le signal doit attendre en permanence, pendant tout tick, et non une nouvelle barre + en plus sur toutes les périodes et plusieurs paires de devises

 
Tango_X:

Parce que vous devez attendre le signal tout le temps, à chaque tick et non lors d'une nouvelle barre, et sur tous les cadres temporels et plusieurs paires de devises.

Vous recevez le signal sur une minuterie en 1 seconde. Vous enregistrez tout cela dans le tableau [symbole][point]. Ensuite, surveillez constamment le nouveau signal dans la minuterie, et s'il y a un signal, comparez sa valeur avec la valeur précédemment enregistrée - si la valeur ne correspond pas, le signal est nouveau, et vous pouvez négocier, si la valeur correspond, c'est un ancien signal - passez-le.

 
Tango_X:

Parce que le signal doit attendre constamment, pendant tout tick, pas une nouvelle barre + à cela aussi sur toutes les périodes et plusieurs paires de devises

Par conséquent :

  1. Transférer le code de l'indicateur vers le Conseiller Expert.
  2. Lancez le mécanisme de recherche du signal à partir du timer (au moins toutes les 16 ms).
Tant que vous dépendez de l'indicateur, il y aura une probabilité de manquer le signal. Si le code se trouve dans l'EA, vous ne le manquerez pas.

 
Реter Konow:

Par conséquent :

  1. Transférez le code de l'indicateur à l'EA.
  2. Exécutez le mécanisme de recherche de signal à partir du timer (au moins toutes les 16ms).
Tant que vous dépendrez de l'indicateur, il y aura un risque de manquer le signal. Si le code se trouve dans le conseiller expert, vous ne le manquerez pas.

Comment alors appeler l'indicateur de l'EA dans le timer avec différentes périodes et paires - pouvez-vous donner un exemple simple ?

 
Tango_X:

Comment appeler ensuite l'indicateur de l'EA dans le timer avec différentes périodes et paires - pouvez-vous donner un exemple simple ?

Déplacez complètement le code et débarrassez-vous de l'indicateur. Si possible.

Si vous avez besoin de l'indicateur pour le support visuel du trading, exécutez-le séparément.

Vous n'avez besoin que de la partie calcul de l'indicateur.


Une dernière chose :

Si vous demandez l'indicateur un moment après que le signal soit passé - alors vous l'avez manqué et vous ne le reconnaîtrez même pas.

Si le code de l'indicateur se trouve dans l'EA, vous pourrez comparer les valeurs avant et après et déterminer que le signal était momentané. En d'autres termes, vous serez en mesure de réagir au signal qui a été manqué, car vous saurez ce qu'il en est en comparant les valeurs inscrites dans le tableau.

Cela peut être beaucoup plus difficile et moins efficace lorsque la communication se fait par le biais d'un indicateur.

 
Merci à tous pour les conseils ! Je vais essayer chacun d'entre eux et je pense que je vais trouver quelque chose pour moi.
 
Le conseiller expert peut manquer des signaux de tic-tac, ceci est fait spécialement par les développeurs. C'est pourquoi il faut alors travailler sur les ticks déjà dans l'historique, il y aura des retards, mais le signal ne sera pas manqué. Mais je pense que l'OHLC d'une barre minute est suffisant pour récupérer presque tout signal manqué.
 
Aleksey Vyazmikin:
Le conseiller expert peut ignorer les signaux de tic-tac, il a été spécialement conçu par les développeurs. Par conséquent, vous devez travailler avec des ticks déjà existants dans l'historique. Il y aura des retards, mais le signal ne sera pas manqué. Mais je pense que l'OHLC d'une barre minute est suffisant pour récupérer presque tout signal manqué.

Comment on fait pour sauter les tics ? ?? Quels développeurs le font exprès ? De quoi parlez-vous ?

 
ElenaVVT:

Comment on fait pour sauter les tics ? ?? Quels développeurs le font exprès ? Qu'est-ce que tu veux dire ?

Renat a écrit plus tôt que l'Expert Advisor effectue des calculs à l'apparition d'un nouveau tick et attend jusqu'à ce qu'un nouveau tick apparaisse. S'il y avait plus de ticks pendant le traitement des données, ils ne sont pas mis dans la file d'attente, mais sont simplement ignorés, sinon le terminal se figerait.

Événements du terminal client

NewTick

L'événement NewTick est généré lorsque de nouvelles cotations arrivent et est géré par la fonction OnTick() dans les Expert Advisors attachés. Si la fonction OnTick exécutée sur la cotation précédente est exécutée lorsqu'une nouvelle cotation arrive, la cotation entrante sera ignorée par le conseiller expert, car l'événement correspondant n'est pas placé dans la file d'attente des événements de l'EA.

Toutes les nouvelles citations qui arrivent pendant l'exécution du programme sont ignorées par le programme jusqu'à la fin de l'exécution suivante de la fonction OnTick(). Ensuite, la fonction n'est lancée que lorsqu'une nouvelle citation arrive.

L'événement NewTick est généré indépendamment de l'activation ou de la désactivation de l'auto-trading (bouton "Enable/Disable Auto-Trading"). L'interdiction du trading automatique ne fait qu'interdire l'envoi de demandes de trades depuis le Conseiller Expert, le fonctionnement du Conseiller Expert n'est pas arrêté.

L'interdiction du trading automatique en appuyant sur le bouton spécifié n'interrompt pas l'exécution actuelle de la fonction OnTick().

 
Aleksey Vyazmikin:

Renat a écrit précédemment que lorsqu'un nouveau tick apparaît, l'Expert Advisor effectue des calculs et attend un nouveau tick. S'il y a eu d'autres ticks pendant la période de traitement des données, ils ne sont pas mis dans la file d'attente, mais sont simplement ignorés, sinon le terminal se figerait.

Événements liés au terminal du client

NewTick

L'événement NewTick est généré lorsque de nouvelles cotations arrivent et est géré par la fonction OnTick() dans les Expert Advisors attachés. Si la fonction OnTick exécutée sur la cotation précédente est exécutée lorsqu'une nouvelle cotation arrive, la cotation entrante sera ignorée par le conseiller expert, car l'événement correspondant n'est pas placé dans la file d'attente des événements de l'EA.

Toutes les nouvelles citations qui arrivent pendant l'exécution du programme sont ignorées par le programme jusqu'à la fin de l'exécution suivante de la fonction OnTick(). Ensuite, la fonction n'est lancée que lorsqu'une nouvelle citation arrive.

L'événement NewTick est généré indépendamment de l'activation ou de la désactivation de l'auto-trading (bouton "Enable/Disable Auto-Trading"). L'interdiction du trading automatique ne fait qu'interdire l'envoi de demandes de trades depuis le Conseiller Expert, le fonctionnement du Conseiller Expert n'est pas arrêté.

L'interdiction du trading automatique en appuyant sur le bouton spécifié n'interrompt pas l'exécution de la fonction OnTick().

Cela a toujours été le cas, si OnTick n'est pas retourné, les ticks entrants sont ignorés. L'EA les suit uniquement en mode d'attente de tick. Mais vous semblez parler de tics délibérément manqués ? C'est un bug pour moi.

Raison: