Ошибки, баги, вопросы - страница 2317
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
string - массив, а массивы, переменные типа структур и объекты классов всегда передаются по ссылке.
В примере строка передается без ссылки.
В примере строка передается без ссылки.
Здравствуйте уважаемые разрабы МТ, хочу сообщить об ошибке в алгоритме вычисления коэффициента Шарпа. В приложении отчет ув. господина Aleksey Vyazmikin где SR=0.29 однако по моим расчетам он равен примерно 3.7-3.8(в зависимости учитывать ли нулевые PnL) предполагаю что ошибка в отсутствии масштабирующего коэффициента при среднеквадратичном отклонении (sqrt(length)), так как средний ретурн не зависит от длинны ряда, он сходится, а СКО растет как sqrt(length)
C++
double SharpRatio(vector<double> pnl)
{
double avret = 0;
for (int i = 0; i < pnl.size(); ++i) avret += pnl[i];
avret /= pnl.size();
double var = 0;
for (int i = 0; i < pnl.size(); ++i) var += pow(pnl[i] - avret, 2);
var = sqrt(var / pnl.size()) / sqrt(pnl.size());
return avret / var;
}
Здравствуйте.
В MT5 Version: 5.00 build 1932 x64 от 29.10.2018 течет память при работе с динамическими массивами.
ArrayFree в данном случае не помогает, а вот ArrayResize(t, 0) все чистит.
В режиме оптимизации "Математические вычисления" агентам выдается по 1 заданию, как локальным так и удаленным, что приводит к не быстрой работе - издержки на ожидание, я полагаю.
Билд 1940.
Добавлено: После ускорения вычисления в коде стало выдаваться по 2-3 задания, что конечно уже хорошо.Здравствуйте уважаемые разрабы МТ, хочу сообщить об ошибке в алгоритме вычисления коэффициента Шарпа. В приложении отчет ув. господина Aleksey Vyazmikin где SR=0.29 однако по моим расчетам он равен примерно 3.7-3.8(в зависимости учитывать ли нулевые PnL) предполагаю что ошибка в отсутствии масштабирующего коэффициента при среднеквадратичном отклонении (sqrt(length)), так как средний ретурн не зависит от длинны ряда, он сходится, а СКО растет как sqrt(length)
C++
double SharpRatio(vector<double> pnl)
{
double avret = 0;
for (int i = 0; i < pnl.size(); ++i) avret += pnl[i];
avret /= pnl.size();
double var = 0;
for (int i = 0; i < pnl.size(); ++i) var += pow(pnl[i] - avret, 2);
var = sqrt(var / pnl.size()) / sqrt(pnl.size());
return avret / var;
}
1.Какие данные содержатся в массиве pnl? Как они вычислены и с чем вы сравниваете свой вариант вычисления коэффициента Шарпа?
2. Что означает данная запись? Выделение ваше
var = sqrt(var / pnl.size()) / sqrt(pnl.size());
Почему при оптимизации не всегда происходит округление(нормализация) корректно, я понимаю, что это возможно тот же эффект что и при принте даблов, но для глаза пользователя это не приятно в окне оптимизатора - информация сложно воспринимается визуально.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Особенности языка mql5, тонкости и приёмы работы
fxsaber, 2018.11.05 13:32
DEAL_ENTRY_INOUT-сделки меняют мэджик, комментарий и время открытия текущей позиции.POSITION_REASON при этом не меняется. Например, открыл советником BUY-позу на 1 лот и мэджиком 5, а потом руками сделал SELL 1.2 лота. В итоге имеем SELL-позицию на 0.2 лота, мэджик сброшен в ноль, но POSITION_REASON остается POSITION_REASON_EXPERT, вместо POSITION_REASON_CLIENT.
Просьба исправить эту ошибку.
Здравствуйте уважаемые разрабы МТ, хочу сообщить об ошибке в алгоритме вычисления коэффициента Шарпа. В приложении отчет ув. господина Aleksey Vyazmikin где SR=0.29 однако по моим расчетам он равен примерно 3.7-3.8(в зависимости учитывать ли нулевые PnL)
Ответил там, где этот вопрос возник изначально
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Машинное обучение в трейдинге: теория и практика (торговля и не только)
Rashid Umarov, 2018.11.05 15:15
Вообще, желательно понимать смысл параметров, прежде чем принимать их на веру. Получив такое значение вы должны были задуматься и начать искать ошибку в своих расчетах.
Так как коэффициент Шарпа больше 3 говорит том, что перед нами 100% зарабатывающая стратегия, и вероятность получить прибыль на ней больше чем 99.99 %. Если распределение PnL является нормальным, конечно.