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
OK Merci FMIC.
En fait, mon problème concernait l'expert que j'ai partagé sur le forum. Votre script fonctionne bien et je vous en remercie, mais j'ai besoin d'un expert qui puisse travailler en temps réel.
Vos questions initiales sur ce fil de discussion étaient :
Mon script vous a fourni un exemple de code et les connaissances nécessaires pour répondre à ces deux questions, de sorte que vous pouvez maintenant appliquer ces connaissances à d'autres utilisations telles qu'un EA que vous souhaitez développer. Tout ce que vous avez à faire est d'utiliser mon code pour l'utilisation de iCustom() et le test des points hauts et bas de ZigZag et de l'appliquer à votre code EA.
Cependant, l'autre question, que vous avez mentionnée plus tard, à savoir comment utiliser les données ZigZag dans un EA spécifique aux besoins d'optimisation d'une stratégie qui fonctionne déjà dans un autre EA, n'a pas été présentée ou décrite de manière suffisamment détaillée ici sur ce fil. Par conséquent, je ne suis pas en mesure de vous conseiller ou de vous aider car je ne sais pas ce dont vous avez besoin.
Si vous lisez l'article qui accompagne mon indicateur ZigZagZug dans la base de code, vous verrez que l'utilisation du ZigZag dans les stratégies et les EA n'est pas facile en raison de la peinture constante, et nécessite une compréhension approfondie de son fonctionnement et de la façon dont il peut éventuellement être utilisé dans différentes stratégies et EA.
En d'autres termes, le mariage entre les données ZigZag et une stratégie EA est complexe et doit être bien défini. Ainsi, sans rien savoir de votre stratégie actuelle ou de la manière dont elle doit être optimisée, je ne peux pas vous offrir plus d'aide ou de conseils.
Comme il est compréhensible que vous ne souhaitiez pas être plus ouvert en public, je vous ai même offert la possibilité de le faire en privé, et sans frais. Je suis un développeur de logiciels et je fais normalement payer ces services.
En dehors de ce que je vous ai déjà proposé, je ne peux rien faire de plus ni vous offrir d'autres conseils sans comprendre la nature du problème que vous voulez résoudre.
Salut,
J'ai réussi à corriger mon code. Il y avait une erreur dans la logique des boucles, maintenant il fonctionne bien d'après mes tests.
Ceux qui sont intéressés pourraient l'utiliser. Il est conçu pour être utilisé comme expert et il utilise l'indicateur ZigZag standard de metaquotes.
Ce qu'il fait, c'est trouver les vrais points hauts et bas dans l'indicateur zigzag. Il peut être utilisé pour trouver les points hauts et bas dans les données historiques ainsi que pour l'analyse de la période et de l'amplitude.
Il n'est pas en temps réel ! Il revient aux dernières valeurs hautes et basses, donc en fonction de la durée de la dernière tendance, il peut revenir en arrière et corriger les valeurs. Ne l'utilisez pas avant un test rapide dans le testeur de stratégie.
FMIC, merci pour vos efforts et votre aide.
Bonjour aed71,
Bonjour aed71,
Merci encore pour vos commentaires ;
Je ne suis pas un bon programmeur donc le code lui-même peut ne pas être parfait :-) Cependant, laissez-moi essayer d'expliquer ma logique ;
1-) La partie commentaire pourrait être changée en "chaque nouvelle barre"...
2-) 4-) 5-) La logique de l'utilisation de grands tableaux est qu'après un nouveau processus, je vais compter les barres de valeur nulle entre les hauts ou entre les hauts et les bas afin de trouver la période, l'amplitude, etc. Je dois donc initialiser le tableau avant de l'utiliser et je n'ai pas besoin de m'occuper de l'indice de temps, etc. Juste un tampon supplémentaire qui n'est pas un gros problème pour mon projet actuel.
3-) J'ai tracé le zigzag et le zigzagzug plusieurs fois. Dans le zigzag, bien que vous ayez de vrais hauts et bas à la fin, si vous mettez ces valeurs dans un tableau, vous verrez qu'il y a des hauts et des bas entre les deux. Vous ne pouvez pas les éviter, que vous utilisiez le mode 0 ou la combinaison mode 1/mode 2. Il y a toujours des creux et des bosses entre les deux. Dans le zigzagzug, vous pouvez clairement voir ces points. En plus de cela, je vois qu'il y a des cas où le mode0 est égal à zéro mais où le mode1 ou le mode2 est supérieur à zéro, ce qui est incorrect. J'ai donc décidé de mettre un code supplémentaire pour éviter ces points.
Comme je l'ai mentionné, ce n'est peut-être pas le meilleur code pour trouver des points en zigzag, mais le code lui-même fonctionne correctement dans mes tests. J'ai testé plusieurs fois. Je recommande toujours à ceux qui veulent l'utiliser de le tester avant.
L'avez-vous testé ? Ne donne-t-il pas les bons points ? Lorsque vous dites qu'il n'est pas robuste ou qu'il est incorrect, je suppose que vos tests ont échoué, n'est-ce pas ?
Merci.
Merci encore pour vos commentaires ;
Je ne suis pas un bon programmeur donc le code lui-même peut ne pas être parfait :-) Cependant, laissez-moi essayer d'expliquer ma logique ;
1-) La partie commentaire pourrait être changée en "chaque nouvelle barre"...
2-) 4-) 5-) La logique de l'utilisation de grands tableaux est qu'après un nouveau processus, je vais compter les barres de valeur nulle entre les hauts ou entre les hauts et les bas afin de trouver la période, l'amplitude, etc. Je dois donc initialiser le tableau avant de l'utiliser et je n'ai pas besoin de m'occuper de l'indice de temps, etc. Juste un tampon supplémentaire qui n'est pas un gros problème pour mon projet actuel.
3-) J'ai tracé le zigzag et le zigzagzug plusieurs fois. Dans le zigzag, bien que vous ayez de vrais hauts et bas à la fin, si vous mettez ces valeurs dans un tableau, vous verrez qu'il y a des hauts et des bas entre les deux. Vous ne pouvez pas les éviter, que vous utilisiez le mode 0 ou la combinaison mode 1/mode 2. Il y a toujours des creux et des bosses entre les deux. Dans le zigzagzug, vous pouvez clairement voir ces points. En plus de cela, je vois qu'il y a des cas où le mode0 est égal à zéro mais où le mode1 ou le mode2 est supérieur à zéro, ce qui est incorrect. J'ai donc décidé de mettre un code supplémentaire pour éviter ces points.
Comme je l'ai mentionné, ce n'est peut-être pas le meilleur code pour trouver des points en zigzag, mais le code lui-même fonctionne correctement dans mes tests. J'ai testé plusieurs fois. Je recommande toujours à ceux qui veulent l'utiliser de le tester avant.
L'avez-vous testé ? Ne donne-t-il pas les bons points ? Lorsque vous dites qu'il n'est pas robuste ou qu'il est incorrect, je suppose que vos tests ont échoué, n'est-ce pas ?
Merci.
Vous passez à côté du problème ! Le code que je vous ai fourni vous montre comment identifier correctement les points de zigzag haut/bas ; pourtant, vous choisissez de l'ignorer et de le faire à votre façon, ce qui rend le code plus difficile à comprendre et plus lent, tout en utilisant plus de ressources que nécessaire. Pourquoi ?
Vous utilisez le ZigZag de manière incorrecte dans votre exemple iCustom. Le ZigZag standard de MetQuotes a TROIS (et non deux) tampons (Modes ou Line Index dans iCustom).
Vous devrez comparer le premier tampon (Mode 0) avec les deux autres tampons afin de décider s'il s'agit d'un point haut ou d'un point bas (par exemple, si les tampons 1 et 3 ont la même valeur, il s'agit d'un point bas de ZigZag, et si les tampons 1 et 2 ont la même valeur, il s'agit d'un point haut).
De plus, afin de mieux comprendre le fonctionnement d'un ZigZag et la façon dont il se repeint, je vous suggère de jouer avec mon indicateur ZigZagZug. Cependant, dans votre code, utilisez le ZigZag de MetaQuotes, car il est plus rapide. Ma version fait plus de traitement à cause des fonctions supplémentaires et est donc plus lente.
PS ! Si le tampon 1 (Mode = 0) a une valeur de 0.0, mais que les autres tampons ont des valeurs non nulles, alors il s'agit d'anciens points de repeint et NON de points ZigZag.
Dans votre code, vous utilisez le tampon Mode 0 comme valeur basse et le tampon Mode 1 comme valeur haute. C'est totalement incorrect.