Discussion de l'article "Indicateurs personnalisés dans MQL5 pour débutants"

 

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

 
Article très intéressant pour ceux qui se lancent..... J'espère que d'autres le feront aussi.... merci
 
Écrit et raconté avec un A. Après l'avoir lu, vous aurez envie de créer quelque chose de votre cru. Il n'est pas très intéressant de réécrire le code à chaque fois et les auteurs de MQL5, conscients de cela, ont créé une grande bibliothèque de fonctions intégrées. Voici l'une d'entre elles :

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 pour un néophyte comme moi. j'attends le prochain article...
 

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 ?

 
Dans l'article " Indicateurs personnalisés dans MQL5 pour les débutants ", il est dit : " Il est préférable d'utiliser l'ordre croissant [plutôt que " l'ordre inverse "] dans les indicateurs ". Mais si le programme continue à tourner, il finira par tendre vers l'infini, c'est-à-dire que la mémoire tampon (entière) pour les numéros d'index sera bientôt épuisée, n'est-ce pas ? Comment gérez-vous ce problème ?
Custom Indicators in MQL5 for Newbies
  • 2010.03.03
  • Nikolay Kositsin
  • www.mql5.com
Any new subject seems complicated and hard-to-learn for a newbie. Subjects that we know seem very simple and clear to us. But we simply do not remember, that everyone has to study something from scratch, and even our native language. The same is with the MQL5 programming language that offers wide possibilities of developing one's own trading strategies - you can start learning it from basic notions and simplest examples. Interaction of a technical indicator with the MetaTrader 5 client terminal is consider in this article on the example of the simple custom indicator SMA.
 

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中又说 :

  1. "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.

MQL5 初学者:EA 交易技术指标使用指南
MQL5 初学者:EA 交易技术指标使用指南
  • 2013.09.04
  • Sergey Pavlov
  • www.mql5.com
为在EA 交易中获得内置或自定义指标的值,首先应使用相应函数创建指标的处理函数。本文中的示例说明了在创建自己的程序时如何使用技术指标。在本文中说明的指标使用 MQL5 语言构建。本文的目标受众是那些在交易策略开发上不具备太多经验的读者,并旨在通过使用提供的函数库提供简单明了的指标使用方式。
 
DxdCn:

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中又说 :

  1. "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 ?