Как ускорить оптимизация советника в мт5 - страница 5

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Grigori.S.B
176
Grigori.S.B  
Алексей Тарабанов:

ЕрНИИММ? 

Помнится там практику проходил в далеком 1982г

Алексей Тарабанов
9476
Алексей Тарабанов  
Dmitry Fedoseev:

Хоть один примерчик покажите.

Дело в том, что любая структура - строка, в которой упакованы элементы этой структуры. 

Допустим, Ваша задача - формирование выборки из базы данных по совпадению нескольких (N) полей. 

При адекватном проектировании структуры базы данных под набор конкретных задач никто не мешает заменить совокупность N операций сравнения значений полей и N операций преобразования типов данных из строки в нужный формат на ОДНУ или ДВЕ операции со строкой. 

Я это делал в 1993 году в СУБД Clarion при разработке базы данных о коммерческих банках России по заказу КБ "Новый Символ". Банков тогда было примерно 4500, а техника была слабенькая, но алгоритм компенсировал ))

Алексей Тарабанов
9476
Алексей Тарабанов  
Petros Shatakhtsyan:

Об этом когда-то уже говорили, помню :)

Но первую программу написал еще раньше на Algol 68, на Минск 32, на перфоленте, а курсовая задача была линейное программирование, симплекс методом. 

На Минск 32 были перфокарты. Прогресс. 

Petros Shatakhtsyan
14089
Petros Shatakhtsyan  
Алексей Тарабанов:

На Минск 32 были перфокарты. Прогресс. 

На Минск32 я впервые работал с перфолентой. Но перфокарты тоже были.

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

Вот автор темы спрашивает как ускорить оптимизацию. Почему старые профессионалы хорошо знают как это делать ?

Потому что мы раньше работали с большими массивами на больших ЭВМ, где  ОЗУ было всего 256KB, а пакет магнитных дисков 29MB.


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

При этом, чтобы уменьшить количество вариантов, нужно брать большой шаг изменения. И после анализа результатов каждый раз уменьшить количество вариантов(2 и более). И каждый раз начало и конец изменения параметров выбрать так, чтобы оптимальный вариант был в середине этого предела.

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

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

Также можно считать количество сделок. Если в течение месяца нет ни одной сделки, тоже можно прерывать. Это зависит от торговой стратегии.

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


К сожалению всё зависит от вашей модели торговой стратегии. Если у вас плохая модель, то никакая оптимизация не помогает, даже если это делается каждую неделю. Это от того, что поведение рынка всё время меняется.

Оптимизация лишь дает возможность определить какие еще ограничения надо учитывать и очень помогает чтобы усовершенствовать торговую стратегию.


P.S.  Когда кто-то на форуме пишет больше 3-х строк, то я не читаю  :)

ELdorado76
10
ELdorado76  
 Ставлю период около месяца и таймфер около 15-13 минут, тогда проверка больше 5ти минут не занимает 
Petros Shatakhtsyan
14089
Petros Shatakhtsyan  
ELdorado76:
 Ставлю период около месяца и таймфер около 15-13 минут, тогда проверка больше 5ти минут не занимает 

Это время одного прохода или время оптимизации ?

Приведу пример: один проход за один год, несложный робот проходит за 15 сек в режиме реальных тиков, таймфрейм не имеет значение.

Довольно сложный робот тоже на реальных тиках проходит за 42 сек. Эти результаты после скачки тиковой истории.

Виртуальное тестирование несложного робота, проходит меньше 1 сек. К этому надо прибавить несколько секунд для копирования тиковой истории.

Количеств тиков ~25млн. Есть брокеры у кого тиковая история 3-4 раза больше. Скорость конечно зависит также от скорости процессора, ~3.6ГГц, и от диска.

ELdorado76
10
ELdorado76  
Petros Shatakhtsyan:

Это время одного прохода или время оптимизации ?

Petros Shatakhtsyan:

Это время одного прохода или время оптимизации ?

Приведу пример: один проход за один год, несложный робот проходит за 15 сек в режиме реальных тиков, таймфрейм не имеет значение.

Довольно сложный робот тоже на реальных тиках проходит за 42 сек. Эти результаты после скачки тиковой истории.

Виртуальное тестирование несложного робота, проходит меньше 1 сек. К этому надо прибавить несколько секунд для копирования тиковой истории.

Количеств тиков ~25млн. Есть брокеры у кого тиковая история 3-4 раза больше. Скорость конечно зависит также от скорости процессора, ~3.6ГГц, и от диска.

 время оптимизации 
dim
127
dim  

Вопрос к гуру оптимизации мт5

Может ли кто-то написать пример простенького и быстрого советника?

с использованием любого стандартного индикатора. например машки. с анализом на первом закрытом баре?

что то типа если open[0] > MA[1] то покупаем с фикс сл и тп и соотв. продаем от обратного.

нет сигнала, ждем когда нулевой бар закроется

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

именно чтобы летал, как некоторые приводили примеры таймингов

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