Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 600
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
Salutations ! :)
J'ai à peu près le même code que cet indicateur :
Je le laisse tomber sur le tableau M1. L'indicateur s'accroche au terminal et effectue prétendument des calculs.
Je le ferme de force au bout de 15 minutes et j'ouvre son journal :
Il s'avère que l'indicateur ne réagit pas aux ticks nouvellement arrivés (c'est logique) jusqu'à ce qu'il calcule la première fois. Mais il oublie de dire au terminal pendant l'évaluation que IndicatorConted() doit déjà avoir une valeur différente de 0.
Il s'avère donc que les ticks entrants ordonnés pour l'évaluation se souviennent de la valeur actuelle de IndicatorCounted() ?
J'ai essayé de le contrôler via la variable busy (chaîne commentée - même résultat).
J'ai aussi essayé de cette façon :
Naturellement, cette fois-ci, tout a fonctionné correctement :
Qu'avons-nous là ? Le système n'a pas le temps d'écrire une nouvelle valeur dans IndicatorCounted() ? En d'autres termes, je dois faire quelque chose comme sleep() ? Je sais que ce n'est pas possible dans l'indicateur)
Ou, quand un nouveau tick arrive, parce que l'ancien tick n'a pas terminé ses calculs, il se souvient que IndicatorCounte() est encore égal à zéro et quand son heure arrive, il recommence à calculer à partir de l'ancienne valeur IndicatourCounted()=0 ?
Que faire ? )
Salutations ! :)
J'ai à peu près le même code que l'indicateur :
C'est ma première expérience, ne jugez pas trop sévèrement :)
Cela dit tout. Pour approximativement ce code, approximativement cette réponse...écrire?
Le fait est que le reste du code n'est pas pertinent. L'essence de l'erreur est décrite dans cet article.
En général, j'avais peur de faire fuir les gens avec un gros poste. Alors je l'ai gonflé.
En bref, elle peut être formulée comme suit : si un indicateur est calculé pendant une longue période (plus d'une minute), IndicatorCounted() renvoie toujours 0.
Pour être honnête, il me semble que le testeur se souvient de la valeur passée de la variable - du dernier test. Comment - je ne sais pas, il n'y a pas beaucoup de temps pour le débriefing. Peut-être un bug dans le terminal. J'ai juste mis un commentaire dans le code et sorti les valeurs dans le journal. Il s'avère donc qu'à chaque fois que je lance un nouveau test, la valeur du test précédent est stockée dans la variable sys. Quel gâchis. Peut-être que quelqu'un d'autre verra, peut-être que mon œil est humide...
C'est juste que vous avez oublié que la ligne
Lorsque les propriétés de l'indicateur sont rappelées, elles ne seront pas exécutées.
Je n'ai pas étudié la question à fond, mais peut-être cela permettra-t-il d'obtenir le résultat souhaité ?
Vous avez juste oublié que la chaîne
Lorsque les propriétés de l'indicateur sont rappelées, elles ne seront pas exécutées.
Je n'ai pas étudié la question à fond, mais peut-être cela permettra-t-il d'atteindre le résultat souhaité ?
Le fait est que le reste du code n'est pas pertinent. L'essence de l'erreur est décrite dans cet article.
En général, j'avais peur de faire fuir les gens avec un gros poste. Alors je l'ai gonflé.
En bref, elle peut être formulée comme suit : si un indicateur est calculé pendant une longue période (plus d'une minute), IndicatorCounted() renvoie toujours 0.
Ce n'est pas la question. Personne n'a besoin de votre code secret complet. Il suffit d'écrire un morceau de code de test complet avec ce malentendu. Et par là.
Quand avez-vous effacé la ligne en surbrillance ? Les télépathes n'aideront pas, les simples mortels encore moins...
Et puis il y a cette partie.
Je ne sais pas de quel programmeur ça vient, mais il y a quelque chose de mal écrit... Ce n'est pas de ta faute. Vous, comme beaucoup d'autres, avez juste pris le code et essayé de le réparer...
Si la variable counted_bars est égale au nombre de barres restées inchangées depuis le dernier appel de l'indicateur (la première ligne)
Comment il peut devenir inférieur à zéro qu'il est vérifié if(counted_bars < 0) je ne pourrai jamais comprendre....
Le reste est également absurde, mais je suis trop paresseux pour l'analyser...
Vous avez juste oublié que la chaîne
les propriétés de l'indicateur ne seront pas exécutées lorsque les propriétés seront rappelées.
Je n'ai pas étudié la question à fond, mais peut-être cela permettra-t-il d'atteindre le résultat souhaité ?
J'ai essayé... ça ne marche pas...
Généralement un conseiller. Mais HZ, pas le temps d'expérimenter. Tous les EAs fonctionnent comme je l'ai écrit. Je vais devoir tracer cette merde dans le testeur. Quand j'aurai assez de temps.
J'ai essayé... ça ne marche pas...
J'ai juste recompilé le code dans EA et l'ai exécuté. Lorsque je modifie le paramètre Sys dans le commentaire, cette valeur change.