Обсуждение статьи "Эксперименты с нейросетями (Часть 2): Хитрая оптимизация нейросети" - страница 2

 

Здравствуйте, Роман,

Это отличная статья, и я пытаюсь досконально разобраться в ней, чтобы включить ее в свой существующий советник. Я надеюсь, что вы будете выпускать новые статьи на эту тему.

Во-первых, в вашем Angle 4-4-4-3.mq5 этот тест проверяется на false

if (FileIsExist(OptimizationFileName)==false){
тогда как в оригинальном советнике 4-4-4-3 он проверяется на true

if (FileIsExist(OptimizationFileName)==true){

Более того, я полный новичок в области DNN; это мое первое знакомство с нейронными сетями.

Я планирую использовать несколько стратегий для оценки условий покупки. Правильно ли я понимаю, что для каждой стратегии может потребоваться отдельная DNN или DNN может быть расширена, чтобы обеспечить оценку всех стратегий одновременно? Размышляя об этом, кажется, что функция Risk Reward необходима для правильной оценки лучшей стратегии для определенных условий, например, трендовых или плоских рынков. То, что я рассматриваю, приведет к значительно большей и более сложной сети?

Я также разработал сложную функцию StopLoss, для которой я рассматриваю возможность создания второго отдельного экземпляра DNN, чтобы максимизировать прибыль. Является ли это лучшим подходом по сравнению с включением входов в одну большую DNN.

Любые ваши комментарии будут очень признательны.


CapeCoddah

 
CapeCoddah нейронными сетями.

Я планирую использовать несколько стратегий для оценки условий покупки. Правильно ли я понимаю, что для каждой стратегии может потребоваться отдельная DNN или DNN может быть расширена, чтобы обеспечить оценку всех стратегий одновременно? Размышляя об этом, кажется, что функция Risk Reward необходима для правильной оценки наилучшей стратегии для определенных условий, например, трендовых или плоских рынков. То, что я рассматриваю, приведет к значительно большей и более сложной сети?

Я также разработал сложную функцию StopLoss, для которой я рассматриваю возможность создания второго отдельного экземпляра DNN, чтобы максимизировать прибыль. Является ли это лучшим подходом по сравнению с включением входов в одну большую DNN.

Любые ваши комментарии будут очень признательны.


CapeCoddah

Здравствуйте. Вы можете использовать сеть 8-4-3 или 16-4-3 для расширения вашей стратегии. То есть вы можете добавлять условия. Для этого необходимо изменить файлы. Сеть имеет 3 выходных значения Sell, Buy и close. Я думаю, что нет необходимости разделять покупку и продажу.

 
Подскажите пожалуйста, можете подробнее описать стратегию  Original EA 4-4-4-3 в чем заключается?
Столкнулся с ее доработкой выглядит многообещающе. 
 
Отдел аналитики и трейдинга #:
Подскажите пожалуйста, можете подробнее описать стратегию  Original EA 4-4-4-3 в чем заключается?
Столкнулся с ее доработкой выглядит многообещающе. 

Добрый день. Стратегия какой процент от размера свечи составляет каждая из ее частей. Это стратегия автора библиотеки. Подробнее изучите тут https://www.mql5.com/ru/articles/5486

Пишем глубокую нейронную сеть с нуля на языке MQL
Пишем глубокую нейронную сеть с нуля на языке MQL
  • www.mql5.com
Статья познакомит вас с глубокой нейронной сетью, написанной на MQL, и с различными функциями активации этой сети, такими как функция гиперболического тангенса для скрытых слоев и Softmax для выходного слоя. Мы будем изучать нейросеть постепенно, двигаясь от первого шага до последнего, и вместе создадим глубокую нейронную сеть.
 
Подскажите, вот пытаюсь прогонять в тестере Original но он почему открывает только первую сделку и не закрывает ее.

Использую каждый тик на основе реальных тиков, настройки такие же как в приложенных тут файлах. 

Как это исправить и сделать нормальный тест?

На демосчете например сделки открываются и закрываются нормально, но в тестере с этими же настройками робот не торгует по сути, открывает первую сделку и держит до конца 3 года пока тест не закончится
 
Отдел аналитики и трейдинга #:
Подскажите, вот пытаюсь прогонять в тестере Original но он почему открывает только первую сделку и не закрывает ее.

Использую каждый тик на основе реальных тиков, настройки такие же как в приложенных тут файлах. 

Как это исправить и сделать нормальный тест?

На демосчете например сделки открываются и закрываются нормально, но в тестере с этими же настройками робот не торгует по сути, открывает первую сделку и держит до конца 3 года пока тест не закончится

Добрый день. Проверил, у меня все работает.

 

Привет, Роман,

Я начал с вашего кода, Angle 4443, но вскоре понял, что есть вопиющая проблема с вашим предположением о случайном тестировании, а именно случайное тестирование требует огромного набора данных, а именно от 10 до 55-й мощности для полной оптимизации результатов. Набор данных из 10 000 элементов имеет лишь отдаленную возможность выявить достойное решение для каждого из 55 нейронов. Но при генетической оптимизации использование лучших результатов в сочетании со случайными мутациями должно обеспечить более быстрое выявление хороших результатов, хотя, возможно, и не самых оптимальных. Поэтому я вернулся к исходной работе, выбрал сеть 4453 и попробовал оптимизировать с помощью EURUSD H4 с временным периодом с 2021 01 01 по 2023 01 01. Я получил интересные результаты, используя свой старый 4-ядерный процессор.Сначала для полного запуска потребовалось 75000 итераций и более 200 часов для завершения. Но я смог определить хорошие решения всего через 4-8 часов, общий капитал от 2700 до 2900, основанный на начальном капитале в 1000. В последнем запуске, который длился почти 2 дня, капитал достиг 3336. Я продублировал ваш тестовый период и добился нового эквити в 2788, хотя ваш тестовый период был в пределах моего периода оптимизации. Я использовал оригинальные расчеты, так как они казались наиболее эффективными. Однако короткая прибыль достигла 68% выигрышей, в то время как длинные сделки имели только около 45%. В последнем длинном прогоне было 40 500 оптимизаций, 37 400 сделок были безубыточными или дали прибыль, в то время как только 33150 сделок дали убыток.

Я не рассматривал аспект управления капиталом в оригинальной системе. Когда я попробовал вашу систему Angle на H4, результаты были ужасными. Похоже, что функция стоп-лосса не сработала, возможно, из-за другого таймфрейма. Почти все прогоны закончились почти с убытками.

Теперь я планирую провести оптимизацию чувствительности, чтобы посмотреть, как изменение количества нейронов в каждом слое влияет на оптимизацию, а также посмотреть, как трехслойная ДНН сравнится с четырехслойной.


CapeCoddah

 

А можете подсказать какие настройки использовали когда тестировали Original 4-4-4-3, с настройками например который скачал отсюда стандартный в тестере вообще не открывает сделки, хотя на обычном счете в реальном времени все ок.

уже на двух терминалах разных брокеров проверил....

 
Отдел аналитики и трейдинга #:

А можете подсказать какие настройки использовали когда тестировали Original 4-4-4-3, с настройками например который скачал отсюда стандартный в тестере вообще не открывает сделки, хотя на обычном счете в реальном времени все ок.

уже на двух терминалах разных брокеров проверил....

Добрый день. Отключите параметр Optimization. Причитайте 3 часть, там все изложил.

 

Я правильно понял, что веса устанавливаются рандомно и их значение запоминается?

Почему не используете фрейма для передачи значений весов и их сохранения?