Обсуждение статьи "Третье поколение нейросетей: "Глубокие нейросети"" - страница 9

 

Итак, после долгой отладки и мониторинга работы получилось вот что.

 Доработал скрипт для работы в тестировании стратегий (уходит много времени на тестирование!).

 Вывел из функции OnTimer() все в action(), добавил функцию OnTick(). Добавил опцию timer_enable = true/false и переменную тиков switch_count_ticks. Получилось примерно следующее:

 void OnTimer()
{
   if(timer_enable)
    {
      action();
    }
}
void OnTick()
{
   count_ticks++;
   if(sig == 0  || op == "WAIT")
   {
      CheckForClose(op, magic, sig);
   }

   if(timer_enable) return;
   if(count_ticks >= switch_count_ticks)
   {
      count_ticks=0;
      if(!timer_enable)
      {
         action();
      }
   }
   //action();
}

В тестере выбираем timer_enable = false и выставляем switch_count_ticks = 200. Значение оказалось оптимальным для меня, что протестировать хотя бы неделю в разумное время. Скорость тестера оставляем по-умолчанию.

 Лучшие результаты фиксировались перед открытием сессий и непродолжительное время после. Ночное время было отключено.

 
Вставляйте код правильно, пожалуйста. Я поправил
 
kimkarus:

Итак, после долгой отладки и мониторинга работы получилось вот что.

 Доработал скрипт для работы в тестировании стратегий (уходит много времени на тестирование!).

 Вывел из функции OnTimer() все в action(), добавил функцию OnTick(). Добавил опцию timer_enable = true/false и переменную тиков switch_count_ticks. Получилось примерно следующее:


В тестере выбираем timer_enable = false и выставляем switch_count_ticks = 200. Значение оказалось оптимальным для меня, что протестировать хотя бы неделю в разумное время. Скорость тестера оставляем по-умолчанию.

 Лучшие результаты фиксировались перед открытием сессий и непродолжительное время после. Ночное время было отключено.

Добрый день.

О каком скрипте идет речь?

Может Вы чуть подробней опишите что в скрипте?

Я так понимаю Вы добились запуска скрипта с процессом R в тестере?

Если это так, это интересно.

Распишите пожалуйста не спеша и как можно подробней. Процесс R  исполняется в связке клиент-сервер или один Rterm?

 
Rashid Umarov:
Вставляйте код правильно, пожалуйста. Я поправил
Спасибо. Не сразу сообразил какая это кнопочка.
 
Vladimir Perervenko:

Добрый день.

О каком скрипте идет речь?

Может Вы чуть подробней опишите что в скрипте?

Я так понимаю Вы добились запуска скрипта с процессом R в тестере?

Если это так, это интересно.

Распишите пожалуйста не спеша и как можно подробней. Процесс R  исполняется в связке клиент-сервер или один Rterm?

Да. Работает в связке клиент-сервер.

Как мне максимально просто это объяснить?

Я вывел код из функции OnTimer() в общую функцию для OnTick() и OnTimer(). Единственное, что добавил это пользовательский переключатель режима работы и счетчик тиков.

Все остальные процедуры запуска остались прежними. Чуть позже внедрю функцию в прилагаемый на форуме скрипт и выложу.

ПС: документация MQL4 говорит о том, что в тестере функция OnTimer() просто не работает. 

 
kimkarus:

Да. Работает в связке клиент-сервер.

Как мне максимально просто это объяснить?

Я вывел код из функции OnTimer() в общую функцию для OnTick() и OnTimer(). Единственное, что добавил это пользовательский переключатель режима работы и счетчик тиков.

Все остальные процедуры запуска остались прежними. Чуть позже внедрю функцию в прилагаемый на форуме скрипт и выложу.

ПС: документация MQL4 говорит о том, что в тестере функция OnTimer() просто не работает. 

По OnTimer() понятно.

По связке клиент-сервер какие  то дополнительные движения делали?

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

Удачи

 

Как и обещал, прикрутил здешний SAE к MQL4 для работы в тесторе стратегий.

i_SAE

e_SAE

Заменяем оригиналы, заново компилируем *.ex.

Запускаем тестер, выбираем  e_SAE, ставим параметр Enable timer = false и Count ticks = 120 (для меня это было оптимальным). Старт.

Добавляем скорость, дожидаемся магического сообщения "OPP = CLOSE...." слева, сбавляем скорость. После, добавляем на график i_SAE с параметром Send to server = true. Чуть-чуть добавляем скорости. Ждем завершения результатов.

Мой R был версии 3.2.2. Обязательно, в обоих файлах сравните вашу версию!

Всем удачных опытов! 

e_SAE

 

Добрый день.

Вот это молодец. Спасибо.

Сейчас проверим как работает в тестере и в будущих примерах с R буду включать эту особенность.

В приложении к новой статье по DNRBM приложена переработанная версия этого советника DNSAE с самообучением, но без сервера.

Тестируйте.

Удачи

 

Ошибка

При запуске в RStudio:

 >dt.b<-Balancing(dt)
Error in Balancing(dt) : could not find function "upSample"

Что это за функция? Из какого пакета и где определена?
Спасибо!

 

У меня R x64 3.3.1. После установки не хватало следующих библиотек - svMisc, svSocket, TTR, xts, zoo. Причём на последние три Rstudio не ругалась, удалось выяснить только благодаря DebugView.

Индикатор устанавливается, долго думает и выдаёт зигзаги. При попытке перевода serv в true - вылетает:

[8904] <-1> TPlotEventLoop: terminating
[8904] <-1> TRConsole: destroying

То же самое - при установке советника:

[10964] <-1> TPlotEventLoop: terminating

А терминал говорит "Rterm crashed" 

 В гугле ничего внятного про эту ошибку не нашёл. Куда копать?

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