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
Cette variante de la fonction n'a pas du tout de fonction New_bar() ;
C'est l'option la plus économe en ressources que j'ai proposée. En outre, elle présente un autre avantage : le nouvel événement de barre est sauvegardé chaque fois que le code utilisateur est exécuté sur un événement de type timer ou tick.
Auparavant, vous ne pouviez obtenir cet événement qu'une seule fois et l'indicateur était effacé avec New_bar(). La fonction spéciale efface désormais le tableau "event_new_bar[][]" une fois par minute et n'est appelée qu'après l'exécution du code personnalisé.
Les fonctions personnalisées peuvent accéder directement au tableau et récupérer de nouvelles informations sur les événements de barre à chaque fois que le code est exécuté sur un événement de type timer ou tick.
Cela permet d'économiser encore plus de ressources.
Le dernier code ne fonctionne pas non plus, il a fallu 7 minutes pour que l'impression arrive.
Le dernier code ne fonctionne pas non plus, il a fallu 7 minutes pour que l'impression arrive.
Cette fonction doit être appelée depuis OnTick ou depuis un timer.
Il y a peut-être un petit problème, mais je n'ai pas encore réussi à le localiser. Examinez le code vous-même et recherchez une erreur. C'est aussi simple que 3 kopecks. Et avec des commentaires aussi.
Si vous ne comprenez pas, demandez. J'ai d'autres choses à faire.
Cette variante de la fonction n'a pas du tout de fonction New_bar() ;
C'est l'option la plus économe en ressources que j'ai proposée. En outre, elle présente un autre avantage : le nouvel événement de barre est sauvegardé chaque fois que le code utilisateur est exécuté sur un événement de type timer ou tick.
Auparavant, vous ne pouviez obtenir cet événement qu'une seule fois et l'indicateur était effacé avec New_bar(). La fonction spéciale efface désormais le tableau "event_new_bar[][]" une fois par minute et n'est appelée qu'après l'exécution du code personnalisé.
Les fonctions personnalisées peuvent accéder directement au tableau et récupérer de nouvelles informations sur les événements de barre à chaque fois que le code est exécuté sur un événement de type timer ou tick.
Les ressources sont encore plus économisées.
Je ne comprends pas l'humour. Pourquoi - le débogueur ne comprend pas le russe ? Ou c'est juste moi qui ai un tel problème ? Voir les variables en latin, mais pas en cyrillique.
Peter, alors comment utilises-tu le débogueur, ou ne l'utilises-tu pas ?
Toute personne intéressée peut rechercher un bug dans le code.
L'essentiel du code :
1) Déclarer les tableaux globaux :
2. Lors de l'initialisation, définissez la taille du tableau de symboles et écrivez-y les noms des symboles de la revue de marché.
3. Définit la taille de la première dimension du tableau "Number_bars[][]" qui est égale au nombre de symboles, et la deuxième dimension est égale au nombre d'échéances. Ce tableau est comme une table. Il enregistrera le nombre actuel de barres de chaque symbole et de chaque période de temps. Ce nombre est renvoyé par la fonction iBars.
4. Définit la taille de la première dimension du tableau "Events_new_bar[][]", qui est égale au nombre de symboles, et la deuxième dimension est égale au nombre d'images temporelles. Ce tableau est comme une table. Il enregistrera les drapeaux d'événements des nouvelles barres de chaque symbole sur chaque période de temps.
5. Dans le timer, nous décomptons les minutes et faisons une double boucle (imbriquée) sur les symboles (qui sont dans le tableau Symbols[]) et les timeframes (qui sont dans le tableau Timframes[]). Nous appelons la fonction iBars et obtenons le nombre actuel de barres pour chaque symbole et chaque période de temps à partir des tableaux de symboles et de périodes de temps. Tout d'abord, nous comparons le nombre actuel de barres avec le nombre déjà stocké dans le tableau. Si ces valeurs ne sont pas égales, nous définissons l'indicateur du nouvel événement de barre dans le tableau "Event_new_bar[][]". Nous écrivons alors le nombre actuel de barres à la place du précédent.
Le tableau global "events_new_bar[][]" est disponible à tout moment dans le programme et est automatiquement rempli toutes les minutes, et également automatiquement effacé. Pendant la période où le tableau est rempli, la fonctionnalité utilisateur reçoit des données fraîches sur les nouvelles barres. Le tableau est alors automatiquement effacé.
C'est tout.
Cette fonction doit être appelée depuis OnTick ou depuis un timer.
Il y a peut-être un petit problème, mais je n'ai pas encore réussi à le localiser. Examinez le code vous-même et recherchez une erreur. C'est aussi simple que 3 kopecks. Et avec des commentaires en plus.
Si vous ne comprenez pas, il suffit de demander. J'ai d'autres choses à faire.
réponse professionnelle
Je ne comprends pas l'humour. Quoi - le débogueur ne comprend pas le russe ? Ou est-ce que c'est juste moi qui ai un tel problème ? Il voit les variables en latin, mais pas en cyrillique.
Peter, alors comment utilisez-vous le débogueur, ou vous ne l'utilisez pas ?
réponse professionnelle
Cette fonction doit être appelée depuis OnTick ou depuis un timer.
Il y a peut-être un petit problème, mais je n'ai pas encore réussi à le localiser. Examinez le code vous-même et recherchez une erreur. C 'est aussi simple que 3 kopecks. Et avec des commentaires aussi.
Si tu ne comprends pas, demande-moi. J'ai d'autres choses à faire.
C'est tellement compliqué et tordu que tu ne peux pas le comprendre.
Je suis désolé, mais c'est aussi complètement illisible.
C'est tellement compliqué et tordu que c'est un désordre.
Je suis désolé, mais c'est aussi complètement illisible.
Tu sais ce qu'on dit à propos de "tu ne peux pas... ne pas torturer..." ? Je pense que c'est une bonne chose.
Vous connaissez le dicton "vous ne pouvez pas... ne pas torturer..." ? Je pense que c'est une bonne chose.
C'est ça, c'est comme ça que tu t'es acquitté de la tâche de manière concluante, ou alors je n'ai pas réussi à trouver la bonne solution.