Обсуждение статьи "Нейросети в трейдинге: Оптимизация LSTM для целей прогнозирования многомерных временных рядов (Окончание)" - страница 2

 
Vladimir Sanin #:

Так всё таки его надо и на график повесить, и тест запустить с оптимизацией? Речь ведь сейчас не о Online версии, верно? Непонятно, какой интервал дат брать для Study, любой? Запустил тест с визуализацией, вижу данные меняются слева сверху, но график стоит на месте. Проценты в данных увеличиваются потихоньку одновременно и одинаково, а сам график стоит на месте.


Все правильно. Так и должно быть. 

 

Хотелось бы задать вопрос автору, Research так и должен работать?



 
Andrey Yankin #:

Хотелось бы задать вопрос автору, Research так и должен работать?



Я не автор, но отвечу. Так и должен. Но его нет смысла ставить на график. Его нужно гнать в тестере с оптимизацией (полной) параметра agent. Таким образом формируется файл траекторий, который потом будет использоваться для обучения.

 
Andrey Yankin #:

Все правильно. Так и должно быть. 

Так как именно? Study только на графике? Или на графике и в тестере его гонять одновременно? А в тестере с оптимизацией или в одиночном тесте? А если с оптимизацией, то какой параметр оптимизировать?

 
Andrey Yankin #:

Study просто ставите на график. После установки он читает файлы данных и затем начинает оптимизацию. На графике в левом верхнем углу выводит прогресс и результаты.

На 15 минутном таймфрейме 3000 сделок за пол года... Это получается почти на каждой второй свече открывается сделка и все в Sell. Убедиться в этом можно либо запустив одиночное тестирование с визуализацией либо установить на демо счете. Сделки открываются и на следующей свече закрываются.

А так быль не должно? Как должны сделки открываться? Только в Sell или в Buy тоже должны? Как-то параметры индикаторов на это влияют?

 
По поводу входного параметра MinProfit (по умолчанию =10) в Research. Он отсекает убыточные сессии? Я правильно понимаю, что его можно ставить и минусовой, и от этого хуже не будет?
 

Сталкиваюсь с тем, что при параллельной оптимизации (несколько локальных агентов) файл DACGLSTM.bd  скачет по размеру: один проход записывает ~250 МБ, следующий – уже ~200 МБ, потом снова 250 МБ. Оказалось, в SaveTotalBase() файл открывается так:

int handle = FileOpen(FileName + ".bd",
FILE_WRITE | FILE_BIN | FILE_COMMON); // перезаписывает!

Последний завершившийся агент стирает всё, что сохранили предыдущие.
Чтобы траектории накапливались, предлагаю заменить на:

int handle = FileOpen(FileName + ".bd", FILE_READ | FILE_WRITE | FILE_BIN | FILE_COMMON);
FileSeek(handle, 0, SEEK_END); // дописываем в конец

лимит остаётся через MaxReplayBuffer , так что при сохранении всё лишнее всё-равно отрежется.

Вопросы:

  1. Есть ли подводные камни у такого «append-режима» в MT5?

  2. Может, лучше держать отдельный .bd на каждого агента и потом объединять?

 
Vladimir Sanin #:

Вопросы:

  1. Есть ли подводные камни у такого «append-режима» в MT5?

  2. Может, лучше держать отдельный .bd на каждого агента и потом объединять?

Можно п.2, но стандартным решением является отправка данных с агентов в терминал во фреймах и сохранение в общий единый файл терминалом.

п.1 в любой момент может "накрыться" при попытке одновременной записи несколькими агентами - один запишет, а остальные отвалятся с ошибками.

 

|
Прогнал в Research 1 месяц 5-ти минутки, получилось 300МБ DACGLSTM.bd. Запустил Study. Проценты ошибок пугающие. Или это норм для самого первого прогона?
 
кто-нибудь ещё с этой нейронкой разбирается? tg:@vigit