Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 545
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
Quel genre de prise ? Vous pouvez appeler le même indicateur avec des paramètres complètement différents
comment le code de l'indicateur reconnaît-il les paramètres transmis et leurs noms différents ?
Mais tout est comme vous l'avez dit. Je l'ai vérifié à nouveau avec le script)
Si dans l'indicateur lui-même dans le Conseiller Expert
comment le code de l'indicateur reconnaît-il les paramètres transmis et dont les noms sont différents ?
Mais tout est comme vous l'avez dit. Vérifié à nouveau avec le script)
La ou les variables du programme appelant peuvent être nommées comme vous le souhaitez et leur nom n'est pas lié au nom de la variable dans l'indicateur, ce sont des variables différentes, et elles sont appelées à partir de différents fils de terminal.
L'indicateur est appelé en fonction de son nom, les paramètres sont passés pour lui lors de chaque appel à partir de la 4ème position et ensuite les paramètres iCustom().
Si la variable per1=9 ; est déclarée et que iCustom() est en position 4, l'indicateur sera calculé avec une période de 9 ; si vous définissez une autre variable, sa valeur sera utilisée pendant le calcul, et ceci est valable pour tous les paramètres de l'indicateur, l'essentiel étant de les définir dans le bon ordre, comme dans l'indicateur lui-même. La variable qui sera passée (sa référence) comme premier paramètre de l'indicateur - à la quatrième place iCustom() du deuxième et ainsi de suite.
La ou les variables du programme appelant peuvent être nommées comme vous le souhaitez, leur nom n'est pas lié au nom de la variable dans l'indicateur, ce sont des variables différentes, et elles sont appelées à partir de différents fils de terminal.
L'indicateur est appelé par son nom, les paramètres lui sont passés lors de chaque appel à partir de la 4ème position, puis les paramètres iCustom().
Si la variable per1=9 est déclarée et que iCustom() est positionné à 4, l'indicateur sera calculé avec une période de 9 ; si vous définissez une autre variable, sa valeur sera utilisée pendant le calcul et ceci est valable pour tous les paramètres de l'indicateur, l'essentiel est de les définir dans le bon ordre, comme dans l'indicateur lui-même. La variable qui sera passée (sa référence) comme premier paramètre de l'indicateur - le quatrième iCustom() du deuxième et ainsi de suite.
J'ai pensé que je ne devais pas salir le forum et avoir un sujet séparé, mais j'espère vraiment avoir un retour constructif sur mon problème, je ne peux pas avancer sans cela :(.
J'ai essayé d'écrire divers indicateurs, tout semble être OK, maintenant j'ai tout importé dans mon EA en utilisant la fonction iCustom(). Le code dans le conseiller expert :
L'indicateur lui-même (je l'ai écrit pour le tester)
Ensuite, le truc EMPTY_VALUE lors des tests.
C'est-à-dire que lorsque nous commençons à tester, nous avons la date de début de l'EA et tout ce qui est avant cette date, iCustom donne les valeurs correctes de l'indicateur, tout ce qui est après est directement testé - EMPTY_VALUE. :(
Je suis déjà fatigué à google et forum, ils écrivent sur "ne pas regarder dans le futur", mais je ne vois pas cela dans le code. Où suis-je un imbécile ?)
J'ai pensé que je ne devais pas encombrer le forum et avoir un sujet séparé, mais j'espère vraiment avoir un retour constructif sur mon problème, je ne peux pas avancer sans cela :(.
J'ai essayé d'écrire divers indicateurs, tout semble être OK, maintenant j'ai tout importé dans mon EA en utilisant la fonction iCustom(). Le code dans le conseiller expert :
L'indicateur lui-même (je l'ai écrit pour le tester)
Ensuite, le truc EMPTY_VALUE lors des tests.
C'est-à-dire que lorsque nous commençons à tester, nous avons la date de début de l'EA et tout ce qui précède cette date, iCustom nous donne des valeurs d'indicateur correctes, tout ce qui suit est directement testé - EMPTY_VALUE. :(
Je suis déjà fatigué à google et forum, ils écrivent sur "ne pas regarder dans le futur", mais je ne vois pas cela dans le code. Où suis-je un imbécile ?)
L'erreur semble se trouver dans le code de l'Expert Advisor, pourquoi n'utilisez-vous pas un débogueur ? Définir des points de contrôle, voir les valeurs des variables, et voir si l'indicateur est appelé, ce qui se trouve avant et après votre date.
Le débogueur ne peut être utilisé qu'en mode compte démo, pas en test, d'ailleurs j'ai écrit - l'indicateur est appelé, fonctionne et renvoie des valeurs, même correctes, mais seulement avant la date spécifiée (date de début du test). Je sors les valeurs des variables dans l'EA, c'est pourquoi je dis que tout va bien au début, et ensuite EMPTY_VALUE
Le débogueur ne peut être utilisé qu'en mode compte démo, pas en test, d'ailleurs j'ai écrit - l'indicateur est appelé, fonctionne et renvoie des valeurs, même correctes, mais seulement jusqu'à la date spécifiée (date de début du test). Je sors les valeurs des variables dans l'EA, c'est pourquoi je dis que tout est bon au début, et ensuite EMPTY_VALUE
Avez-vous lu attentivement comment suivre les nouvelles barres dans les indicateurs personnalisés?
[QUOTE]Le premier paramètre rates_total contient le nombre de barres disponibles pour l'indicateur pour le calcul et correspond au nombre de barres disponibles dans le graphique.
Notez le lien entre la valeur renvoyée par OnCalculate() et le deuxième paramètre d'entrée prev_calculated. Le paramètre prev_calculated de l'appel de fonction contient une valeur renvoyée par OnCalculate() lors de l'appel précédent. Cela permet d'utiliser des algorithmes économiques pour calculer l'indicateur personnalisé afin d'éviter des calculs répétés pour les barres qui n'ont pas changé depuis l'appel précédent de cette fonction.
Pour cela, il suffit généralement de renvoyer la valeur du paramètre rates_total, qui contient le nombre de barres dans l'appel de fonction actuel. Si depuis le dernier appel de OnCalculate() les données de prix ont changé (un historique plus profond a été pompé ou les blancs de l'historique ont été remplis), alors la valeur du paramètre d'entrée prev_calculated sera mise à zéro par le terminal. [/QUOTE]
Vous devez trouver la moyenne des moments d'un jour sur 20 jours, puis trouver la moyenne des moments de 20 jours sur cinq jours.
Trouver la moyenne sur 20 jours n'a pas été un problème. Mais jene sais pascomment obtenirla moyenne sur cinq joursà partir de cette moyenne .
Vous devez trouver la moyenne des moments d'un jour sur 20 jours, puis trouver la moyenne des moments de 20 jours sur cinq jours.
Trouver la moyenne sur 20 jours n'a pas été un problème. Mais jene sais pascomment obtenirla moyenne sur cinq joursà partir de cette moyenne .
Aide
La minuterie ne fonctionne pas, elle renvoie des fautes et l'erreur 4051.
Ou bien cela ne devrait-il pas fonctionner dans le testeur ?