Новая версия платформы MetaTrader 5 build 1930: Плавающие окна графиков и .Net библиотеки в MQL5 - страница 115

 
Alexey Viktorov:

На мой взгляд логичней писать так

К сожалению, чтобы локализовать баг, пришлось (с трудом) написать такой бредовый пример. В нем нет понятия, как лучше.

 

Похоже, что никто больше кастомными символами не пользуется, потому что как с этим работать:

до кнопки "refresh (обновить чарт)"

После:

Разработчики не могут "воспроизвести"

 
Maxim Dmitrievsky:

Похоже, что никто больше кастомными символами не пользуется, потому что как с этим работать

Только ими и пользуюсь, но в Тестере.

 
Slava:

Для начала добавьте в Ваш индикатор свойство

#property tester_everytick_calculate

В индикаторе заблокирован расчёт на каждом тике:

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,const int prev_calculated,const datetime &time[],
                const double &open[],const double &high[],const double &low[],const double &close[],
                const long &tick_volume[],const long &volume[],const int &spread[])
  {
//--- Предотвращение расчёта на каждом тике
   if(prev_calculated==rates_total)
      return(rates_total);

...

//--- Вернём размер массива данных
   return(rates_total);
  }

//---

Попробовал с этим свойством и результаты остались такие же, как показывал выше.

 
fxsaber:

Только ими и пользуюсь, но в Тестере.

боюсь использовать в тестере, потому что на реале вижу такое

ну в тестере принудительно история подкачивается, все должно быть норм

 
Обратил внимание на запись в логе Тестера
FN      0       12:14:26.465    Core 1  connecting to 127.0.0.1:3008


Посмотрел папку tester, а там такое

Agent-127.0.0.1-3000
Agent-127.0.0.1-3001
Agent-127.0.0.1-3002
Agent-127.0.0.1-3003
Agent-127.0.0.1-3004
Agent-127.0.0.1-3005
Agent-127.0.0.1-3006
Agent-127.0.0.1-3007
Agent-127.0.0.1-3008
Agent-127.0.0.1-3009


Но на самом деле их на два меньше


Почему такое происходит?

 
Anatoli Kazharski:

Самый быстрый и простой способ воспроизвести:

  1. Интервал 2017.01.01 - 2017.01.04.
  2. Прописываете фейковый входной параметр.

input int Range = 0; // 1..1000

Задаете только его оптимизировать 1 - 1000 с шагом 1. И запускаете медленную Оптимизацию.


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

 
Alexey Navoykov:

1. typename не возвращает полиморфный тип. А речь речь шла именно об этом. 

2. Да ну, где такое сказано?  Про хэш-код ещё понятно, т.к. там коллизии могут быть.  А с именем то какие проблемы.

1. О каком полиморфном типе речь? typeid возвращает type_info, если нужно получить динамический тип из указателя на базовый класс, то static_cast/dynamic_cast. В мкл это доступно, а имя типа можно получить через typename.

2. Дело в том, что стандарт не ограничивает реализаторов type_info. В итоге получается так https://en.cppreference.com/w/cpp/types/type_info/name

const char* name() const;





Returns an implementation defined null-terminated character string containing the name of the type. No guarantees are given; in particular, the returned string can be identical for several types and change between invocations of the same program.

думаю, type_info научли генерить хеши именно из-за кривизны name(), для формирования своей таблицы с парами хеш-имя.

ЗЫ: наверное не нравится то, что typename не возвращает имя динамического типа

Q q;
B *b = &q;
Alert( typename(*b) );  // alert B
вообще на баг похоже. Но я струдом себе представляю, как это примерять, если только для отладки ...
 
fxsaber:

Самый быстрый и простой способ воспроизвести:

  1. Интервал 2017.01.01 - 2017.01.04.
  2. Прописываете фейковый входной параметр.

Задаете только его оптимизировать 1 - 1000 с шагом 1. И запускаете медленную Оптимизацию.


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

Спасибо. Осталось разобраться, почему так получается.
 
Можно ли добавить в поиск по MQL5 папкам (поиск из редактора MetaEditor) дополнительный столбец: ++ Дата последнего изменения

или ++ Дата создания?

дополнительный столбец

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