Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1171
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
Est-ce que ça remonte l'histoire ?
C'est probablement le cas. Mais je ne suis pas sûr à 100%. Comment vérifier cela, en modifiant le nombre de barres par l'imprimante ?
Vous n'avez pas de nouveau calcul pour ce cas.
Merci, ça y ressemble.
Et les nouveaux éléments dutampon indicateur qui apparaissent sont remplis de déchets.
On dirait que ce ne sont pas seulement les nouveaux, mais aussi les anciens. J'ai l'impression que non seulement les flèches sont dessinées de manière aléatoire, mais que la ligne de l'indicateur se casse alors qu'elle ne devrait pas. Veuillez m'indiquer comment organiser le recalcul en cas d'échange d'historique ou où chercher un exemple.
J'ai fait une erreur en insérant cet add-on séparément. Vous ne devez mettre les flèches que lorsque le tampon change. Dans le même temps, n'oubliez pas de mettre une valeur vide dans le tampon dans tous les autres cas.
Il serait même préférable de mettre une valeur vide au départ, et de remplir un des tampons avec une flèche lorsque la tendance change.
Merci de votre réponse.
J'ai vérifié l'indicateur original et il s'avère que ce n'est pas moi qui ai fait une erreur, mais qu'il était mal écrit à l'origine. C'est à dire que même sans mes modifications, il se plante aussi lors du changement d'historique.
C'est la troisième fois que je pose une question et que je reçois une réponse muette. Il s'agit d'une sorte d'aide sélective pour les débutants.
la première chose qui attire l'attention est que vous créez un objet graphique de ligne de tendance avec le nom LowLine et ne le supprimez pas plus tard ou ne créez pas d'objets similaires avec des noms différents...
Vous ne pouvez pas exécuter ObjectCreate() avec le même nom plusieurs fois - cela ne fonctionnera que la première fois, puis il y aura une erreur.
Il y a aussi un problème avec la détermination des fractales, vous essayez de trouver la fractale sur la barre #2 après l'ouverture de la barre, habituellement vous effectuez un cycle sur les barres avec un appel de l'indicateur de fractale et vous interrompez le cycle quand la première fractale est trouvée, et vous obtenez le numéro de la barre sur laquelle la fractale a été trouvée.
Il y a aussi un problème avec la définition des fractales, vous essayez de trouver une fractale sur la barre d'ouverture #2, habituellement vous faites un cycle sur les barres avec l'appel de l'indicateur de fractale et vous interrompez le cycle quand la première fractale est trouvée, et vous obtenez le numéro de la barre sur laquelle la fractale a été trouvée.
Merci !
En effet, je ne comprends pas comment obtenir les numéros des barres où la fractale est apparue, car elle apparaît deux barres plus tard. C'est pourquoi je l'attrape sur la deuxième barre. Alert affiche le nombre de fractales dans une période donnée, mais comment puis-je définir le point de la deuxième fractale pour tracer la ligne de tendance ? La manière de procéder selon vos recommandations n'est pas claire.
L'indicateur fractal appelé dessine des fractales sur tout l'historique disponible. J'essaie de résoudre la tâche consistant à tracer la ligne de tendance par une fractale tombant dans une certaine période de la journée, en tenant compte des fractales du jour précédent et en reconstruisant automatiquement la ligne en fonction de la dernière fractale. Et il y a un manque de connaissances.
Merci !
Vraiment, je ne comprends pas comment obtenir les numéros des barres où la fractale est apparue, car elle apparaît avec deux barres de retard. C'est pourquoi je l'attrape sur la deuxième barre. Alert affiche le nombre de fractales dans une période donnée, mais comment puis-je définir le point de la deuxième fractale pour dessiner la ligne de tendance ? La manière de procéder selon vos recommandations n'est pas claire.
L'indicateur fractal appelé dessine des fractales sur tout l'historique disponible. J'essaie de résoudre la tâche consistant à tracer la ligne de tendance par une fractale tombant dans une certaine période de la journée, en tenant compte des fractales du jour précédent et en reconstruisant automatiquement la ligne en fonction de la dernière fractale. Et il y a un manque de connaissances.
Tu es sûr que tu dois attraper la deuxième barre ?
Voici les tests :
Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading
MQL5 : Exemples.
Vladimir Karputov, 2018.03.19 05:54
Il y a deux facteurs à prendre en compte lorsque l'on travaille avec des fractales :
Facteur 1
Lafractale sur les barres de "rates_total-5" à"rates_total-3" ne peut pas être redessinée - cela découle de la conception de l'indicateur"Fractals.mq5" (le code ouvert de l'indicateur se trouve dans [data folder]\MQL5\Indicators\Examples\Fractals.mq5) - car les barresentre "rates_total-5" et"rates_total-3" sont déjà formées
Fig. 1. C'est ainsi que l'indicateur "Fractals" fonctionne. Numérotation des fichiers à partir de la position de l'indicateur "Fractals.mq5".
Cela signifie que lorsque nous recevons des données dans l'Expert Advisor depuis l'indicateur iFractals, sur les barres "rates_total-5" et "rates_total-4" (numérotation des barres à partir de la position de l'indicateur "Fractals.mq5") il y aura une fractale, qui est garantie de ne pas être re-rendu.
Et voici le moment, où la fractale est formée sur la barre "rates_total-5" - au moment, où il y a une nouvelle barre à droite, le 2 janvier, 03:00 (numérotation des fichiers à partir de la position de l'indicateur "Fractals.mq5") :
Fig. 2. Le moment où la fractale est formée sur la barre "rates_total-5".
Le deuxième facteur
L'indicateur fractal utilise EMPTY_VALUE au lieu de "0.0" comme valeur vide. L'exception est la première initialisation, lorsque les tampons indicateurs sont initialisés avec zéro (ceci n'est pas fait par l'indicateur "Fractals.mq5", mais par MQL5 lors de la création d'un tableau et de sa liaison avec un tampon indicateur).
La manière de le faire n'est pas claire non plus dans votre recommandation.
Voici une fonction pour trouver une fractale, juste pour un conseiller expert, cela a fonctionné pour moi.
https://www.mql5.com/ru/forum/160683/page968#comment_13214633
Tu es sûr que tu dois attraper la deuxième barre ?
Voici les tests :
Oui, merci. Pas de redécoupage sur la troisième barre. Seulement, cela ne change pas l'essence du problème.
Voici une fonction pour trouver une fractale, juste pour une EA, elle a fonctionné pour moi.
https://www.mql5.com/ru/forum/160683/page968#comment_13214633
Merci, ça marche.
Je ne comprends pas comment refléter l'apparition d'une nouvelle fractale dans le code. Parce que barfrup_1 est toujours plus petite que barfrup_2, donc le saut de numérotation de barfrup_1 lorsqu'une nouvelle fractale apparaît ne donne rien, car elle reste inférieure à barfrup_2.
Une dernière chose : je ne comprends pas comment extraire les valeurs élevées pour barfrup_1 et barfrup_2.
Une dernière chose : je ne comprends pas comment extraire les valeurs élevées pour barfrup_1 et barfrup_2.
Lancez un indicateur fractal sur le graphique et un EA de test avec cette fonction.
et réinterpréter les valeurs trouvées en passant à ma fonctionMODE_UPPER et MODE_LOWER
Merci, ça marche.
Seulement, je ne comprends pas comment rendre l'occurrence d'une nouvelle fractale dans le code.
Vous devez vous souvenir de l'heure de la barre ; lorsqu'une nouvelle barre apparaît, la numérotation change, tandis que l'heure d'ouverture de la barre est toujours constante.
Par exemple, lorsque vous avez lancé mon code, rappelez-vous l'heure de la barre où la fractale a été détectée, puis lancez-le à nouveau - trouvez la barre et comparez l'heure de la barre avec celle dont vous vous souvenez - si l'heure est différente, cela signifie qu'il s'agit d'une nouvelle fractale.