![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
OnCalculate
La fonction OnCalculate() est appelée uniquement dans les indicateurs personnalisés lorsqu'il est nécessaire de calculer les valeurs de l'indicateur par l'événement Calculate .
Cela se produit généralement lorsqu'un nouveau tick est reçu pour le symbole pour lequel l'indicateur est calculé.
Il n'est pas nécessaire que cet indicateur soit attaché à un graphique de prix de ce symbole.
La fonction OnCalculate() doit avoir un type de retour int. Il existe deux définitions possibles. Dans un même indicateur, vous ne pouvez pas utiliser les deux versions de la fonction.
La première forme est destinée aux indicateurs qui peuvent être calculés sur un seul tampon de données. Un exemple d'un tel indicateur est la moyenne mobile personnalisée.
intOnCalculate(constint rates_total,// taille du tableau price[])
constint prev_calculated,// barres traitées lors d'un appel précédent
constint begin,// point de départ des données significatives
constdouble& price[]// tableau à calculer
) ;
OnCalculate
La fonction OnCalculate() est appelée uniquement dans les indicateurs personnalisés lorsqu'il est nécessaire de calculer les valeurs de l'indicateur par l'événement Calculate .
Cela se produit généralement lorsqu'un nouveau tick est reçu pour le symbole pour lequel l'indicateur est calculé.
Il n'est pas nécessaire que cet indicateur soit attaché à un graphique de prix de ce symbole.
La fonction OnCalculate() doit avoir un retour de type int. Il existe deux définitions possibles. Dans un indicateur, vous ne pouvez pas utiliser les deux versions de la fonction.
La première forme est destinée aux indicateurs qui peuvent être calculés sur un seul tampon de données. Un exemple d'un tel indicateur est la moyenne mobile personnalisée.
intOnCalculate(constint rates_total,// taille du tableau price[])
constint prev_calculated,// barres traitées lors d'un appel précédent
constint begin,// point de départ des données significatives
constdouble& price[]// tableau à calculer
) ;
(J'utilise le mot " Lag " qui signifie retarder l'action du prix, l'ouverture ou la fermeture d'un ordre, un seul mot suffit à faire tomber ma plateforme MT4).
J'utilise la fonction ci-dessous pour mon indicateur personnalisé.
Lorsque j'écris le code de retour ci-dessous à mon indicateur personnalisé, celui-ci commence à être décalé. Mais il fonctionne correctement, ce que je veux.
Et quand j'écris le code de retour ci-dessous à mon indicateur personnalisé, alors mon indicateur personnalisé ne fonctionne pas correctement, ce que je veux. Je veux dire que pendant le faux croisement MA, la " Flèche " ne retourne pas au point de croisement MA précédent.
Q : Que puis-je faire pour cette situation, s'il vous plaît ?
Merci d'avance.
Voilà.
Merci d'avance.
OK ! Merci !
J'ai encore besoin d'une réponse plus claire.
Merci d'avance.
La réponse est :Vérifiez le croisement actuel et le croisement précédent de la MA.
#Buffer (array out of range in ) - Fermé
#Custom Indicator Lagging - Fermé
#Premier résultat de la boucle - Ouvrir
Merci d'avance.