Discussion de l'article "Contrôler la Pente de la Courbe d' Équilibre Pendant le Travail d'un Expert Advisor"
Quelque chose à propos des illustrations.
Il n'y a pas d'illustrations, seulement des légendes.
Mais lors des tests, pour une raison ou une autre, il se bloque, comme si vous aviez appuyé sur pause, quelle en est la raison ?
"Il s'agit d'une sorte de complément au MM (money management) de l'EA, qui l'empêche d' enregistrer des pertes importantes sur le compte."
Expression :
"// Limite de lot par le bas :
if( lots < min_trade_volume )
{
lots = min_trade_volume ;
}"
peut être autorisé.
Voir, par exemple, https://www.mql5.com/ru/forum/124281/page2#283533
- www.mql5.com
Avez-vous lu attentivement l'article ?
L'une des exigences de cette version de la bibliothèque est que la taille d'un lot de travail normal doit être significativement (2 à 3 fois au moins) plus grande que la taille minimale autorisée
Le passage que vous avez sorti de son contexte fait généralement référence à la normalisation du lot de travail, de sorte que vous n'obtenez pas d'erreur en raison d'une taille incorrecte.
Vous devriez lire le lien.
Il s'agit d'une erreur courante.
Il serait utile de fournir un lien pour que vous puissiez le lire.
Il s'agit d'une erreur courante.
Ici, je l'affiche avec une correction - alors que l'ancienne version se trouve dans l'article.
L'article a également été mis à jour.
Lorsque le volume d'une transaction est modifié, à des fins de "normalisation" ou autres, la valeur totale du risque change.
Telle est l'attitude.
D'ailleurs, il est précisé : "Cette méthode renvoie la valeur du lot la plus proche du fond ".
Et dans le cas de
"// Limite de lot à partir du bas :
if( lots < min_trade_volume )
{
lots = min_trade_volume ;
}"
la valeur la plus proche du sommet est renvoyée, et elle peut différer de très nombreuses fois...
Un exemple de calcul plus simple et plus fiable du volume des transactions se trouve à l'adresse https://www.mql5.com/en/forum/112782.
En particulier :
"if ( SizeLimit >= MinLots )
{ int Steps = MathFloor ( ( SizeLimit - MinLots ) / LotStep ) ;
LotSize = MinLots + Steps * LotStep ; }
else LotSize = 0 ;
if ( LotSize >= MaxLots )
LotSize = MaxLots ;
"
Il n'est pas nécessaire d'utiliser la fonction NormalizeDouble().
Cette méthode fonctionne pour toutes les valeurs de volume minimum, de pas et de décimales.
J'espère que votre méthode finalisée et corrigée fonctionne également.
- www.mql5.com

- 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 Contrôler la Pente de la Courbe d' Équilibre Pendant le Travail d'un Expert Advisor a été publié :
Auteur : Dmitriy Skub