Необходимо доработать функцию управления капиталом:

MQL5 Прочее

Работа завершена

Время выполнения 3 дня
Отзыв от исполнителя
5+

Техническое задание

Есть обычная функция изменения лота:


double LotsOptimized()
{
   double lot=Lots;
   int    orders=HistoryTotal();    
   int    losses=0;                 

   lot=NormalizeDouble(AccountEquity()*MaximumRisk/1000.0,2);
   if (Use_EAs_Management==true) lot=NormalizeDouble(AccountBalance()/Quantity_EAs*MaximumRisk/1000.0,2);
     
   if(DecreaseFactor>0)
     {
      for(int i=orders-1;i>=0;i--)
        {
         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; }
         if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL || OrderMagicNumber()!=MagicNumber) continue;
         //----
         if(OrderProfit()>0) break;
         if ((OrderProfit()<0) && (OrderMagicNumber()==MagicNumber)) losses++;
        }
      if(losses>0) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
     }

   if(lot<0.1) lot=0.1;
   if(MoneyManagement==false) lot=Lots;

//--- for CONTEST only
   if(lot > MaxLots) lot=MaxLots; 
   return(lot);
  }


Нужно сделать, чтобы функция видела не только что предыдущая позиция была убыточная, а вычисляла размер убытка и сравнивала его с закрытой текущей позицией.

Т.е.

1. получили убыточный ордер - запомнили его размер и следующий лот открываем размером = lot*2.

        1.1 следующий лот закрылся в плюсе: сравниваем его с убыточным, если

                  1.1.1 он > убытка цикл начинаем сначала.

                  1.1.2 он < убытка, то  следующий лот открываем тем же размером = lot*2.

                  1.1.3 если получили убыточный ордер между прибыльным - размер лота не меняем.

2. получили второй подряд убыточный ордер - прибавляем его к первому запомнили его размер и следующий лот открываем размером = lot*4.

в общем и так далее до размера = lot*16, если и после этого получаем убыточный ордер - цикл обнуляется.


Если возможно, пожалуйста, укажите стоимость и сроки выполнения.

Откликнулись

1
Разработчик 1
Оценка
(473)
Проекты
1138
44%
Арбитраж
51
31% / 33%
Просрочено
500
44%
Свободен
2
Разработчик 2
Оценка
(564)
Проекты
933
47%
Арбитраж
303
59% / 25%
Просрочено
125
13%
Загружен

Информация о проекте

Бюджет
50- USD