Questions d'un "mannequin - page 155

 
input string Periods = "1 2 3 56 78 67";
 
TheXpert:
Intéressant. Mais j'aimerais pouvoir optimiser les périodes à partir du testeur.
 
gpwr:
Intéressant. Mais j'aimerais pouvoir optimiser les périodes.
L'optimisation serait mieux faite sur chaque instrument séparément. Si c'est possible, bien sûr.
 
gpwr:
Intéressant. Mais il serait bien de pouvoir optimiser les périodes à partir du testeur.

Ensuite, vous devez écrire un enum, avec toutes les options possibles.

Les enums peuvent être commentés et les paramètres afficheront les commentaires au lieu de la valeur de l'enum, comme d'habitude.

enum ENUM_CUSTOM
{
 tf1_1_1,//1 1 1
 tf1_2_1,//1 2 1
 tf1_2_3,//1 2 3
 tf2_1_1,//2 1 1 
};

Pour les grands enums, le corps peut être rempli de manière programmatique.

 
Urain:

Il faut alors écrire une énumération, avec toutes les possibilités.

Non, c'est maladroit et brutal.

Nous pouvons le faire de la même manière, avec une chaîne de caractères et juste le numéro de la manche comme paramètre séparé. Nous pourrions utiliser le numéro de l'exécution et la chaîne d'optimisation pour obtenir les valeurs.

Mais dans ce cas, la génétique ne fonctionnera pas correctement.

 
TheXpert:
L'optimisation serait plus appropriée pour chaque instrument séparément. Si c'est possible, bien sûr.
C'est compréhensible. Dans le testeur, je ne choisirai que les paramètres ayant le même indice (par exemple, MAPer[0], Trig[0], MaxPrice[0],MinPrice[0]) et je n'optimiserai qu'eux. Oh, les développeurs auraient dû décider d'ajouter cette fonctionnalité. Le compilateur n'aurait pas trouvé trop difficile de créer d'abord un tableau, puis d'y inscrire les données d'entrée. Quel est le problème ici ? Pourquoi les tableaux ne sont pas autorisés comme données d'entrée ?
 
gpwr:
C'est compréhensible. Dans le testeur, je ne choisirai que les paramètres ayant le même indice (par exemple, MAPer[0], Trig[0], MaxPrice[0],MinPrice[0]) et je n'optimiserai qu'eux. Oh, les développeurs auraient dû décider d'ajouter cette fonctionnalité. Le compilateur n'aurait pas trouvé trop difficile de créer d'abord un tableau, puis d'y inscrire les données d'entrée. Quel est le problème ici ? Pourquoi les tableaux ne sont pas autorisés comme données d'entrée ?
Le problème réside dans la taille de la recherche du testeur.
 

J'ai commencé à écrire le même MACD basé sur la source MACD mais basé sur LWMA (différence entre LWMA court et long et une ligne de signal basée sur la différence).

Je l'ai remplacé par LinearWeightedMAOnBuffer mais il a un paramètre formel "supplémentaire" weightsum. Je comprends bien qu'il s'agit d'une somme de poids et j'en comprends la signification, mais comment puis-je le générer par programme ?

Документация по MQL5: Основы языка / Переменные / Формальные параметры
Документация по MQL5: Основы языка / Переменные / Формальные параметры
  • www.mql5.com
Основы языка / Переменные / Формальные параметры - Документация по MQL5
 
progma137:

J'ai commencé à écrire le même MACD basé sur la source MACD mais basé sur LWMA (différence entre LWMA court et long et une ligne de signal basée sur la différence).

Je l'ai remplacé par LinearWeightedMAOnBuffer mais il a un paramètre formel "supplémentaire" weightsum. Je devrais certes comprendre qu'il s'agit de la somme des poids et en comprendre la signification, mais comment puis-je le générer par programme ?

Il n'a pas besoin d'être généré. Il vous suffit de créer une variable pour le stockage intermédiaire de cette somme de poids, afin de ne pas avoir à recalculer ses valeurs à chaque fois que vous l'appelez.

De cette façon, à chaque appel, la somme des poids est modifiée, et non entièrement recalculée, ce qui accélère considérablement les calculs.

 
stringo:

Il n'a pas besoin d'être généré. Il vous suffit de créer une variable pour le stockage intermédiaire de cette somme de poids, afin de ne pas avoir à recalculer ses valeurs à chaque fois que vous l'appelez.

De cette façon, au prochain appel, la somme des poids est modifiée, et non entièrement recalculée, ce qui accélère considérablement les calculs.

Merci. Ça a marché. J'ai déclaré cette variable comme une variable globale.
Raison: