Задачки для тренировки мозга.

 
Задача 1.
Есть баланс в депозите с историей торговли один год.

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

Знающим решение прошу помолчать 😀 . 
 
Alexander Ivanov:
Задача 1.
Есть баланс в депозите с историей торговли один год.

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

Знающим решение прошу помолчать 😀 . 

пополнения и снятия идут в OrderType()==6

Бежим по истории ордеров суммируя прибыль и убыток

Баланс минус посчитанную сумму будет равно начальный депозит

 
Alexander Ivanov:
Задача 1.
Есть баланс в депозите с историей торговли один год.

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

Знающим решение прошу помолчать 😀 . 

Шикарная задача.

Для этого надо сутра глотать пол литра, мозг будет закипеть и без этой задачки будет само тренироваться.

 
А теперь кто сможет создать код этой задачи.

 
Vladimir Pastushak:

пополнения и снятия идут в OrderType()==6

Бежим по истории ордеров суммируя прибыль и убыток

Баланс минус посчитанную сумму будет равно начальный депозит

Подскажите пожалуйста, где найти информацию по тому что Вы пишете.

Интересны и другие константы OrderType()

Про 6-ю уж точно не написано в документации

 
Vladimir Pastushak:

пополнения и снятия идут в OrderType()==6

Бежим по истории ордеров суммируя прибыль и убыток

Баланс минус посчитанную сумму будет равно начальный депозит

Зачем-же перебирать ордера если уже получен OrderType()==6 Он и есть начальный депозит.
 
Alexey Viktorov:
Зачем-же перебирать ордера если уже получен OrderType()==6 Он и есть начальный депозит.

Лучше исключить все известные

 
Alexander Ivanov:
А теперь кто сможет создать код этой задачи.

Это эпидемия что-ли такая? Только вчера писал на другой форум, только просили определить %% прироста

void OnStart()
  {
//---
   double startBalans = 0;
   double accountProfit = 0;
   int total = OrdersHistoryTotal();
   for(int i = total; i-- >= 0;)
    {
     if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
      {
       int orderType = OrderType();
       if(orderType == 6)
        startBalans += OrderProfit();
       if(orderType < OP_BUYLIMIT)
        accountProfit += (OrderProfit()+OrderCommission()+OrderSwap());
      }
    }
     string text = startBalans > 0 ? StringConcatenate(DoubleToString(accountProfit/startBalans*100, 3), "%") : "Не могу прочесть ВСЮ историю ордеров";
      Print(text);
  }
 
Alexey Viktorov:

Это эпидемия что-ли такая? Только вчера писал на другой форум, только просили определить %% прироста


на синем Карабас-Барабас просил :)) там накинули несколько строк.

Для кого то такие задачки очень интересные и днями голову ломает. 

И выложенные строки кодов будут нужны кому-то еще:))


Будут еще другие интересные задачки - для тренировки мозга :))

 
Alexander Ivanov:

на синем Карабас-Барабас просил :)) там накинули несколько строк.

Для кого то такие задачки очень интересные и днями голову ломает. 

И выложенные строки кодов будут нужны кому-то еще:))


Будут еще другие интересные задачки - для тренировки мозга :))

Было-бы что тренировать, а уж чем, всегда найдём...

Для начала можно, как барак, гантельками с приседаниями.

 
Renat Akhtyamov:

Подскажите пожалуйста, где найти информацию по тому что Вы пишете.

Интересны и другие константы OrderType()

Про 6-ю уж точно не написано в документации

Да, не написано. 7 - кредитные взаимоотношения, чаще всего бонусы. Но дисциплины в отнесении балансовых операций к 6 или 7 нет, зачастую бонус ДЦ записывает в 6.

Причина обращения: