//----- Martingaleif(Martingale == true)
{
//----- Calcuulate number of losses orders without a breakHistorySelect(0,TimeCurrent());
int Total = HistoryDealsTotal();
int Losses = 0; // Number of losses orders without a breakfor(i = 0;i < Total;i++)
{
ulong Ticket=HistoryDealGetTicket(i);
if(HistoryDealGetInteger(Ticket,DEAL_TYPE) < 2)
{
if(HistoryDealGetDouble(Ticket,DEAL_PROFIT)>0) break;
if(HistoryDealGetDouble(Ticket,DEAL_PROFIT)<0) Losses++;
}
if(Losses<=MaxLossTrade) TradeLot=(TradeLot*MathPow(LotMultiply,Losses));
else TradeLot=TradeLot;
}
}
//-----
Tout d'abord, la corrélation LR doit être calculée. Ceci est fait dans cette bibliothèque https://www.mql5.com/ru/code/1081
Et ensuite renvoyer cette valeur via OnTester, comme ici https://www.mql5.com/ru/articles/286.
bug - MathRound renvoie le type double au lieu d'un entier logique.
en fait, c'est toujours un bug - si nous arrondissons un nombre, il devrait être un int. xD
Voir ma question similaire dans un fil voisin.
Voir la section sur la conversion explicite des types.
bug - MathRound ...
Une conversion de type explicite permet d'éviter l'émission d'avertissements :
Aide, ça ne marche pas, traduit de 4.
Merci.
De quelle ligne partent les problèmes et quels sont-ils exactement ?
G001:
De quelle ligne partent les problèmes et quels sont-ils exactement ?
Dans le testeur de stratégie, il n'augmente pas la taille du lot après une transaction perdante.
Une fois encore, où commencent les problèmes et quels sont-ils exactement ?
Désolé, je ne sais pas quoi dire, je ne sais pas où est le problème, je sais qu'il ne fait pas ce dont j'ai besoin.
Désolé, je ne sais pas quoi dire, je ne sais pas où est le problème, je sais qu'il ne fait pas ce dont j'ai besoin.