Хорошо было бы настройки которые наоборот есть смысл оптимизировать тоже как то помечать, например oinput, в оптимизаторе такая настройка имела бы жирный шрифт или зеленый, мы как разработчики могли бы так сказать юзеру что настройку можно/имеет смысл оптимизировать, или настройка имеет большое влияние на результат работы оптимизации эксперта.
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
Баг МТ5 (build 2345) долго не мог понять почему профайлер запускается, отрабатывает, но результаты ни где не отображаются. Оказывается, профайлер для проекта скрипта отображает результат только в случаи выключенной оптимизации, если оптимизация включена - все запустится, отработает, но без какого-либо результата.
Sergey Dzyublik: Баг МТ5 (build 2345) долго не мог понять почему профайлер запускается, отрабатывает, но результаты ни где не отображаются. Оказывается, профайлер для проекта скрипта отображает результат только в случаи выключенной оптимизации, если оптимизация включена - все запустится, отработает, но без какого-либо результата.
Профайлер отрабатывает не для всех индикаторов (без оптимизации). Дважды написал об этом на форуме, скинул в ЛС разработчикам код - нет ответа.
Поработал с профайлером в МТ5 (build 2345), грубо говоря, интересовало почему два алгоритма, дающих в конечном итоге один и тот же результат, выполняются с разной скоростью, просадка в 1.7 раза в режиме оптимизации.
#include <stl_vector.mqh>
// TickCounts: 850
vector<int>::move test_vector_move_return_assign_by_index(int n){
vector<int> v(n);
for(int i = 0; i < n; i++){
v[i].UNREF = i;
}
return v;
};
// TickCounts: 1450
vector<int>::move test_vector_move_return_push_back(int n){
vector<int> v;
// lazy implementation
v.reserve(n);
for(int i = 0; i < n; i++){
v.push_back(i);
}
return v;
};
voidOnStart()
{
for(int i = 0; i < 20000; i++){
vector<int> v_int_move = test_vector_move_return_assign_by_index(1000);
}
for(int i = 0; i < 20000; i++){
vector<int> v_int_move = test_vector_move_return_push_back(1000);
}
}
В результате был получен практический опыт работы с профайлером МТ5 и обнаружено ряд дефектов в его работе. Так как не понятно, интересует ли разработчиков эта информация, а тратить часы собственно времени для локализации багов ни какого желания нет, то будет предоставлена лишь краткая информация по обнаруженным проблемам:
1) Нет возможности сравнивать скорости разных алгоритмов. Так алгоритм, который в три раза быстрее остальных, как с включенной оптимизацией так и без, в профайлере может оказаться самым медленным. Видимо идет какой-то оверхед со стороны профайлера, который влияет на время выполнение алгоритмов, в данном случаи сравнивать скорости выполнения алгоритмов в профайлере не имеет ни какого смысла.
2) Некорректное значение Count в сплывающих подсказках гистограмм на экране. Профайлер пишет, что функция запускалась 80К раз, а не 20К как ожидалось, аналогично внутри функции для разных строк идет превышение Count в разы, для одних строк в три раза, для других в два.
3) Некорректное значение Time в сплывающих подсказках гистограмм на экране. Имеются случаи, когда профайлер показывает, что алгоритм заходил в условие 99.90% раз по времени, а в действительности оказывается, что только один раз из 20К проходов.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
1. при простом запросе данных типа CopyRates
2. при создании хэндла индикатора на соответствующем символе-периоде
Спасибо.
А MQL_MEMORY_USED не подходит?
Странные значения показывает.
Странные значения показывает.
Хорошо было бы настройки которые наоборот есть смысл оптимизировать тоже как то помечать, например oinput, в оптимизаторе такая настройка имела бы жирный шрифт или зеленый, мы как разработчики могли бы так сказать юзеру что настройку можно/имеет смысл оптимизировать, или настройка имеет большое влияние на результат работы оптимизации эксперта.
Странные значения показывает.
Уважаемые разработчики!
На ФОРТС функция OrderCalcMargin(), при подсчете маржи рыночного ордера
выдает не правильное значение.
Результат
Но если совершить сделку, то резервируется приблизительно как начальная маржа
Исправьте, пожалуйста.
Оказывается, профайлер для проекта скрипта отображает результат только в случаи выключенной оптимизации, если оптимизация включена - все запустится, отработает, но без какого-либо результата.
Баг МТ5 (build 2345) долго не мог понять почему профайлер запускается, отрабатывает, но результаты ни где не отображаются.
Оказывается, профайлер для проекта скрипта отображает результат только в случаи выключенной оптимизации, если оптимизация включена - все запустится, отработает, но без какого-либо результата.
Профайлер отрабатывает не для всех индикаторов (без оптимизации). Дважды написал об этом на форуме, скинул в ЛС разработчикам код - нет ответа.
грубо говоря, интересовало почему два алгоритма, дающих в конечном итоге один и тот же результат, выполняются с разной скоростью, просадка в 1.7 раза в режиме оптимизации.
В результате был получен практический опыт работы с профайлером МТ5 и обнаружено ряд дефектов в его работе.
Так как не понятно, интересует ли разработчиков эта информация, а тратить часы собственно времени для локализации багов ни какого желания нет, то будет предоставлена лишь краткая информация по обнаруженным проблемам:
1) Нет возможности сравнивать скорости разных алгоритмов.
Так алгоритм, который в три раза быстрее остальных, как с включенной оптимизацией так и без, в профайлере может оказаться самым медленным.
Видимо идет какой-то оверхед со стороны профайлера, который влияет на время выполнение алгоритмов, в данном случаи сравнивать скорости выполнения алгоритмов в профайлере не имеет ни какого смысла.
2) Некорректное значение Count в сплывающих подсказках гистограмм на экране.
Профайлер пишет, что функция запускалась 80К раз, а не 20К как ожидалось, аналогично внутри функции для разных строк идет превышение Count в разы, для одних строк в три раза, для других в два.
3) Некорректное значение Time в сплывающих подсказках гистограмм на экране.
Имеются случаи, когда профайлер показывает, что алгоритм заходил в условие 99.90% раз по времени, а в действительности оказывается, что только один раз из 20К проходов.