Выпущена бета-версия MetaTrader 4 Build 529 с новым компилятором - страница 41

 
St0nE:

Я правильно понял, что сейчас такая вещь в 4-ке уже не проканает?


она и раньше не канала .....
 
VOLDEMAR:

она и раньше не канала .....
А как же у меня это сейчас на реале работает, уже года два наверное? :-)
 
  bool isNewBar=false;

  if (ExpertBars!=Bars) {
    ExpertBars=Bars;   
    isNewBar=true;     
  }

Bars Возвращает количество баров в истории по соответствующему символу периоду. Существует 2 варианта функции.

Как известно в мт 4 сейчас Bars может быть 15000 а через час 16000,

Эта функция самая бесполезная, и с вероятностью 100 % каждый раз дает бред ....

 
Если Вы определяете появление нового бара то это делается немного по другому ....
 
alexvd:

Можете описать установленные в тестере стратегий настройки, входные параметры, модель генерации тиков... + приложить тестируемого эксперта.

Все это заявкой в сервисдеск.

Кстати, как замеряете время тестирования?


Время мерит GetTickCount.

На счет сервисдеск: хотелось-бы дождаться исправления iBands (пока используется так: bb0_ma= iBands(NULL,TF_0, Per_BB0, (int)Dev_BB0, 0, PRICE_CLOSE, MODE_MAIN, 0);)

 
zigan:


Время мерит GetTickCount.

На счет сервисдеск: хотелось-бы дождаться исправления iBands (пока используется так: bb0_ma= iBands(NULL,TF_0, Per_BB0, (int)Dev_BB0, 0, PRICE_CLOSE, MODE_MAIN, 0);)


Во всех версиях терминала параметр отклонения был целым числом, я с этим сталкивался ...

Для решения своих задач использовал всегда индикатор Bands вызываемый через iCustom () ....

У пользовательского индикатора параметр отклонения можно было задавать дробным числом ...

 
VOLDEMAR:
Если Вы определяете появление нового бара то это делается немного по другому ....

Да, так я определяю новый бар и сейчас, на 509-м это работает стабильно.

Сегодня обновился на 537 и полезла ошибка при работе с массивом. Открыл доку новую, а там да, два варианта использования Bars.

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

Спасибо..

 
VOLDEMAR:


Во всех версиях терминала параметр отклонения был целым числом, я с этим сталкивался ...

Для решения своих задач использовал всегда индикатор Bands вызываемый через iCustom () ....

У пользовательского индикатора параметр отклонения можно было задавать дробным числом ...


Вот это новость! Так привык к пятерошной double:

int  iBands(
   string              symbol,            // имя символа
   ENUM_TIMEFRAMES     period,            // период
   int                 bands_period,      // период для расчета средней линии
   int                 bands_shift,       // смещение индикатора по горизонтали
   double              deviation,         // кол-во стандартных отклонений
   ENUM_APPLIED_PRICE  applied_price      // тип цены или handle
   );

Даже и мысли не возникало, что может быть целое... там-же диапазон от 1 до 3. И какой смысл в целочисленном представлении? Только что-бы быстрей работала?

 
St0nE:

Да, так я определяю новый бар и сейчас, на 509-м это работает стабильно.

Сегодня обновился на 537 и полезла ошибка при работе с массивом. Открыл доку новую, а там да, два варианта использования Bars.

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

Спасибо..


В документации пока что неверное описание Bars, там 2 варианта представления Bars как функции с 5-ки, но в реальности это не так.

Bars - это добрая старая переменная общего количества отображаемых баров на текущем графике, будьте бдительны и аккуратны.

 
ALXIMIKS:


В документации пока что неверное описание Bars, там 2 варианта представления Bars как функции с 5-ки, но в реальности это не так.

Bars - это добрая старая переменная общего количества отображаемых баров на текущем графике, будьте бдительны и аккуратны.


Ок.. Но сейчас при компиляции ничего не выдается, а при начале прогона идет ошибка

2013.11.12 13:55:25.445 2008.01.02 15:47 array out of range in 'Procedure.mq4' (331,25)

А там как раз Bars и используется...