Автоматизация торговли на финансовых рынках Автоматизация торговли на финансовых рынках

 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Подготовка котировок для тестов на истории
На страницу Пред.  1, 2, 3, 4  След.
 
Начать новую тему   Ответить на тему    Список форумов Автоматизация торговли на финансовых рынках -> FAQ
Предыдущая тема :: Следующая тема  
Автор Сообщение
Roman



Зарегистрирован: 16.10.2006
Сообщения: 3

СообщениеДобавлено: Вс Янв 14, 2007 7:47 pm    Заголовок сообщения: Ответить с цитатой

Похоже действительно проблема была связана с наличием дыр в истории.
Сейчас обновил все с самого начала крупными кусками и качество моделирования вернулось к нормальному проценту. Всем спасибо за рекомендации.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Emil



Зарегистрирован: 28.05.2006
Сообщения: 8

СообщениеДобавлено: Пт Фев 02, 2007 2:44 pm    Заголовок сообщения: Re: Подготовка котировок для тестов на истории Ответить с цитатой

Всем привет! Немного предыстории. Я использую базу котировок, созданную по описанию в этой ветке ("История GOODMAN'а" + история с Альпари). Недавно обратил внимание на то, что на историческом периоде с 2001по 2004.06 тестирование проходит намного быстрее.

Я связал это с особенностями представления объемов в "История GOODMAN'а" , - каждому минутному бару приписывается объем, равный единице. В результате тестер в режиме "все тики" не совершает "лишних движений" внутри минутного бара, - скорость тестирования значительно (в несколько раз) увеличивается.
Я проделал следующее:
1) Экспортировал минутную историю с Альпари в файл csv.
2) Удалил все hst и fxt - файлы из Метатрейдера.
3) Импортировал из этого файла данные обратно в
формат hst, отключив объемы.
4) Сгенерировал старшие таймфреймы.

Ну и провел тест. Да, тестирование пошло намного быстрее, но расхождения с результатами тестов на стандартной базе Альпари составили +2000п.
Я повторил опыт (а вдруг у моего советника просто код кривой?), использовав для тестов MACD sample из поставки МТ. Расхождения меньше (200п) и в другую сторону - но есть.


Из всего этого можно сделать вывод, что тестирование в режиме "все тики" на истории GOODMAN'а может приводить к некорректным результатам.

Думаю, дело в том, что приписывать объем =1, бару, для которого
не выполняется условие OPEN=CLOSE=HIGH=LOW - просто неправильно. Скорее всего, именно это некорректное представление данных и приводит к расхождению в результатах теста.

Если это так, проблему можно решить с помощью скрипта, приписывающего бару (с объемом 1) минимальные возможные объемы. Например, если Open=Close=1.8500, High=1.8502 , Low=1.8499, то минимальным возможным объемом будет 4.

Ну, а проверить, удается ли увеличить таким образом адекватность тестирования, можно, сравнив тесты на "родных" данных Альпари, на данных Альпари с отключенными объемами, и на их же данных с объемами "минимально-возможными". Что думаете?


Вот отчет тестера "без объемов":

Strategy Tester Report
MACD Sample

Символ GBPUSD (Great Britain Pound vs US Dollar)
Период 15 Минут (M15) 2004.06.15 00:00 - 2006.10.11 01:45 (2004.06.15 - 2007.01.12)
Модель Все тики (на основе всех наименьших доступных периодов с фрактальной интерполяцией каждого тика)
Параметры TakeProfit=50; Lots=0.1; TrailingStop=30; MACDOpenLevel=3; MACDCloseLevel=2; MATrendPeriod=26;
Баров в истории 141412 Смоделировано тиков 712502 Качество моделирования 90.00%
Начальный депозит 10000.00
Чистая прибыль -1659.17 Общая прибыль 8963.41 Общий убыток -10622.58
Прибыльность 0.84 Матожидание выигрыша -3.20
Абсолютная просадка 1855.17 Максимальная просадка 2029.91 (19.95%) Относительная просадка 19.95% (2029.91)
Всего сделок 518 Короткие позиции (% выигравших) 262 (65.65%) Длинные позиции (% выигравших) 256 (66.41%)
Прибыльные сделки (% от всех) 342 (66.02%) Убыточные сделки (% от всех) 176 (33.98%)
Самая большая прибыльная сделка 50.16 убыточная сделка -326.24
Средняя прибыльная сделка 26.21 убыточная сделка -60.36
Максимальное количество непрерывных выигрышей (прибыль) 15 (527.38) непрерывных проигрышей (убыток) 4 (-330.07)
Максимальная непрерывная прибыль (число выигрышей) 527.38 (15) непрерывный убыток (число проигрышей) -377.97 (2)
Средний непрерывный выигрыш 3 непрерывный проигрыш 1



А вот - на тех же данных с объемами:


Strategy Tester Report
MACD Sample

Символ GBPUSD (Great Britain Pound vs US Dollar)
Период 15 Минут (M15) 2004.06.15 00:00 - 2006.10.11 01:45 (2004.06.15 - 2007.01.12)
Модель Все тики (на основе всех наименьших доступных периодов с фрактальной интерполяцией каждого тика)
Параметры TakeProfit=50; Lots=0.1; TrailingStop=30; MACDOpenLevel=3; MACDCloseLevel=2; MATrendPeriod=26;
Баров в истории 141412 Смоделировано тиков 3789834 Качество моделирования 90.00%
Начальный депозит 10000.00
Чистая прибыль -1889.25 Общая прибыль 9575.41 Общий убыток -11464.66
Прибыльность 0.84 Матожидание выигрыша -3.37
Абсолютная просадка 2091.25 Максимальная просадка 2270.99 (22.31%) Относительная просадка 22.31% (2270.99)
Всего сделок 560 Короткие позиции (% выигравших) 277 (64.98%) Длинные позиции (% выигравших) 283 (67.14%)
Прибыльные сделки (% от всех) 370 (66.07%) Убыточные сделки (% от всех) 190 (33.93%)
Самая большая прибыльная сделка 50.16 убыточная сделка -327.24
Средняя прибыльная сделка 25.88 убыточная сделка -60.34
Максимальное количество непрерывных выигрышей (прибыль) 23 (810.20) непрерывных проигрышей (убыток) 5 (-61.21)
Максимальная непрерывная прибыль (число выигрышей) 810.20 (23) непрерывный убыток (число проигрышей) -412.29 (4)
Средний непрерывный выигрыш 3 непрерывный проигрыш 2

_________________
Чтобы правильно задать вопрос -
нужно знать больше половины ответа...


Последний раз редактировалось: Emil (Пт Фев 02, 2007 3:12 pm), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
DENISka



Зарегистрирован: 27.06.2006
Сообщения: 11
Откуда: Алтайский край

СообщениеДобавлено: Пт Фев 02, 2007 2:52 pm    Заголовок сообщения: Ответить с цитатой

Да, абсолютно правильное предположение. Мне тоже так кажеться что логика работы тестера с баром М1 именно такая.

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

_________________
Но я – бедняк, и у меня лишь грезы,
И я простираю грёзы под ноги тебе,
Ступай легко, мои ты топчешь грезы... /У. Йейтс/
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Mark Piccioli



Зарегистрирован: 08.02.2006
Сообщения: 36

СообщениеДобавлено: Пт Фев 02, 2007 9:21 pm    Заголовок сообщения: Re: Подготовка котировок для тестов на истории Ответить с цитатой

Эмиль прав, хотя я бы сделал наоборот. И вот почему.

вот что у него получилось :

Emil писал(а):

...
Баров в истории 141412 Смоделировано тиков 712502
...
Баров в истории 141412 Смоделировано тиков 3789834
...


Насколько я понимаю, тики (количество смоделированных тиков) появляются столько раз, сколько объемов. То есть в пределах одной минутной свечи появляется пила, которая начинается от Open, потом идет к High ( или к Low, это не так важно), потом к Low (или к High) и так далее пилит весь минутный объем и заканчивается на Close.

А теперь давайте подумаем, зачем нам нужны тики в пределах одной минуты?

Если вы не тестите стартегию на минутках (надеюсь вы этого не делаете Smile) то вам совсем ни к чему иметь пилу внутри минутки. Это только будет напрягать ваш компьютер, а результат будет практически тот же. Я бы наоборот для всех минутных баров сбросил бы объем в 4, то есть OHLC.
Кроме того, если у вас будут мальнькие параметры профитов и лосей, возможно ложное срабатывание и того и другого в пределах минуты, если минутная свеча достаточно большая.

Если уж править историю, то наверное надо вычистить слишком большие минутки, проверить, чтобы небыло противоречий типа H<L или O>H а заодно довамить пропущенные с O=H=L=C, включая выходные дни.

Хотя... может я и не прав. Smile

Желаю удачи
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Emil



Зарегистрирован: 28.05.2006
Сообщения: 8

СообщениеДобавлено: Пт Фев 02, 2007 11:22 pm    Заголовок сообщения: Re: Подготовка котировок для тестов на истории Ответить с цитатой

Mark Piccioli писал(а):


Если уж править историю, то наверное надо вычистить слишком большие минутки, проверить, чтобы небыло противоречий типа H<L или O>H а заодно довамить пропущенные с O=H=L=C, включая выходные дни.

Хотя... может я и не прав. Smile

Желаю удачи


Ну это, пожалуй , слишком смелый проект. Я говорю лишь о том, что отсутствие данных по объемам влияет на результаты тестирования, зачастую сильно.
Emil писал(а):
Ну и провел тест. Да, тестирование пошло намного быстрее, но расхождения с результатами тестов на стандартной базе Альпари составили +2000п.
Стопы, кстати, в этой системе большие, а профитов вообще нет
Emil писал(а):

Я повторил опыт (а вдруг у моего советника просто код кривой?), использовав для тестов MACD sample из поставки МТ. Расхождения меньше (200п) и в другую сторону - но есть.

И предлагаю восполнить недостающие данные по объемам - довести
объемы минутного бара до непротиворечивого значения, и не более... Насколько я понимаю, если объем равен 1, тестер работает только с ценой открытия... Шумы сглаживаются... Получается, что из-за некорректного отображения объемов тестер игнорирует размер минутного бара.
Mark Piccioli писал(а):
Это только будет напрягать ваш компьютер, а результат будет практически тот же. Я бы наоборот для всех минутных баров сбросил бы объем в 4, то есть OHLC.


Именно. Только вот речь идет о том, что до 2004г (т.е. для истории GOODMAN'a) объем нужно до 4-х как раз поднимать. Он там всюду равен единице, не важно, какого размера свечка. Хоть 10п, хоть 20...
Удачи!

P.S.: Вышесказанное относится именно к "истории GOODMAN'a для адекватного тестирования". Кстати, на противоречия типа H<L или O>H
GOODMAN ее по-моему проверял, только вот не учел противоречия с объемами...

_________________
Чтобы правильно задать вопрос -
нужно знать больше половины ответа...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
DENISka



Зарегистрирован: 27.06.2006
Сообщения: 11
Откуда: Алтайский край

СообщениеДобавлено: Сб Фев 03, 2007 12:08 pm    Заголовок сообщения: Ответить с цитатой

Вторая версия скрипта для конвертации М1 периода
во все ТаймФреймы плюс пересоздание М1 ТаймФейма.

Расширеный функционал конвертации М1 ТаймФрейма
зависит от входящего параметра ReCreateM1Volume.

Он может принимать следующие значения:

-2: (по умолчанию) или меньше (-3, -4 и тд)
Скрипт просто произведет конвертацию М1 ТаймФрейма
во все другие ТаймФреймы.
---
-1:
Скрипт произведет пересоздание М1 ТаймФрейма по
следующему правилу:
Если объем бара М1 равен 1 то будет перерасчитан объем
по правилу не равенства цен Open, Close, High, Low.

Например:
Open 1.2524, Close 1.2530, High 1.2540, Low 1.2524
Новый объем будет установлен 3 (тоесть 3 разных цены в баре)
Причем цена Close не должна быть равна High и Low

Затем будет произведена конвертация во все другие ТаймФремы
---
0:
Скрипт произведет пересоздание М1 ТаймФрейма по
такому же правилу как и при "-1", но абсолютно для всех баров
игнорируя их первоначальный объем.

Затем будет произведена конвертация во все другие ТаймФремы
---
1: (2, 3, 4 и тд)
Скрипт произведет пересоздание М1 ТаймФрейма установив для
всех М1 баров объем выбраный Вами
(тоесть значение входящего параметра ReCreateM1Volume).

Затем будет произведена конвертация во все другие ТаймФремы.

===
И напоследок, если используете пересоздание М1 ТаймФрейма, то
помните чтобы пересозданые котировки отобразились в HistoryCenter
необходимо перезапустить Терминал.

Удачи.

_________________
Но я – бедняк, и у меня лишь грезы,
И я простираю грёзы под ноги тебе,
Ступай легко, мои ты топчешь грезы... /У. Йейтс/
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DENISka



Зарегистрирован: 27.06.2006
Сообщения: 11
Откуда: Алтайский край

СообщениеДобавлено: Сб Фев 03, 2007 5:04 pm    Заголовок сообщения: Re: Подготовка котировок для тестов на истории Ответить с цитатой

Emil писал(а):
Mark Piccioli писал(а):


Если уж править историю, то наверное надо вычистить слишком большие минутки, проверить, чтобы небыло противоречий типа H<L или O>H а заодно довамить пропущенные с O=H=L=C, включая выходные дни.

Хотя... может я и не прав. :)

Желаю удачи


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



А что, можно и такое реализовать. покрайней мере проверку на корректность баров по H L C O

А вот заполнять выходные дни думаю смысла нет, пустыми барами...

Mark Piccioli писал(а):

... то наверное надо вычистить слишком большие минутки ...


Вы имеете ввиду большие обьемы если у них стоят? Или размер тела и шпилек большие?

_________________
Но я – бедняк, и у меня лишь грезы,
И я простираю грёзы под ноги тебе,
Ступай легко, мои ты топчешь грезы... /У. Йейтс/
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Mark Piccioli



Зарегистрирован: 08.02.2006
Сообщения: 36

СообщениеДобавлено: Вс Фев 04, 2007 9:29 pm    Заголовок сообщения: Ответить с цитатой

Я имел ввиду большие размеры, а не объемы.

Я как-то тестировал систему, в профитом 40 пипсов, и не помню каким уровнем лося. После тестирования стал смотреть, и обнаружил, что в районе 14:00 в некоторые дни у меня за минуту успевает ордер сработаь и взять профит. Полез в историю - так и есть, огромная свеча, сколько уже не помню.

Идея моя в данном случае следующая. Историю пока не править, но установить некоторый порог H-L и посмотреть, сколько баров выходят за этот порог. Допустим, советник, которого собираемся тестировать имеет уровень SL = 40pp и TP=40pp. Надо оценить, сколько баров в истории позволят нам открыться и получить прибыль или убыток за одну минуту. Wink Чего в реале никогда, или почти никогда не случится. Вот вам и порого отсечения.

СтОит ли править историю из-за этого не знаю, но в том случае о котором говорилось выше я в эксперте исключил из тестирования дни с неадекватными на мой взгляд минутками, то есть просто поставил условие - если дата такая-то то не торговать.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Mark Piccioli



Зарегистрирован: 08.02.2006
Сообщения: 36

СообщениеДобавлено: Вт Фев 06, 2007 11:44 am    Заголовок сообщения: Ответить с цитатой

Отлично!

Но как быть с аском и бидом?
Если бар нулевой, то есть O=C=H=L следовательно он будет пропускаться, так как у него нет аска. любой бар долен быть как минимум равен двум спредам.

Как с этим быть???
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Mark Piccioli



Зарегистрирован: 08.02.2006
Сообщения: 36

СообщениеДобавлено: Чт Фев 22, 2007 12:52 pm    Заголовок сообщения: Ответить с цитатой

Здравствуйте уважаемые.

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

Я загрузил в Oracle EURM1-котировки с Альпари, от Goodman-а и из датабанка с метоквот. Начал сривнивать и обноружил, что они и близко не лежали друг к другу.

Для примера взял 2004 год, так как этот год есть во всех базах.
Время естественно везде совпадает.
Оказалось, что в этом периоде ничего не совпало между тремя базами, без учета объемов.
Между метаквотами и альпари совпало примерно 70 минуток за полгода, а между метаквотами и гудманом всего 10. Объемы, естественно не сравнивались.

Меньше всего пропусков оказалось у Альпари, а на метоквотах очень часто отсутствуют минутки на границе дня. У Альпари же оказалось меньше неадекватно больших минуток.
Я не рекламирую Альпари, тем более, что у них нет старых минуток, просто для информации.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
leonid553



Зарегистрирован: 15.10.2006
Сообщения: 24
Откуда: Самара

СообщениеДобавлено: Пт Фев 23, 2007 12:13 am    Заголовок сообщения: Ответить с цитатой

Mark Piccioli писал(а):
Здравствуйте уважаемые.

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

.

Если я правильно понял - есть такая программа - в визуальном режиме можно вручную заключать сделки и ставить ордера.
Надеюсь , что в тему ответил.
там в метаэдиторе - инструкция.
Что-то не цепляется никак...
... - лимит превышает!
Вот ссылка-(на мт4 Лайта - не раб. - на др. мт4 - без проблем!)
http://www.tradersforum.net.ru/forum/index.php?showtopic=374

_________________
"0х! ...Самара, городок!"
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BabyBear



Зарегистрирован: 01.01.2007
Сообщения: 20
Откуда: Санкт-Петербург

СообщениеДобавлено: Ср Окт 22, 2008 10:43 pm    Заголовок сообщения: Ответить с цитатой

Скажите, чем плохо просто загрузить минутки в мт4 через загрузчик (Альпари) ?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
KimIV
Admin


Зарегистрирован: 24.01.2006
Сообщения: 958
Откуда: Кунгур

СообщениеДобавлено: Ср Окт 22, 2008 10:54 pm    Заголовок сообщения: Ответить с цитатой

BabyBear писал(а):
Скажите, чем плохо просто загрузить минутки в мт4 через загрузчик (Альпари) ?

Если Вы имеете в виду загрузчик на скрине 1, то взгляните на скрин 2.

_________________
Ещё вчера я себе казался умным и пытался изменить мир, а сегодня я стал мудрым и пытаюсь изменить себя...


Последний раз редактировалось: KimIV (Чт Dec 19, 2013 9:10 am), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора Yahoo Messenger
BabyBear



Зарегистрирован: 01.01.2007
Сообщения: 20
Откуда: Санкт-Петербург

СообщениеДобавлено: Ср Окт 22, 2008 10:58 pm    Заголовок сообщения: Ответить с цитатой

я так понимаю, это получается, если использовать терминал метаквотасов. У меня терминал Альпари и грузятся данные Альпари.
И окошко с ошибкой не вылезает.
Возможно , у альпари "плохие" данные на сервере или нужно с ними что-то еще сделать для тестирования?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
KimIV
Admin


Зарегистрирован: 24.01.2006
Сообщения: 958
Откуда: Кунгур

СообщениеДобавлено: Ср Окт 22, 2008 11:06 pm    Заголовок сообщения: Ответить с цитатой

BabyBear писал(а):
я так понимаю, это получается, если использовать терминал метаквотасов. У меня терминал Альпари и грузятся данные Альпари.

Спасибо!

_________________
Ещё вчера я себе казался умным и пытался изменить мир, а сегодня я стал мудрым и пытаюсь изменить себя...


Последний раз редактировалось: KimIV (Чт Dec 19, 2013 9:12 am), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора Yahoo Messenger
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Автоматизация торговли на финансовых рынках -> FAQ Часовой пояс: GMT + 5
На страницу Пред.  1, 2, 3, 4  След.
Страница 3 из 4

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете добавлять вложения в этом форуме
Вы не можете просматривать вложения в этом форуме
Рейтинг@Mail.ru


Powered by phpBB © 2001, 2005 phpBB Group