Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2656

 
Artyom Trishkin #:

Тут ни слова про логику увеличения лота.

начало - лот ХХХХ,
шаг 1 - лот ХХХХ,
шаг 2 - лот ХХХХ,
шаг 3 - лот ХХХХ,
...
шаг N - лот ХХХХ

Я делал так, но результат не тот

StartLot = 0.01;
Lot_exponent = 1.3;

1. LotsBuy = NormalizeLot(PrevLot() * Lot_exponent);
2. LotsBuy = StartLot * MathPow(Lot_exponent, BuyCount);
 
Vitaly Muzichenko #:

Я делал так, но результат не тот

Какими должны быть лоты на каждом шаге? 
 
Artyom Trishkin #:
Какими должны быть лоты на каждом шаге? 

0.01

0.01

0.02

0.03

0.04

0.05

0.07

0.09

0.12

Это отрабатывает, но код странный

      if(StartLots==0.01 && Lot_exponent<1.5 && Buy.Count<3)
        mLotsBuy=NormalizeLot(PrevLot*MathPow(Lot_exponent, Buy.Count));
      else
        mLotsBuy = NormalizeLot(PrevLot*Lot_exponent);
 

стартовый там есть в input? проверить что они коэффом считаются, может массив?

 
lynxntech #:

стартовый там есть в input? проверить что они коэффом считаются, может массив?

Настройки в input, там могут сменить на всё что угодно. Код который сейчас написал, работает точно как в оригинале при любых входных данных лота и экспоненты. Некрасиво написано, но работает.

 
Vitaly Muzichenko #:

0.01

0.01

0.02

0.03

0.04

0.05

0.07

0.09

0.12

Это последовательность при коэффициенте 1.3 ?
А какая она должна быть при коэффициенте 1.5 ?
 
Vitaly Muzichenko #:

Настройки в input, там могут сменить на всё что угодно. Код который сейчас написал, работает точно как в оригинале при любых входных данных лота и экспоненты. Некрасиво написано, но работает.

Попробуй так:

double GetNextLot(int loss_count) { return NormalizeLot(StartLots * MathPow(Lot_exponent, loss_count-1)); }

loss_count — номер позиции (1 для первой, 2 для второй и т.д.)

 
Artyom Trishkin #:
Это последовательность при коэффициенте 1.3 ?
А какая она должна быть при коэффициенте 1.5 ?

коэффициент 1.5


 
Vitaly Muzichenko #:

коэффициент 1.5


А где #1, #2, #3 ?

Это пробовал?

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам

Artyom Trishkin, 2025.08.25 06:30

Попробуй так:

double GetNextLot(int loss_count) { return NormalizeLot(StartLots * MathPow(Lot_exponent, loss_count-1)); }

loss_count — номер позиции (1 для первой, 2 для второй и т.д.)


 
Artyom Trishkin #:

А где #1, #2, #3 ?

Это пробовал?

Там были в другую сторону. Поэтому первый начинается с тикета #4

Сейчас буду пробовать, был немного занят