Czy ktoś może mi wyjaśnić, jak ten EA wylicza wielkość partii dla każdej transakcji, bo rozumiem bardzo mało w językach mt4.

//| Oblicz optymalny rozmiar partii |
// ----------------------------------------------- -------------------
podwójne LotsOptimized ()
{
podwójna partia = dużo;
int orders = HistoryTotal ();/Łączna liczba zamówień w historii
int y = 0;/liczba zleceń bez przerwy
//---- wybierz rozmiar partii
lot = NormalizeDouble (AccountFreeMargin () * MaximumRisk1000.0,1);
//---- oblicz liczbę rozkazów bez przerwy
if (DecreaseFactorlt; 0)
{
dla (int i = order-1; igt; = 0; i--)
{
if (OrderSelect (i, SELECT_BY_POS, MODE_HISTORY) == false) {Drukuj (Błąd w historii!); przerwa; }
if (OrderSymbol ()! = Symbol () || OrderType () gt; OP_SELL) kontynuuj;
//----
if (OrderProfit () gt; 0) break;
if (OrderProfit () lt; 0) y ;
}
if (ygt; 1) lot = NormalizeDouble (lot-lot * yDecreaseFactor, 1);
}
//---- zwraca rozmiar partii
jeśli (lotlt; 0,01) lot = 0,01;
return (lot);