Советники: Самообучающийся ЭКСПЕРТ(lsv)

 

Самообучающийся ЭКСПЕРТ(lsv):

Самообучающийся ЭКСПЕРТ, переделанный под одновременную работу на нескольких валютах.

Author: Sergey

 
Зачем убрано вычисление лота?
 
Да и по моему блок вычисления размера лота убран напрасно, чем он тебе помешал.
 
Механизм, заложенный в вычисление лота, подразумевал, что открытых ордеров будет 1-2, а если эксперта открыть на нескольких валютах, то, например, на первой валюте размер лота будет 1, на 2-ой валюте - 0.5, на 3-ей – 0.1.
 

Спасибо за изменения. Поставил на 4 пары, по 4 периода на каждый. Через пару дней - посмотрим...

 
На разные таймфреймы одной пары ставить эксперта не эффективно, т.к. эксперт работает с тиками. Он создает 1 файл на валютную пару с шаблонами, поэтому, если эксперт будет работать на разных таймфреймах, то может возникнуть конфликт при работе с этим файлом, каждый эксперт будет постоянно перезаписывать его по своему. Хотя в механизме есть некая привязка к таймфрейму, но это больше связано с частотой открывания ордеров, чтоб слишком часто не открывались. Я бы рекомендовал для тестирования запускать на разных валютах одного таймфрейма, я запустил на 8 валютах с периодом M5, сейчас напишу результат за 2-е суток.
 
Результат за 2-е суток, период M5: AUDUSD -18.5, EURGBP -25.88, EURUSD -11.6, GBPUSD -73. 6, NZDUSD -122.3, USDCAD -33.64, USDCHF -94.26, USDJPY -48.71. Пока что результат плачевный.
 
lsv:
Механизм, заложенный в вычисление лота, подразумевал, что открытых ордеров будет 1-2, а если эксперта открыть на нескольких валютах, то, например, на первой валюте размер лота будет 1, на 2-ой валюте - 0.5, на 3-ей – 0.1.
А если не ставить на разные валюты? Там ведь в оригинале эксперт может и фиксированные по размеру лоты использовать. Для этого нужно поставить ReInvest и LotsWayChoice на 0.
 
Зачем загромождать код кучей лишних вычислений, 1/4 кода были только вычисления лота. Каждая дополнительная строчка, это потенциальная ошибка, а их и так в этом коде достаточно, например, есть грубая ошибка связанная с TrailingStop и т.д.
 

Поделюсь результатми анализа экперта и наблюдениями, сделанными при просмотре кода и во время тестов [во времена, когда он еще обсуждался на viac'е]

Алгоритм
-эксперт запоминает паттерны различного масштаба, или разной степени огрубления, как выражается автор
-всего степеней огрубления Nidelt (20)
-за паттерн i-ой степени огрубления принимается последовательность из последних NN (10) изменений цены с дельтой Nidelt[i]
-по каждому паттерну ведется статистика исходов - цена увеличилась/уменьшилсь на dstop (25) пунктов после обнаружения паттерна
-паттерны кодируются специальным образом и сохраняются в файл с количеством повторений паттерна в истории и исходов
-торговля по паттерну начинается когда паттерн был "увиден" экспертом больше чем 10 раз и вероятность исхода больше Probab (0. 8)

Особенности и наблюдения
-алгоритм использует Ask при подсчете паттернов, поэтому
-эксперт легко находит паттерны в MT4 тестере на истории
-по этим соображениям файл сгенерированный тестером нельзя использовать при работе на демо, то есть, нужно как минимум заменить Ask на Close[1]
-наиболее приближенный к реальности тест (после замены Ask на Close) при самом первом прогоне. Результат - шатания вокруг нулевого уровня или слив.
-при последующие прогонах (если не удалять файл статистики, который создал эксперт) вероятность "положительных" исходов растет, и эксперт открывает исключительно сделки с максимальной вероятностью - т.е. происходит подгонка к истории. По этой причине все последующие тесты в расчет брать нельзя. Полагаю они имеют лишь некую эстетическую ценность - "вот так мог бы выглядеть грааль" :)
-при тестировании на demo (при обязательном отсутствии заранее сгенерированных файлов в Experts/files), эксперт некоторое время рассматривает рынок - накапливает статистику по паттернам, и после 2-3 дней обучения начинает торговать. Результаты торгов в течении месяца оказались неудовлетворительными.

Итоги:
- идея отличная
- реальзация неплохая, но есть что оптимизировать
- по тестам - сливатель.
Не исключаю, что при более длительном тестировании на demo, эксперт в конце концов начнет покзывать неплохие результаты, однако при тестировании на истории при первом прогоне - наиболее близком к real-time тестированию - такого не наблюдалось.

 

Еще некоторые мысли для тех, кто разобрался с кодом эксперта. .

Метод анализа и кодирования паттернов с целью эффективного
хранения статистики - изюминка алгоритма, стал и его узким местом,
ограничивающим дальнейшее улучшение.

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

Сложные паттерны с динамическими дельтами - вначале большими, потом
малыми советник не сможет детектировать.


Надеюсь, никого особо не загрузил.
RCEED