Erreurs, bugs, questions - page 1676

 
pavlick_:

Messieurs, comment déclarer une fonction en MKL qui prend un pointeur (référence en µl) vers n'importe quoi (analogue à void* en C/C++) ? Je ne veux pas dire par arbre généalogique, mais par types non apparentés. Au moins, prenez un tableau de n'importe quel type.

Je comprends toutes les difficultés liées à l'"aliasing de type" et aux optimisations du compilateur.
Je pense que ce que vous voulez faire, vous ne pouvez le faire que par les méthodes de classe dans MQL5. Bien que j'attende plus de réponses, je n'ai pas beaucoup d'expérience dans ce domaine.
 
pavlick_:

Messieurs, comment déclarer une fonction en MKL qui prend un pointeur (référence en µl) vers n'importe quoi (analogue à void* en C/C++) ? Je ne veux pas dire par arbre généalogique, mais par types non apparentés. Au moins, prenez un tableau de n'importe quel type.

Je comprends tous les ragots concernant le "type aliasing" et les optimisations du compilateur.

Eh bien, ils ont déjà ajouté les pointeurs void *, n'est-ce pas ? En outre, vous pouvez utiliser des modèles, comme

template<typename T>

void f(T &parameter)

{

 
Stanislav Korotky:

Je pensais qu'ils avaient déjà ajouté les pointeurs void *. En outre, vous pouvez utiliser des modèles, comme

template<typename T>

void f(T &parameter)

{

Les pointeurs MKL (descripteurs) disparaissent immédiatement. Le problème se situait dans la déclaration de la fonction importée de la dll, les templates ne peuvent pas être mordus à cet endroit. J'ai découvert que vous pouvez le faire de cette façon :

#import ...
  int send(..., char &buf[], ...);
  int send(..., short &buf[], ...);
#import
Et tout sera lié à une seule fonction. Cela résout mon problème. Merci à ceux qui ont répondu pour la réponse.
 
Itum:
Veuillez me dire comment trouver le drawdown maximum dans Excel... Donnez-moi la formule...
Si comme dans le testeur d'actions, c'est difficile dans Excel, parce que le testeur prend en compte non seulement l'écart négatif, mais aussi l'écart positif - le bénéfice potentiel sous-estimé.
 
-Aleks-:
Si comme dans le testeur d'équité, c'est compliqué dans l'Excel, parce que le testeur prend en compte non seulement l'écart négatif, mais aussi l'écart positif - le bénéfice potentiel sous-estimé.
Il n'y a rien de compliqué. La première colonne représente les valeurs des fonds propres, la deuxième colonne représente la valeur maximale des fonds propres de la première à la ligne actuelle et la troisième colonne représente le drawdown, la différence entre la deuxième et la première colonne. Et ensuite, prenez le maximum de la troisième colonne.
 
Sergei Vladimirov:
Il n'y a rien de compliqué. La première colonne indique les valeurs d'équité, la deuxième colonne indique l'équité maximale de la première à la ligne actuelle, et la troisième colonne indique le drawdown, la différence entre la deuxième et la première colonne. Eh bien, prenez le maximum de la troisième colonne.
De tels calculs ne correspondent pas aux données des testeurs. Nous devons prendre en compte la variation des capitaux propres entre l'ouverture et la fermeture de la position. La variation maximale des capitaux propres doit être inscrite dans une colonne séparée et le module doit être pris en compte, puis le maximum doit être choisi dans cette colonne. Il s'agit d'un trading rentable, sinon il est nécessaire d'identifier le point de profit maximum de l'équité et de faire des calculs sur celui-ci.....
 
-Aleks-:
Ces calculs ne correspondront pas aux données du testeur. Il est nécessaire de considérer la variation des fonds propres entre l'ouverture et la fermeture de la position - la variation maximale des fonds propres doit être placée dans une colonne séparée et le module doit être considéré, puis le maximum doit être sélectionné dans cette colonne. Ceci est pertinent pour un trading rentable alors que dans le cas contraire, nous devons définir le point de profit maximum par équité et faire des calculs dessus......
Qu'est-ce que le testeur a à voir là-dedans ? La question portait sur Excel. Je ne comprends pas pourquoi je m'en préoccupe dans ce fil de discussion. En substance, aucun module n'est nécessaire, le drawdown = dernier maximum moins la valeur actuelle, le résultat sera toujours non négatif. Ou vice versa, la valeur actuelle moins le dernier maximum, alors elle sera toujours négative ou nulle. Dans le premier cas, prenez le maximum de la colonne, dans le second, prenez le minimum.
 
Sergei Vladimirov:
Qu'est-ce que cela a à voir avec le testeur ? La question portait sur Excel. La raison pour laquelle elle se trouve dans ce fil n'est pas claire. En substance - aucun module n'est nécessaire, drawdown = dernier maximum moins la valeur actuelle, le résultat sera toujours non négatif. Ou vice versa, la valeur actuelle moins le dernier maximum, alors le résultat sera toujours négatif ou nul. Dans le premier cas, prenez le maximum de la colonne, dans le second, prenez le minimum.
Drawdown dans le testeur = maximum - minimum, peu importe à quel moment la position a été fermée. En d'autres termes, si la position va dans votre direction au début, puis se ferme dans la direction opposée, le drawdown de l'équité est la section du maximum au minimum, et non du prix d'ouverture au prix de fermeture. C'est le cas dans MT4.
 
-Aleks-:
Drawdown dans le testeur = maximum - minimum, peu importe à quel moment la position a été fermée. En d'autres termes, si la position a commencé dans votre direction, mais a été fermée dans la direction opposée, le drawdown de l'équité est la section du maximum au minimum, et non du prix d'ouverture au prix de fermeture. C'est le cas dans MT4.
Je n'ai rien écrit sur les prix d'ouverture et de clôture.
 
Sergei Vladimirov:
Je n'ai rien écrit sur les prix d'ouverture et de fermeture.
Alors j'ai dû mal vous comprendre - désolé.
Raison: