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

 

Проблемы с моим тестером

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

Я получаю следующие сообщения от моего тестера стратегий:

"Во время оптимизации было сделано 134 прохода

...: оптимизация остановлена, 954 записи кэша использованы, 954 записи кэша отклонены".

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

1 088 / 1 280 (39 204) записей.

При этом тестер выполнил всего 134 прогона.

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

 

История цен

Здравствуйте, я написал советник, который использует графики H4 и D1 на eurusd. Я хочу протестировать его с 2002-2012. Я увеличил историю баров и график баров до 1000000 в опциях MT4, и после этого загрузил историю цен. Я снова запустил бэктест, указав даты 2002-2012, но он по-прежнему начинается только с января 2009 года. Что я делаю не так? Я хочу провести бэктест за более чем 3 года. Я вижу, что на моем графике достаточно баров, потому что я могу просматривать ценовые данные, предшествующие 2002 году. Есть идеи?

 

Бэктестирование адаптированных к 5 знакам советников

Привет всем, у меня есть несколько советников, которые были адаптированы к пятизначным числам, но результаты их бэктестинга не соответствуют оригинальным советникам. Может ли быть так, что советники с 5 цифрами не могут быть протестированы? При использовании соотношения пунктов 1 вместо 10, они все равно не соответствуют оригинальным показателям. Кто-нибудь может пролить свет на этот вопрос?

 

...

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

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

elitecamper:
Привет всем, у меня есть пара советников, которые были адаптированы под 5 цифр, но их результаты бэк-тестирования не соответствуют оригинальным советникам. Может ли быть так, что советники с 5 знаками не могут быть протестированы? При использовании соотношения пунктов 1 вместо 10, они все равно не соответствуют оригинальным показателям. Кто-нибудь может пролить свет на этот вопрос?
 

...

Спасибо, Младен. Я проверю советника. Надеюсь, я смогу найти виновника.

 

Тестер - метод тестирования открытых цен

Здравствуйте, я хотел протестировать свою ручную стратегию, основанную на индикаторе VQ. Когда я устанавливаю "Только цены открытия..." (я хотел бы торговать вручную после закрытия бара) в качестве тестовой модели я получаю странные результаты - см. скриншоты и код ниже.

Вопросы следующие:

1) почему я не вижу правильных (ненулевых) значений индексного буфера (в других тестовых методах они заполнены) и почему красный бар в 06:45 имеет положительное значение?

2) где можно запрограммировать советника на действия сразу после закрытия бара?

Спасибо за помощь.

Файлы:
open.png  124 kb
vqhisto.mq4  4 kb
 

...

На этом графике есть еще одна проблема:

Если бы использовались только цены открытия, так как размер бара рассчитывается как high-low, эти значения не могли бы быть там на открытии бара (это совершенно неправильные значения, если они взяты на открытии бара). Таким образом, "Только открытые цены" означает не то, что кажется... я предполагаю, что это причина ваших проблем.

mati_temp:
Здравствуйте, я хотел протестировать свою ручную стратегию, основанную на индикаторе VQ. Когда я устанавливаю "Только цены открытия..." (я хотел бы торговать вручную после закрытия бара) в качестве тестовой модели я получаю странные результаты - см. скриншоты и код ниже.

Вопросы таковы:

1) почему я не вижу правильных (ненулевых) значений индексного буфера (в других методах тестирования они заполнены) и почему красный бар в 06:45 имеет положительное значение?

2) где можно запрограммировать советника на действия сразу после закрытия бара?

Спасибо за помощь.
 

спасибо

спасибо Младен за разъяснение

 

спасибо, что поделились

 
mati_temp:
Здравствуйте, я хотел протестировать свою ручную стратегию, основанную на индикаторе VQ. Когда я устанавливаю "Только цены открытия..." (я хотел бы торговать вручную после закрытия бара) в качестве тестовой модели я получаю странные результаты - см. скриншоты и код ниже.

Вопросы следующие:

1) почему я не вижу правильных (ненулевых) значений индексного буфера (в других методах тестирования они заполнены) и почему красный бар в 06:45 имеет положительное значение?

2) где можно запрограммировать советника на действия сразу после закрытия бара?

Спасибо за помощь.

Цены открытия - хороший метод тестирования - самый быстрый.

Чтобы использовать его правильно, советник должен быть правильно настроен, чтобы работать, как вы написали, "на закрытых барах".

Например, если вы используете High[0] - Low[0] для определения диапазона текущей свечи

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

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

В начале все цены равны open (high = open, low = open, close = open).

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

прошлый бар для вычисления High и Low (High [1] вместо [0]).

Конечно, могут быть и другие вещи, проверяемые при открытии.

Допустим, вы будете торговать так:

если диапазон предыдущего бара > 100 и open > ma и предыдущее открытие < ma, мы торгуем в лонг.

Эта модель будет отлично работать только на бэктесте с открытыми ценами.

Но вам нужно посчитать диапазон на предыдущих барах, например High[1]-Low[1] и проверить другие условия

на текущем баре, например, ma[0] open[1].

Кто-то скажет: зачем использовать значения MA на текущем баре, если он не закрыт,

и если вы будете считать значения скользящей средней от цены закрытия или типичной цены, то

она будет менять значение до конца бара. Конечно, я согласен, но таким образом (если вы проверяете МА только

на открытии) вы будете проверять MA так же, как и на закрытых барах.

И последнее слово:

ea должна иметь еще одну вещь. Если вы используете модель открытых цен для bactest

то вам нужно смоделировать то же самое в ea. Поэтому она может выполнять функцию запуска

только ОДИН раз в начале бара.

Лучший способ сделать это - определить после старта функцию beginining, что-то вроде этого:

int start()

{

//----

static int newBar = 0;

if(Bars<=newBar)return;

newBar = Bars;

SOME OTHER LOGIC OF START FUNCTION (TRADING, MOVING STOP ETC)

//----

return(0);

}