int iMA(
string symbol, // nom du symbole
ENUM_TIMEFRAMES period, // période
int ma_period, // période de calcul de la moyenne
int ma_shift, // indicateur de décalage horizontal
ENUM_MA_METHOD ma_method, // type de lissage
ENUM_APPLIED_PRICE applied_price // type de prix ou poignée
) ;
ce qui permet d'obtenir le même résultat. Mais. Comment obtenir applied_price lorsque l'on utilise la forme courte int OnCalculate(). En d'autres termes, comment accéder aux valeurs de l'onglet "Paramètres" lors de l'initialisation de l'indicateur ?
Merci de votre réponse.
Merci, c'est très clair et utile pour les débutants.
if(prev_calculated==0) // vérifie le premier démarrage de l'indicateur
first=MAPeriod-1+begin; // indice de démarrage pour toutes les barres
else first=prev_calculated-1; // indice de démarrage pour les nouvelles barres
when first=MAPeriod-1+begin; quelle est la barre actuelle ? [0] ou [rates_total] ?
when first=prev_calculated-1; c'est un grand nombre, faut-il répéter le calcul ?
- 2010.03.03
- Nikolay Kositsin
- www.mql5.com
Merci pour cet article ! Matériel très utile pour un débutant et
pour quelqu'un qui est en train de passer d'une autre langue à une autre.
Un ordinateur traduit ? Faites avec.
Par rapport à MQL4, les indices des tableaux de métriques sont calculés à partir du passé et sont fixes, et non dynamiques. Je me demande ce qui se passe lorsque l'on utilise le logiciel pendant une semaine ou un mois ? Les données sont-elles toutes en mémoire ? Si toutes les données sont en mémoire, l'exécution ne sera-t-elle pas de plus en plus lente ?
Cependant, à l'adresse https://www.mql5.com/zh/articles/31中又说 :
- "Setting the index of an element as a sequence is the same as in MQL4" - Qu'est-ce que cela signifie ? Dans notre exemple, nous utilisons l'index d'un élément comme une série temporelle. En d'autres termes, la colonne actuelle (pas encore formée) a toujours l'index [0], la colonne précédente (déjà formée) a l'index [1], et ainsi de suite.
La plupart des exemples de MQL4 utilisent un tableau d'indices avec l'indice courant à 0, la plupart des exemples de MQL5 utilisent un tableau d'indices avec l'indice passé à 0.

- 2013.09.04
- Sergey Pavlov
- www.mql5.com
Un ordinateur traduit ? Débrouillez-vous.
Par rapport à MQL4, les indices des tableaux de métriques sont calculés à partir du passé et sont fixes, et non dynamiques. Je me demande ce qui se passe lorsque l'on utilise le logiciel pendant une semaine ou un mois ? Les données sont-elles toutes en mémoire ? Si toutes les données sont en mémoire, l'exécution ne sera-t-elle pas de plus en plus lente ?
Cependant, à l'adresse https://www.mql5.com/zh/articles/31中又说 :
- "Setting the index of an element as a sequence is the same as in MQL4" - qu'est-ce que cela signifie ? Dans notre exemple, nous utilisons l'index d'un élément comme une série temporelle. En d'autres termes, la colonne actuelle (pas encore formée) a toujours l'indice [0], la colonne précédente (déjà formée) a l'indice [1], et ainsi de suite.
La plupart des exemples de MQL4 utilisent un tableau d'index avec l'index courant à 0, et la plupart des exemples de MQL5 utilisent un tableau d'indices d'index avec l'index passé à 0.
La fonction ArraySetAsSeries() doit être utilisée dans MQL5 pour convertir les tableaux dynamiques (en allouant de la mémoire pour stocker les dernières valeurs dans la direction de l'indice le plus grand) en une forme de série temporelle, c'est-à-dire que les données les plus récentes sont stockées à l'indice 0, les données les plus récentes suivantes sont stockées à l'indice 1, et ainsi de suite, les données les plus récentes étant stockées à l'indice 0 pour toujours.
Lire avec la fonction copybuffer (), à partir de la position de l'index 0 pour commencer à lire les éléments en arrière du tableau, lire combien de leur propre définition sur la ligne.
Nicholas !
Pouvez-vous me dire pourquoi, lorsque j'essaie de remplir un tableau d'indicateurs dans une boucle en utilisant la formule Mass[ i ]= Mass[ i+1]+A ; où A est une variable, la compilation se déroule sans erreur, mais lorsque je l'attache à la fenêtre, le message array out of range (out of array size) apparaît ?

- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
Un nouvel article Indicateurs personnalisés dans MQL5 pour débutants a été publié :
Tout nouveau sujet semble compliqué et difficile à apprendre pour un débutant. Les sujets que nous connaissons nous semblent très simples et clairs. Mais nous oublions simplement que nous avons tous dû étudier quelque chose à partir de zéro, et même notre langue maternelle. Il en va de même avec le langage de programmation MQL5 qui offre de larges possibilités de développer ses propres stratégies de trading - vous pouvez commencer à l'apprendre à partir de notions de base et d'exemples les plus simples. L'interaction d'un indicateur technique avec le terminal client MetaTrader 5 est envisagée dans cet article sur l'exemple de l'indicateur personnalisé simple SMA.
Notez qu'après la déclaration de ces paramètres d'entrée il y a des commentaires, et ces commentaires seront visibles comme noms de paramètres d'entrée dans la fenêtre « Propriétés » de l'indicateur :
Dans notre cas, ces noms sont beaucoup plus clairs que les noms de variables de l'indicateur. Donc, ces commentaires devraient être simples.
Auteur : Nikolay Kositsin