Questions des débutants MQL5 MT5 MetaTrader 5 - page 185

 
Vikon:

Salut.

J'essaie de convertir en cinq, mais je ne comprends toujours pas la logique de la syntaxe.

Comment convertir le double i= iHigh(Symbol(),0,1) ; de l'indicateur quatre à mql5,

Je ne peux pas encore donner d'idée.

Merci

double i[] ; CopyHigh(Symbol(),PERIOD_CURRENT,0,1,i) ;
 
pronych:
double i[] ; CopyHigh(Symbol(),PERIOD_CURRENT,0,1,i) ;

Non, vous ne pouvez pas le faire comme mql4, vous ne pouvez pas donner une valeur élevée à l'alerte.

double i= iHigh(Symbol(),0,1) ;

Alerte (i) ;

Et vous me proposez, si j'ai bien compris, un tableau de barres int avec des valeurs maximales.

Voici le problème dans ma compréhension, comment traduire ces deux chaînes, qui sont claires pour tout niveau de programmeur, en mql5.

 
Vikon:

Non, vous ne pouvez pas le faire comme mql4, vous ne pouvez pas donner une valeur élevée à l'alerte.

double i= iHigh(Symbol(),0,1) ;

Alerte (i) ;

Et vous me proposez, si j'ai bien compris, un tableau de barres int avec des valeurs maximales.

C'est la difficulté de ma compréhension, comment traduire ces deux chaînes de caractères, qui sont compréhensibles pour tout niveau de programmeur, en mql5.

Ceci est extrait de l'aide
int  CopyHigh(
   string           symbol_name,      // имя символа
   ENUM_TIMEFRAMES  timeframe,        // период
   int              start_pos,        // откуда начнем 
   int              count,            // сколько копируем
   double           high_array[]      // массив для копирования максимальных цен
   );

Tout est correct, mais si la barre de l'alerte n'est pas nulle, vous devez copier 2 tampons (ou le nombre dont vous avez besoin).

double i[];
ArraySetAsSeries(i,true); // массив как таймсерия
CopyHigh(Symbol(),PERIOD_CURRENT,0,2,i);
Alert(i[1]);
 
lewvik:
Ceci est extrait de l'aide

Tout vous a été correctement conseillé, seulement si la barre de l'alerte n'est pas nulle vous devez copier 2 buffers (ou combien vous devez en appliquer)

Il fonctionne bien. Merci

 

Bonjour !

Question sur les indicateurs, ici je veux écrire un indicateur MACD qui utilisera quatre timeframes MACD sur n'importe quels timeframes pour cela j'utilise le handle de l'indicateur MACD qui est dans OnInit et dans Start les fonctions de copie de tableau et de séquençage.

Mes questions sont donc les suivantes :

Combien de poignées dois-je déclarer : quatre (pour chaque période) ou une.

Si c'est le cas, quelle est la possibilité de changer les paramètres pendant l'exécution du code pour quatre périodes de temps ?

Peut-être qu'une poignée peut être intégrée dans une fonction et appelée dans le code pour les délais donnés.

 
Je me demande s'il existe quelque part un article intitulé "les raisons les plus courantes de la lenteur de l'EA" ? J'essaie de comprendre pourquoi l'EA dans le testeur s'envole au début, mais plus il avance, plus il devient lent. Elle n'en est pas encore au stade de développement où elle pourrait être critique (la vitesse est suffisante pour le développement des mécanismes et outils de base). Mais il est toujours inconfortable de prendre plus d'une semaine, car après cela, la vitesse tend vers zéro.
 
Lone_Irbis:
Je me demande s'il existe quelque part un article intitulé "les raisons les plus courantes de la lenteur de l'EA" ? J'essaie de comprendre pourquoi l'EA dans le testeur s'envole au début, mais plus il avance, plus il devient lent. Elle n'en est pas au stade de développement où cela peut être critique (la vitesse est suffisante pour le développement des mécanismes et outils de base). Mais il est tout de même gênant que cela n'ait aucun sens de prendre des segments de plus d'une semaine, car après cela, la vitesse tend déjà vers zéro.
Le plus probable est l'utilisation d'indicateurs avec le calcul de l'ensemble de l'historique, qui augmente à la fin du test.
 
Lone_Irbis:
Je me demande s'il existe quelque part un article intitulé "les raisons les plus courantes de la lenteur de l'EA" ? J'essaie de comprendre pourquoi l'EA dans le testeur s'envole au début, mais plus il avance, plus il devient lent. Elle n'en est pas au stade de développement où cela peut être critique (la vitesse est suffisante pour le développement des mécanismes et outils de base). Mais il est tout de même gênant que cela n'ait aucun sens de prendre des segments de plus d'une semaine, car après cela, la vitesse tend déjà vers zéro.
Une alternative : divisez la période de test en deux et exécutez-la dans le testeur séparément. De cette façon, nous pouvons déterminer s'il y a juste moins de signaux à l'entrée pour la période spécifiée.
 
zfs:
Le plus probable est l'utilisation d'indicateurs avec le calcul de l'ensemble de l'historique, qui augmente à la fin du test.

Il n'utilise pas du tout d'indicateurs externes jusqu'à présent. Mais il effectue un grand nombre de calculs basés sur l'histoire, oui. Cependant, il semble y avoir une limite sur le nombre maximum de chandeliers analysés, et si la raison est eux, il n'est pas clair pourquoi il ralentit progressivement, au lieu de ralentir depuis le début (il semble que l'intervalle est toujours pris à partir du moment présent).

 
Lone_Irbis:

Il n'utilise pas du tout d'indicateurs externes jusqu'à présent. Mais il effectue un grand nombre de calculs basés sur l'histoire, oui. Cependant, il semble qu'il y ait une limite au nombre maximum de chandeliers analysés, et si c'est la raison, on ne comprend pas pourquoi il ralentirait progressivement, au lieu de ralentir depuis le début (il semble que le segment soit toujours pris à partir du moment présent).

Et "beaucoup de calculs basés sur l'histoire" aboutissent à un tableau dynamique?