Reshetov: Vous pourriez être banni pour avoir décompilé ici.
Où pouvez-vous voir qu'il s'agit d'un décomplément ? ) Malheureusement je n'ai pas pu trouver l'auteur et cet indicateur montrait de bonnes entrées sur le marché en 2006, aujourd'hui je m'en suis souvenu)) et je veux comprendre sur quoi est basée sa logique.
Vinsant: Où est-il indiqué que c'est incomplet ? )
Un modérateur va venir et comprendre la logique du code que vous avez posté. Vous feriez mieux de le cacher avant qu'ils ne vous montrent où vous pouvez et ne pouvez pas le voir.
Reshetov: Un modérateur va venir et comprendre la logique derrière le code que vous avez posté. Vous feriez donc mieux de le cacher, avant que l'on vous indique clairement où vous pouvez le voir et où vous ne pouvez pas le voir.
Oh, je vois, donc c'est un exercice scientifique. Le paramètre n'est stocké nulle part, donc nous le saurons.
Il ne peut être stocké nulle part dans le terminal, car le levier peut être flottant et seul le serveur le connaît. À mon avis, la façon la plus correcte de le calculer est la suivante :
double minlot = MarketInfo(Symbol(), MODE_MINLOT);
double maxlot = MarketInfo(Symbol(), MODE_MAXLOT);
double lotstep = MarketInfo(Symbol(), MODE_LOTSTEP);
double SMALL = 0.0000001;
double lot, nextlot;
//обнуляем внутреннюю переменную ошибкиGetLastError();
//смотрим, насколько дают открытьсяfor(lot=0; lot<maxlot+SMALL && GetLastError()!=ERR_NOT_ENOUGH_MONEY; lot = nextlot)
{
if(lot<minlot) nextlot = minlot;
else nextlot = lot+lotstep;
AccoutFreeMarginCheck(Symbol(), OP_BUY, nextlot);
}
// ответ на вопрос уже в переменной lot, а если вообще открыться нельзя, то там 0. Осталось нормализовать.// Нормализацию правильно проводить от lotstep, а не от minlot, т.к. встречаются ситуации когда, например, // minlot = 3.0, а lotstep = 0.1int dig = -MathFloor(MathLog(lotstep)/MathLog(10));
lot = NormalizeDouble(lot, dig);
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Aidez-moi à comprendre la logique de cet indicateur.
Vous pourriez être banni pour avoir décompilé ici.
Processus via MinLot et LotStep
J'ai besoin de faire par exemple ceci - NormalizeDouble(lots,precision) ;
Qu'est-ce que cela ferait (MinLot et LotStep) ?
Où est-il indiqué que c'est incomplet ? )
Un modérateur va venir et comprendre la logique derrière le code que vous avez posté. Vous feriez donc mieux de le cacher, avant que l'on vous indique clairement où vous pouvez le voir et où vous ne pouvez pas le voir.
J'ai besoin de faire par exemple ceci - NormalizeDouble(lots,precision) ;
Qu'est-ce que cela ferait (MinLot et LotStep) ?
Je l'ai juste esquissé. Ça donne quelque chose comme ça :
Oh, je vois, donc c'est un exercice scientifique. Le paramètre n'est stocké nulle part, donc nous le saurons.
Oh, je vois, donc c'est un exercice scientifique. Le paramètre n'est stocké nulle part, donc nous le saurons.
Il ne peut être stocké nulle part dans le terminal, car le levier peut être flottant et seul le serveur le connaît. À mon avis, la façon la plus correcte de le calculer est la suivante :
Dites-moi pourquoi il peut y avoir une erreur 130
Dites-moi pourquoi il peut y avoir une erreur 130