Обсуждение статьи "Применение метода Монте-Карло в обучении с подкреплением" - страница 2

 
Максим Дмитриевский :
Привет да только

Кстати, в этой версии вы все запрограммировали в матрицу, и, следовательно, я не могу вносить какие-либо изменения в код или легко экспериментировать с чем-либо своим :)))

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

 
FxTrader562:

Кстати, в этой версии вы все запрограммировали в матрицу, и, следовательно, я не могу вносить какие-либо изменения в код или легко экспериментировать с чем-либо своим :)))

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

то, что могу предложить - изменяю в коде сам. Обычно это нетривиальные вещи, основанные на потоке сознания и глубоком изучении теории машинного обучения. К сожалению, гораздо быстрее сделать самому чем объяснять, начиная с азов программирования. Я уже вижу что данный уровень практически недосягаем для многих, хотя это только начало (дело не в бахвальстве а в наблюдении за реакцией людей). Поэтому просто следите за статьями.. и изучайте матрицы :)

 

Удивился, как параллельны наши идеи и разработки! Весьма полезная статься!

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

//+------------------------------------------------------------------+
//| Calculate Tsignal                                                 |
//+------------------------------------------------------------------+
void calcTsignal() {
   Tsignal=0;
   for(int i=0;i<ArraySize(ag1.agent);i++) {
      CopyClose(_Symbol,0,1,ArraySize(ag1.agent[i].inpVector),ag1.agent[i].inpVector);
      ArraySetAsSeries(ag1.agent[i].inpVector,true);
     }
   Tsignal=ag1.getTradeSignal();
  }
 
Aleksey Vyazmikin:

Удивился, как параллельны наши идеи и разработки! Весьма полезная статься!

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

да, для каждого отдельного предиктора один элемент массива

 

Здравствуйте, а где взять этот файл?

//+------------------------------------------------------------------+
//|                                               RL Monte Carlo.mqh |
//|                                 Copyright 2018, Max Dmitrievskiy |
//|                        https://www.mql5.com/ru/users/dmitrievsky |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, Max Dmitrievskiy"
#property link      "https://www.mql5.com/ru/users/dmitrievsky"
#include <Math\Alglib\dataanalysis.mqh>
#include <Math\Alglib\alglib.mqh> 
#include <MT4Orders.mqh>
sinput int      OrderMagic=666;
 
Alexander Fedosov:

Здравствуйте, а где взять этот файл?

здравствуйте, https://www.mql5.com/ru/code/16006

это оригинальная библиотека от fxsaber, забыл упомянуть. В предыдущей статье ссылка присутствует.

MT4Orders
MT4Orders
  • www.mql5.com
Данная библиотека позволяет работать с ордерами в MQL5 (MT5-hedge) точно так же, как в MQL4. Т.е. ордерная языковая система (ОЯС) становится идентичной MQL4. При этом сохраняется возможность параллельно использовать MQL5-ордерную систему. В частности, стандартная MQL5-библиотека будет продолжать полноценно работать. Выбор между ордерными...
 

Вы предикторы отбираете по одному и потом берете 5 лучших.
Ветка форума "Машинное обучение в трейдинге: теория и практика (торговля и не только)" начиналась с примера о том, что предикторы могут иметь решающее значение во взаимосвязи друг с другом. Правда пример был искусственным.

Но в статьях Владимира Перервенко были примеры с выявлением взаимодействующих предикторов на реальных данных. К сожалению их выявление очень вычислительно-затратное дело.

 
elibrarius:

Вы предикторы отбираете по одному и потом берете 5 лучших.
Ветка форума "Машинное обучение в трейдинге: теория и практика (торговля и не только)" начиналась с примера о том, что предикторы могут иметь решающее значение во взаимосвязи друг с другом. Правда пример был искусственным.

Но в статьях Владимира Перервенко были примеры с выявлением взаимодействующих предикторов на реальных данных. К сожалению их выявление очень вычислительно-затратное дело.

А метод выявления имеется групп предикторов, кроме полного перебора?

 
elibrarius:

Вы предикторы отбираете по одному и потом берете 5 лучших.
Ветка форума "Машинное обучение в трейдинге: теория и практика (торговля и не только)" начиналась с примера о том, что предикторы могут иметь решающее значение во взаимосвязи друг с другом. Правда пример был искусственным.

Но в статьях Владимира Перервенко были примеры с выявлением взаимодействующих предикторов на реальных данных. К сожалению их выявление очень вычислительно-затратное дело.

при любой рекомбинации фичей их импортанс редко меняется (почти не меняется). В случае с конструированием новых из исходных да, может быть вычислительно сложным. Здесь простой пример, однако он достаточно эффективный и реально отбирает хорошие признаки

обычно все еще банальнее - чем больше дисперсия тем выше импортанс, все фичи ранжируются по дисперсии. Поэтому этот пример работает хорошо.
 
Aleksey Vyazmikin:

А метод выявления имеется групп предикторов, кроме полного перебора?

Посмотрите ранние статьи Владимира (2-я или 3-я) там в одном из пакетов R с помощью лесов это определялось. Считалось очень долго (в разы дольше обучения основной НС), полный перебор или какая-то генетика - надо смотреть в документции к пакету.
Скорее всего как то оптимизированно.

Причина обращения: