Синусоида - для циклического времени типа времени суток или дня недели. А там изначально (у Aleksey Vyazmikin) шла речь об обычном линейном времени, чтобы попытаться уловить влияние нестационарности в виде распада закономерностей. На мой взгляд, для решения подобных задач должны использоваться простые, легко интерпретируемые модели. Сложные модели - для практических целей, простые - для предварительного анализа.
Правда, есть сомнения в практической пользе от такой возни в данном конкретном случае. Скорее всего, наши закономерности меняются со временем не равномерно, а циклично (но без периодичности).
Это как во фракталах. Они цикличные, но не периодичные. Все верно.
elibrarius #: В общем идея подать линейное время - плохая. Кстати, да: на трейне оно в каждой строке разное и на форварде мы анализируем только 1 строку за раз, т.е. время будет всегда текущим (которого не было в трейне), а номер всегда = 0 (а в трейне от 0 до 5000). Т.е. ни время ни номер строки подавать нельзя. Что тест и показал.
Хотя с номером я еще попробую... ведь нулевой номер будет входить в ту часть дерева, которое < какого-то сплита (например <5000) Т.е. будет использована часть дерева для форварда. А не всё. Что-то я решил время взять для теста, по ошибке.
А вот как сделать чтобы сплит по номеру был на оптимальном для форварда расстоянии?
Попробовал. Модель с 5000 барами истории для обучения, после добавления номера строки, как фичи, для Buy улучшилась, для Sell в чем то хуже, в чем-то лучше. А вот если обучать на 10000 барах, то обе модели становятся сливными. Т.е. главная задача добавления номера строки для автоматического определения нужной длины истории, не выполнилась.
Пока остается только вручную оптимизировать/подбирать длину истории для обучения.
Судя по всему, основная идея использования кастомных трейдерских метрик сводится к тому, что они используются на этапе выбора модели. На этапе обучения же используются стандартные метрики. Наверное, это что-то вроде того что писал ранее Maxim Dmitrievsky по этому поводу.
In the world of machine learning, models are trained by minimizing some variation of a loss function. For example, when we try to predict the median house value of a specific zip code, we are dealing with a regression type problem and prime suspects for the loss function, to be used to train our model, are the Mean Squared Error (MSE), Mean...
Судя по всему, основная идея использования кастомных трейдерских метрик сводится к тому, что они используются на этапе выбора модели.
Хотя, встречаются идеи использования кастомных метрик уже на этапе обучения. При этом они не совсем похожи на трейдерские, а скорее являются подправленными вариантами стандартных для МО.
Возможно, трейдерские метрики приводят к плохой обусловленности. Это напоминает, например, использование кроссэнтропии вместо исходно интересующей частоты ошибки (говорят про плохую чувствительность последней).
Нужно как-то уменьшать теоретический и практический разрывы между обучением в МО и оптимизациейв тестере.
Хотя, встречаются идеи использования кастомных метрик уже на этапе обучения. При этом они не совсем похожи на трейдерские, а скорее являются подправленными вариантами стандартных для МО.
Возможно, трейдерские метрики приводят к плохой обусловленности. Это напоминает, например, использование кроссэнтропии вместо исходно интересующей частоты ошибки (говорят про плохую чувствительность последней).
Доверяй, но проверяй.
Aleksey Nikolayev #: Нужно как-то уменьшать теоретический и практический разрывы между обучением в МО и оптимизациейв тестере.
Когда делал модели с ТП/СЛ точность была абсолютной. И в модели и в тестере сделки открывались на тех же барах и закрывались с теми же ТП/СЛ. Вот только доходность была около 0. Тестировал по ценам открытия. Но с ними проблема... в баре используется минимальный спред.
Т.е. часть ордеров и ТП/СЛ в тестере сработают по цене
ASK HIGH = BID HIGH + минимальный спред.
И не сработают те, которые сработали бы при реальной торговле
ASK HIGH (реальный) = BID HIGH + Спред расчитанный по максимальному ASK
Я уже пару раз предлагал разработчикам сделать сохранение в барах не минимального спреда, а
Spread = ASK HIGH - BID HIGH.
С таким спредом тестирование по ценам открытия стало бы ближе к тестированию по реальным тикам.
Например мин спред на баре = 0,00002, а Spread = ASK HIGH - BID HIGH = 0,00020. Т.е. в реальности цена ASK была выше тестерной на 0,00018. Где могли произойти открытия/закрытия сделок.
Но реакции от MetaQuotes нет ((
ПС: Для большей точности еще и спред для расчета Low Ask надо.
И не будет, поскольку реальный спред портит рекламную картинку. Максимум, предложат использовать кастомные символы.
Реклама должна говорить, что наш тестер самый точный, по сравнению с другими платформами.
Это скорее привлечет разработчиков и пользователей. Чем первые же тесты и их сравнение покажет, что тестирование в MT5 по ценам открытия не соответствует действительности.
Реклама должна говорить, что наш тестер самый точный, по сравнению с другими платформами.
Это скорее привлечет разработчиков и пользователей. Чем первые же тесты и их сравнение покажет, что тестирование в MT5 по ценам открытия не соответствует действительности.
Очень жаль вообще то. Моделирование спреда по времени сделало бы тестирование ближе к реалу.
Под рекламой имею в виду данные о символах на страницах ДЦ. Именно ДЦ, а не разработчики являются клиентами (приносят деньги) для метаквот. Бесплатность для конечного пользователя имеет свои недостатки.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Синусоида - для циклического времени типа времени суток или дня недели. А там изначально (у Aleksey Vyazmikin) шла речь об обычном линейном времени, чтобы попытаться уловить влияние нестационарности в виде распада закономерностей. На мой взгляд, для решения подобных задач должны использоваться простые, легко интерпретируемые модели. Сложные модели - для практических целей, простые - для предварительного анализа.
Правда, есть сомнения в практической пользе от такой возни в данном конкретном случае. Скорее всего, наши закономерности меняются со временем не равномерно, а циклично (но без периодичности).
В общем идея подать линейное время - плохая. Кстати, да: на трейне оно в каждой строке разное и на форварде мы анализируем только 1 строку за раз, т.е. время будет всегда текущим (которого не было в трейне), а номер всегда = 0 (а в трейне от 0 до 5000). Т.е. ни время ни номер строки подавать нельзя. Что тест и показал.
Хотя с номером я еще попробую... ведь нулевой номер будет входить в ту часть дерева, которое < какого-то сплита (например <5000) Т.е. будет использована часть дерева для форварда. А не всё. Что-то я решил время взять для теста, по ошибке.
А вот как сделать чтобы сплит по номеру был на оптимальном для форварда расстоянии?
Попробовал. Модель с 5000 барами истории для обучения, после добавления номера строки, как фичи, для Buy улучшилась, для Sell в чем то хуже, в чем-то лучше.
А вот если обучать на 10000 барах, то обе модели становятся сливными. Т.е. главная задача добавления номера строки для автоматического определения нужной длины истории, не выполнилась.
Пока остается только вручную оптимизировать/подбирать длину истории для обучения.
Судя по всему, основная идея использования кастомных трейдерских метрик сводится к тому, что они используются на этапе выбора модели. На этапе обучения же используются стандартные метрики. Наверное, это что-то вроде того что писал ранее Maxim Dmitrievsky по этому поводу.
Небольшая статья в качестве иллюстрации подхода.
Судя по всему, основная идея использования кастомных трейдерских метрик сводится к тому, что они используются на этапе выбора модели.
Хотя, встречаются идеи использования кастомных метрик уже на этапе обучения. При этом они не совсем похожи на трейдерские, а скорее являются подправленными вариантами стандартных для МО.
Возможно, трейдерские метрики приводят к плохой обусловленности. Это напоминает, например, использование кроссэнтропии вместо исходно интересующей частоты ошибки (говорят про плохую чувствительность последней).
Нужно как-то уменьшать теоретический и практический разрывы между обучением в МО и оптимизацией в тестере.
Хотя, встречаются идеи использования кастомных метрик уже на этапе обучения. При этом они не совсем похожи на трейдерские, а скорее являются подправленными вариантами стандартных для МО.
Возможно, трейдерские метрики приводят к плохой обусловленности. Это напоминает, например, использование кроссэнтропии вместо исходно интересующей частоты ошибки (говорят про плохую чувствительность последней).
Нужно как-то уменьшать теоретический и практический разрывы между обучением в МО и оптимизацией в тестере.
Когда делал модели с ТП/СЛ точность была абсолютной. И в модели и в тестере сделки открывались на тех же барах и закрывались с теми же ТП/СЛ. Вот только доходность была около 0.
Тестировал по ценам открытия. Но с ними проблема... в баре используется минимальный спред.
Т.е. часть ордеров и ТП/СЛ в тестере сработают по цене
ASK HIGH = BID HIGH + минимальный спред.
И не сработают те, которые сработали бы при реальной торговле
ASK HIGH (реальный) = BID HIGH + Спред расчитанный по максимальному ASK
Я уже пару раз предлагал разработчикам сделать сохранение в барах не минимального спреда, а
Spread = ASK HIGH - BID HIGH.
С таким спредом тестирование по ценам открытия стало бы ближе к тестированию по реальным тикам.
Например мин спред на баре = 0,00002, а Spread = ASK HIGH - BID HIGH = 0,00020. Т.е. в реальности цена ASK была выше тестерной на 0,00018. Где могли произойти открытия/закрытия сделок.
Но реакции от MetaQuotes нет ((
ПС: Для большей точности еще и спред для расчета Low Ask надо.Но реакции от MetaQuotes нет ((
И не будет, поскольку реальный спред портит рекламную картинку. Максимум, предложат использовать кастомные символы.
И не будет, поскольку реальный спред портит рекламную картинку. Максимум, предложат использовать кастомные символы.
Очень жаль вообще то. Моделирование спреда по времени сделало бы тестирование ближе к реалу.
И не будет, поскольку реальный спред портит рекламную картинку. Максимум, предложат использовать кастомные символы.
Реклама должна говорить, что наш тестер самый точный, по сравнению с другими платформами.
Это скорее привлечет разработчиков и пользователей. Чем первые же тесты и их сравнение покажет, что тестирование в MT5 по ценам открытия не соответствует действительности.
Реклама должна говорить, что наш тестер самый точный, по сравнению с другими платформами.
Это скорее привлечет разработчиков и пользователей. Чем первые же тесты и их сравнение покажет, что тестирование в MT5 по ценам открытия не соответствует действительности.
Очень жаль вообще то. Моделирование спреда по времени сделало бы тестирование ближе к реалу.
Под рекламой имею в виду данные о символах на страницах ДЦ. Именно ДЦ, а не разработчики являются клиентами (приносят деньги) для метаквот. Бесплатность для конечного пользователя имеет свои недостатки.