Бэктестинг/оптимизация - страница 27

 

Бэктестинг портит исторические данные?

Здравствуйте, ребята,

Несколько недель назад я скачал 1-минутные данные с сайта: http://www.alpari-idc.com/en/dc/databank.html.

И протестировал на них множество советников.

Сегодня я нашел советника, который дал мне такие результаты:

Я решил ускорить процесс бэктестинга, поэтому я установил metatrader на свой новый компьютер, загрузил новейшие 1-минутные данные, загрузил своего советника

и получил такие результаты:

Настройки советника одинаковы, единственное различие, которое я вижу, это то, что тики, смоделированные на новейших 1-минутных данных, намного выше.

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

Кто-нибудь знает причину этого?

Были ли мои старые 1-минутные данные повреждены?

Заранее спасибо, Drue

 

Советник использовал 14416 тиков в первом случае и 14391 тик во втором 90% случае. Это может быть связано со следующим:

- вы выбрали более длинный период для бэктестинга в первом случае;

или

- вы оставили первый Metatrader в режиме реального времени для торговли, а Metatrader загрузил новые данные, и они смешались. Импортируйте дополнительные данные в режиме fooline (если вы откроете папку с данными, то, вероятно, увидите много файлов с одинаковыми таймфреймами и парами, поэтому импортируйте их в основной файл).

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

 

Оптимизатор стратегий с использованием GPU

Здравствуйте. В последнее время я активно использую оптимизатор для тестирования стратегий, и я обнаружил, что оптимизация стратегии занимает много времени, и существует ограничение на количество переменных, с которыми можно работать. Я обнаружил, что теперь есть программное обеспечение, позволяющее использовать GPU на видеокарте для выполнения вычислительной работы, и GPU намного быстрее, чем CPU. В некоторых тестах мой CPU имеет производительность около 5 Гфлопс, а мой GPU - около 550 Гфлопс. Это более чем стократное увеличение! Поэтому я заинтересован в модификации Metatrader4 для использования GPU вместо CPU, и я хочу избавиться от лимита переменных, чтобы он мог вычислять на основе гораздо большего количества переменных. Я нашел компанию, которая сделает модификацию здесь:

http://www.gpucomputing.eu/

Поэтому мне интересно, заинтересован ли кто-нибудь здесь в этом? Я уверен, что не смогу позволить себе это сам (я безработный студент колледжа), поэтому я надеюсь, что мы сможем сделать что-то вроде групповой покупки. Я отправил им письмо с просьбой ответить на вопрос, и когда я его получу, я опубликую его в этой теме.

 
triwebb1:
Здравствуйте. В последнее время я активно использую оптимизатор для тестирования стратегий, и я обнаружил, что оптимизация стратегии занимает много времени, и есть ограничение на количество переменных, с которыми можно работать. Я обнаружил, что теперь есть программное обеспечение, позволяющее использовать GPU на видеокарте для выполнения вычислительной работы, и GPU намного быстрее, чем CPU. В некоторых тестах мой CPU имеет производительность около 5 Гфлопс, а мой GPU - около 550 Гфлопс. Это более чем стократное увеличение! Поэтому я заинтересован в модификации Metatrader4 для использования GPU вместо CPU, и я хочу избавиться от лимита переменных, чтобы он мог вычислять на основе гораздо большего количества переменных. Я нашел компанию, которая сделает модификацию здесь:

http://www.gpucomputing.eu/

Поэтому мне интересно, заинтересован ли кто-нибудь здесь в этом? Я уверен, что не смогу позволить себе это сам (я безработный студент колледжа), поэтому я надеюсь, что мы сможем сделать что-то вроде групповой покупки. Я отправил им письмо с просьбой ответить на вопрос, и когда я его получу, я опубликую его в этой теме.

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

спасибо.

 

Интересная идея, но...

Одним из досадных ограничений MetaTrader4 является отсутствие API, поэтому вы несколько ограничены в своих возможностях. Единственная возможность, которую позволяет MT4, это вызов внешних DLL, но это, я думаю, не очень поможет. Большая часть трудоемкой части тестера стратегий, например, останется внутри MT4.

 

Да, я знаю, что это будет сложно, поэтому я и смотрю на эту компанию, чтобы сделать это :P Я думаю, им придется декомпилировать Metatrader, если это возможно, и переписать некоторые из них.

Насчет ограничения переменных: у меня есть многоступенчатый советник, который я тестирую, и я использую несколько индикаторов с разными значениями для каждой ступени, и я хочу, чтобы оптимизатор проверил их все и нашел лучшие значения. Кажется, что он ограничен чем-то вроде 20 переменных с 10 этапами в каждом. Я хочу, чтобы он поддерживал около 80 переменных с 50 шагами для каждой... Вычисление такого количества переменных займет много времени, и для этого я хочу либо GPU, либо возможность использовать кластер ПК для этого, чтобы это не заняло 2 года на моем ПК. Но Metatrader не поддерживает ни то, ни другое, так что сейчас я застрял на попытке попробовать разные методы работы советника, но я действительно хочу попробовать метод с огромным количеством переменных и посмотреть, что из этого получится.

 

Здравствуйте, вот что я хочу сделать:

Я хочу позволить моему советнику оптимизировать себя (оптимизация за последние 2 месяца), и он должен изменить свои переменные автоматически, если он нашел лучшие переменные во время оптимизации (он будет оптимизировать 24h/24, весь день, все дни).

Как вы думаете, возможно ли написать что-то подобное? Может быть, скрипт или что-то еще, чего я не знаю, что вы думаете?

 

Я

 

Как вы думаете, возможно ли это?

 
w4rn1ng:
Привет, вот что я хочу сделать:

Я хочу позволить моему советнику оптимизировать себя (оптимизация за последние 2 месяца), и он должен автоматически менять свои переменные, если он нашел лучшие переменные во время оптимизации (он будет оптимизировать 24ч/24, весь день, все дни).

Как вы думаете, возможно ли написать что-то подобное? Может быть, скрипт или что-то еще, чего я не знаю, что вы думаете?

Я не знаю. Это очень хорошая идея, особенно для советников, пересекающих ema. Но я не вижу никакой реализации. У Codersguru есть тема о самообучающемся советнике или что-то в этом роде, но разработка еще не закончена.