J'ai essayé un script auquel j'ai pensé mais le test de stratégie donne une erreur de taille de lot incorrecte. Je ne sais pas si les données historiques ne supportent pas certaines fonctions ou quoi. Le script est pour EURUSD seulement. Qu'est-ce que je fais de mal ou est-ce un problème de testeur de stratégie ?
extern int LotPercentage=10; // use 10% of balance as lot size double LotInBalance=(LotPercentage/100)*AccountBalance(); // find the amount that is 10% of balance lets assume its $1000 double LotUnits=LotBalance*AccountLeverage(); // multiply this 10% balance($100) by leverage to get lot units double lots=NormalizeDouble((LotUnits/100000),2); // expected to return 0.1 /* divide this lot units by 100,000(standard lot size units) and normalize to 2 decimal places to get something like 0.1 if account balance is say $1000*/
Tu n'as pas besoin d'aide, tu en as déjà une(https://www.mql5.com/en/forum/140034)!. Et pourtant vous vous plantez !
Bonjour le code que j'ai obtenu là apporte une erreur "zero divide" et l'autre est gros et non testé.
Oui, je demande juste ce que je fais de mal dans mon code. Je teste aussi le code mais il semble faire quelque chose avec SL que je ne veux pas que le script fasse.
double Balance=AccountBalance(); if(Balance<=500){lots=0.1;} if(Balance<1500&&Balance>1000){lots=0.3;} if(Balance<2500&&Balance>2000){lots=0.5;} if(Balance<3500&&Balance>3000){lots=0.7;} if(Balance<4500&&Balance>4000){lots=0.9;} if(Balance<5500&&Balance>5000){lots=1.1;} if(Balance<6500&&Balance>6000){lots=1.3;} if(Balance<7500&&Balance>7000){lots=1.5;} if(Balance<8500&&Balance>8000){lots=1.7;} if(Balance<9500&&Balance>9000){lots=1.9;} if(Balance>10000){lots=2;}
Bonjour, j'ai également essayé ceci mais cela a donné la même erreur que ci-dessus, peut-être que AccountBalance() et AccountFreeMargin() ne fonctionnent pas sur le testeur de stratégie. Voici le code car je commence avec un solde de 3000 $ dans le test mais il continue à donner l' erreur 4051 invalid lots amount. Et si je peux me permettre de demander si j'ai 3000 $, la valeur de AccountBalance() serait-elle de 3000 ou autre chose ? Désolé si je dérange.
Oh là là,
Vous obtenez cette erreur parce que ... vous n'avez pas calculé le coût d'ouverture de ce montant de lot. Lisez vos autres fils de discussion https://www.mql5.com/en/forum/140034 et https://www.mql5.com/en/forum/140034/page2#649957
Comment puis-je le corriger et que renvoie AccountBalance(), est-ce sa valeur en $ ou en d'autres unités ?
Il revient dans la devise de votre compte. Je vous ai donné la pièce jointe icihttps://www.mql5.com/en/forum/140034
Comment le corriger en utilisant le calcul du lot correctement comme celui-ci https://www.mql5.com/en/forum/140034

- 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
J'ai essayé un script auquel j'ai pensé mais le test de stratégie donne une erreur de taille de lot incorrecte. Je ne sais pas si les données historiques ne supportent pas certaines fonctions ou quoi. Le script est pour EURUSD seulement. Qu'est-ce que je fais de mal ou est-ce un problème de testeur de stratégie ?