Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 1091
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
Bon après-midi. J'ai une question : où puis-je voir un exemple de code permettant d'afficher les valeurs d'un indicateur pour différentes périodes sur un graphique de prix ?
Je ne peux pas le googler, peut-être que je fais une mauvaise demande.
Je veux afficher dans la deuxième colonne du graphique des prix l'écart type des bandes de Bollinger de H1 à W1. La deuxième colonne montre les valeurs obtenues en multipliant l'écart type par les coefficients.
Bandes de Bollinger modifiées.
Mots-clés pour la recherche codobase "Multi timeframe".
Le texte peut être affiché en utilisant OBJ_LABEL.
1. Essayez dans MetaEditor : Fichier --> Ouvrir le dossier de données partagées. Vous verrez le chemin vers le dossier. Cette question a été discutée à de nombreuses reprises, voici un lien, par exemple
2. Essayez-le sans inclure dans un premier temps. Quand vous le déboguerez, vous commencerez à l'inclure.
3. insérez vos sources ici, soit en utilisant le bouton SRC ci-dessus, soit en utilisant le bouton Joindre un fichier ci-dessous.
Veuillez me conseiller sur la façon de tracer une ligne horizontale au niveau du prix d'ouverture de la barre à 07:00.
J'ai écrit ce code, mais la ligne n'est pas tracée pour une raison quelconque. Où se trouve l'erreur ?
Veuillez me conseiller sur la façon de tracer une ligne horizontale au niveau du prix d'ouverture de la barre à 07:00.
J'ai écrit ce code, mais la ligne n'est pas tracée pour une raison quelconque. Où se trouve l'erreur ?
Si vous supprimez ObjectMove, la ligne est visible ? Essayez Alert(StartPrice) ;
Si vous supprimez ObjectMove, vous ne pouvez pas voir la ligne, mais sivous écrivez une valeur numérique au lieu de "IndexOfBar", par exemple, "double StartPrice = Open[5] ;", il trace la ligne au prix d'ouverture de la cinquième barre.
Merci pour l'idée avec Alert - il montre la valeur "0".
D'ailleurs, la ligne existe aussi dans la liste des objets avec la valeur 0.
Veuillez me conseiller sur la façon de tracer une ligne horizontale au niveau du prix d'ouverture de la barre à 07:00.
J'ai écrit ce code, mais la ligne n'est pas tracée pour une raison quelconque. Où se trouve l'erreur ?
Vous ne pouvez pas dessiner et calculer dans l'inite, c'est une erreur grossière. L'inite doit terminer son travail le plus rapidement possible.
L'erreur ici estint IndexOfBar = iBarShift(ChartID()_Symbol,PERIOD_H1, StringToTime(StartTime), true) ; //lire l'indice de la barre par le temps donné StartTime
L'heure peut être définie directement au format date, sans qu'il soit nécessaire de perdre du temps de machine pour la conversion :
Vous ne pouvez pas dessiner et calculer dans l'unité, c'est une erreur grossière. L'init doit achever son travail le plus rapidement possible.
L'erreur ici -int IndexOfBar = iBarShift(ChartID()_Symbol,PERIOD_H1, StringToTime(StartTime), true) ; //lire l'indice de la barre par le temps spécifié StartTime
L'heure peut être définie directement au format date, sans qu'il soit nécessaire de perdre du temps de machine pour la conversion :
Merci pour ces conseils précieux pour moi.
Et un merci spécial pour m'avoir remonté le moral en trouvant l'erreur. Je commence à croire à nouveau que je peux devenir ami avec MQL4.
Vous ne pouvez pas dessiner et calculer dans l'unité, c'est une erreur grossière. L'init doit être terminé le plus rapidement possible.
Et si vous prenez les calculs de l'inite dans une fonction séparée et que vous insérez ensuite cette fonction dans l'inite, il ne s'agira pas d'une erreur grossière ?
Cela fonctionne déjà.
Et si vous prenez les calculs de l'inite dans une fonction séparée, et que vous insérez ensuite cette fonction dans l'inite, il ne s'agira pas d'une erreur grossière ?
Si le code est exécuté trop longtemps, l'inite se terminera de manière forcée et le code n'aura tout simplement pas le temps d'être exécuté. Le code exécuté, y compris les appels de fonctions secondaires, doit se trouver dans les fonctions prédéfinies de MQL - OnTick() pour les Expert Advisors, OnStart() pour les scripts, OnCalculate() pour les indicateurs.
L'inite doit contenir le minimum de code, seulement les choses qui doivent être exécutées une fois, juste avant le début du programme. Par exemple, l'initialisation des variables globales, des tableaux, des tampons d'indicateurs.