Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Интересуют возможности MetaTrader 5? Загляни и узнай!
George Merts
3527
George Merts 2015.03.27 06:00 

Всех приветствую.

Такой вопрос, видимо, в основном разработчикам.

-----------------

Создаю таймсерию дневок, наследника CSeries, выясняю сколько дневок на сервере, и пытаюсь загрузить.

Долго не мог понять - загружается 365 дневок ! Обратите внимание, не дневки за год (их меньше, чем дней в году), а именно 365 !

Наконец нашел причину - в функции Стандартной Библиотеки CSeries::BufferResize стоит оригинальный код:

//--- correcting size for "big" timeframes (1 year limitation)
   int tmp_size=size;
   switch(m_period)
     {
      case PERIOD_D1:
         if(size>365)
            tmp_size=365;
         break;
      case PERIOD_W1:
         if(size>52)
            tmp_size=52;
         break;
      case PERIOD_MN1:
         if(size>12)
            tmp_size=12;
         break;
      default:
         break;
     }

Заметьте ремарку "корректируем размер для больших таймфреймов". То есть, сделано это намерено.

Комментирование оператора switch - приводит к нормальной загрузке всех дневок с сервера и дальнейшей нормальной работе.

Вопрос - с какой целью поставлено это странное ограничение ?

Оно действительно необходимо для работы ?

365 дневок - это крайне немного... А если мне нужны недельки или месяцы ??? Что ж получается, я не должен загружать в таймсерию более 12 месяцев ??? В чем смысл данного ограничения ?

George Merts
3527
George Merts 2015.03.30 06:27  

Поднимаю тему... Видимо, ответить некому ?

А в Сервисдеске на подобные вопросы могут ответить ?

Andrey Khatimlianskii
55848
Andrey Khatimlianskii 2015.03.30 20:25  
Laryx:

Поднимаю тему... Видимо, ответить некому ?

А в Сервисдеске на подобные вопросы могут ответить ?

Да, туда и пишите.
Mikhail Filimonov
5931
Mikhail Filimonov 2015.03.30 21:09  

Все таймсерии строятся и минуток!

Не надо писать в СД 

Но самое прикольное не это!

Если Вы построите свои днёвки и какое-то время не будете обращаться к ним,

то Ваша таймсерия выгрузится из памяти и...

Всё по-новой! 

Andrey Khatimlianskii
55848
Andrey Khatimlianskii 2015.03.30 21:14  
Mikalas:

Все таймсерии строятся и минуток!

Не надо писать в СД 

Ну и что, что из минуток? Больше года смотреть нельзя? ;)
Mikhail Filimonov
5931
Mikhail Filimonov 2015.03.30 21:15  
komposter:
Ну и что, что из минуток? Больше года смотреть нельзя? ;)

Тогда комп будет заниматься только загрузкой и построением таймсерий:)

 

P/S komposter, оказывается не я один такой непонятливый. 

Andrey Khatimlianskii
55848
Andrey Khatimlianskii 2015.03.30 21:20  
Mikalas:

Тогда комп будет заниматься только загрузкой и построением таймсерий:)

 

P/S komposter, оказывается не я один такой непонятливый. 

Сколько чего считать - решать программисту.

ps: еще посмотрим ;) 

Vasiliy Smirnov
12290
Vasiliy Smirnov 2015.03.30 22:11  
Так делаем сами и нет вопросов).
Комбинатор
15775
Комбинатор 2015.03.30 22:22  

Стандартная  библиотека в С++ называется так потому, что соответствует стандарту.

А от некоторых решений в стандартной  библиотеке MQL иногда волосы дыбом.

Vasiliy Smirnov
12290
Vasiliy Smirnov 2015.03.30 22:24  
Стандарту ГОСТ).
Vasiliy Smirnov
12290
Vasiliy Smirnov 2015.03.30 22:24  
Некоторые даже делают вид, что её нет).
/ /12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий