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
Tout le problème se situe dans le deuxième cycle. Il traite simultanément les branches gauche et droite de l'extremum potentiel et ne passe donc que par (N - 1)/2 barres, mais ce n'est pas suffisant. Des mesures montrent que le temps passé à chercher un extremum dans une progression arithmétique dépend de la période N, ce qui est très, très mauvais :
Il manque au moins une pause :
Mieux encore, séparez vraiment le haut et le bas, et arrêtez-vous immédiatement après un contrôle infructueux.
Si tout le reste échoue, essayez OCL.
Cela ne fera pas une grande différence.
Il manque au moins une pause :
Mieux encore, séparez vraiment le haut et le bas, et arrêtez-vous immédiatement après un contrôle infructueux.
Pourtant, l'OCL (ou le parallélisme au sens général) n'est pas une optimisation algorithmique, mais plutôt technique.
Je doute que dans votre cas il y ait un besoin de paralléliser la solution O(N)-variante la plus rapide au problème.
Il le fera.
Pas de yada yada ? Montre-moi.
Alors, bonne chance. Discuter de l'optimisation d'un algorithme dont la complexité dépend linéairement de la valeur d'un paramètre est probablement quelque chose que vous n'avez pas à faire.
Pas de yada yada ? Montre-moi.
Bref, bonne chance. Discutez de l'optimisation d'un algorithme dont la complexité dépend linéairement de la valeur d'un paramètre - vous n'avez vraiment rien à faire.
OK, je vais finir de compléter l'algorithme et poster les résultats de la mise en parallèle dans le studio.
Pourtant, l'OCL (ou le parallélisme au sens général) n'est pas une optimisation algorithmique - il s'agit plutôt d'une optimisation technique.
Je doute qu'il y ait un besoin de paralléliser la solution O(N)-variante la plus rapide dans votre cas.
Comment dire. Toute parallélisation est toujours une complication sérieuse des algorithmes. De plus, si vous ne parallélisez pas un algorithme dont la dépendance à la quantité de données est linéaire, que pouvez-vous paralléliser d'autre ?
En bref, je vais réécrire l'algorithme et voir ce que cela apporte.
Là encore, la séparation des hauts et des bas donne lieu à deux passages pour. Cela double le temps de recherche. La séparation en elle-même ne donne pas de gain de performance sans utiliser le multithreading, en particulier pour les petits n.
Comment pouvez-vous en être si sûr ?
Mon contrôle montre le contraire :
01:29:25 SpeedTest EURUSD,M15 entrées : Interations=10000 ; pperiod=10 ;
01:29:25 SpeedTest EURUSD,M15 : Nombre de barres = 3780
01:30:46 SpeedTest EURUSD,M15 : Fonction originale : 81.558 sec, extrema : 131 / 121
01:31:10 SpeedTest EURUSD,M15 : Avec mon édition (break) : 23.291 sec, extrema : 131 / 121
01:31:27 SpeedTest EURUSD,M15 : Avec ma pause (break) : 17.565 sec, extrema : 131 / 121
Vous trouverez ci-joint un script mq4.
Un dernier test pour compléter le tableau :
01:38:56 SpeedTest EURUSD,M1 entrées : Interations=1000 ; pperiod=100 ;
01:38:56 SpeedTest EURUSD,M1 : Nombre de barres = 33896
01:50:19 SpeedTest EURUSD,M1 : Fonction originale : 683.565 sec, extrema : 121 / 127
01:50:54 SpeedTest EURUSD,M1 : Avec mon montage (break) : 34.383 sec, extrema : 121 / 127
01:51:16 SpeedTest EURUSD,M1 : Avec ma pause (break) : 22.714 sec, extrema : 121 / 127