Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Сделки в результатах Optimization и Backtest - не совпадают. Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
VladimirN



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

СообщениеДобавлено: Вс Ноя 08, 2009 1:19 am Ответить с цитатой Вернуться к началу

Запускаю на оптимизацию простую систему.

---------------------
SetPositionSize(1, spsShares );

period = Optimize( "LongMA",5, 5, 15, 1 );
period2 = Optimize( "shortMA",20, 3, 20, 1 );

ApplyStop(stopTypeTrailing, stopModePoint, Optimize( "max. loss stop level", 240, 20, 300, 25 ), True );

canstart = TimeNum() >190000;
noend = TimeNum() <234100>234100;

Buy = canstart AND noend AND (Close > (EMA(Close,period )) AND Ref(C,-1) <= Ref (EMA(Close, period2), -1 ) ));
Sell = endday;
--------------

В настройках АА указываю прогнать только один день. На графике - минутки, за весь день. Система открывается только после 19.00 и закрывается к полуночи.
АА выдает список результатов и данные оптимизированных параметров.
Допустим, это были 5, 20 и 240 для вышеуказанной системы
Ввожу их значения на место "по умолчанию" (как вверху в коде уже введено). Записываю изменения.
Жму на Backtest - вижу совсем другие данные торговли. На том же дне. И так со множестом систем и в разные дни.

Как правило на Backtest-е получается больше сделок и профит меньше, чем показывает Optimization для тех же параметров.

В чем дело? Выскажите предположения, пожалуйста.

P.S. Ами 5.2
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вс Ноя 08, 2009 7:49 pm Ответить с цитатой Вернуться к началу

Сейчас проверил. Правда на 15 минутках и за 2 дня. Все четко совпало.
Давай конкретные примеры.
Бумага, код (тот который в сообщении с конкретными ошибками, возможно глюки форума), дата.... и не совпадающие цифры.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
VladimirN



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

СообщениеДобавлено: Вт Ноя 10, 2009 11:37 pm Ответить с цитатой Вернуться к началу

Повозившись с вариантами обнаружил, что разница между Оптимизатором и Бэктестом исчезает, если убрать из кода обычный стоп-лосс, оставив стоп-трейлинг. Т.е. именно наличие в коде двух стопов порождает разные результаты.

Привожу ниже упрощеный код - здесь при Оптимизации обрабатывается только один вариант. Что бы было очевидней. На минутках (1-минута) актуального сейчас фьючерса на РТС-индекс (RTS-12.09) за 6 октября при Оптимизации Амиброкер показывает - доход "минус 404" сделок десять штук.

Не меняя никаких настроек жмем Backtest - получаем кумулятивный профит минус 854 и 12 сделок.

Исполнение сделок в Settings выставлено "по цене открытия" и "bar delay 1" Т.е. по цене начала следующего бара, идущего после сигнала.

SetPositionSize(1, spsShares );
period = Optimize( "MAtrend",20, 20, 20, 1 );

ApplyStop(stopTypeLoss, stopModePoint, Optimize( "max. loss stop level", 350, 350, 350, 1 ), True );
ApplyStop(stopTypeTrailing, stopModePoint, Optimize( "max. loss stop level", 340, 340, 340, 1 ), True );

canstar = TimeNum() > 190000;
noend = TimeNum() < 234100;
enday = TimeNum()> 234100;

Buy = canstar AND noend AND EMA(Close, period) > Ref(EMA(Close, period),-1) ;
Sell = enday;
-----------

Повторяю - если убрать из кода первый стоп-лосс (350 пунктов), все станет нормально. В Settings все стопы дизаблед.


Последний раз редактировалось: VladimirN (Вт Ноя 10, 2009 11:44 pm), всего редактировалось 1 раз
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Ноя 10, 2009 11:41 pm Ответить с цитатой Вернуться к началу

А не пробовал на других данных. И сразу в догонку еще вопрос. Эти (на которых тестировал) данные откуда. (Замечено, что иногда Ами кривые данные отображает, но при работе на них косячит)

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
VladimirN



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

СообщениеДобавлено: Вт Ноя 10, 2009 11:49 pm Ответить с цитатой Вернуться к началу

000 писал(а):
А не пробовал на других данных. И сразу в догонку еще вопрос. Эти (на которых тестировал) данные откуда. (Замечено, что иногда Ами кривые данные отображает, но при работе на них косячит)


Данные с Финама - http://www.finam.ru/analysis/export/default.asp

На других графиках не пробовал, а вот на этом же, но в другие дни - не раз.

Данные импортированы в Ами из базы Метастока... Амишным штатным визардом...

Ладно, попробую покопать в сторону ошибок в самих данных


Update - загрузил с Финама тхт файл. Импортировал прямо из него Амишнышным аски-визардом. С первого раза, ошибок не высветило.

Всё по прежнему... Та же разница там же на тех же.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Ср Ноя 11, 2009 12:08 am Ответить с цитатой Вернуться к началу

Действительно есть разница.
Передалал в коде трейлинг вот так
Код:

ApplyStop(stopTypeTrailing, stopModePoint, 340, 1 );

Разница исчезла... Повод задуматься... А по хорошему надо бы Томашу написать... Жаль не умею.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
000
Site Admin


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

СообщениеДобавлено: Ср Ноя 11, 2009 12:12 am Ответить с цитатой Вернуться к началу

Так на. Вот оно
Почему у тебя в этих строках
Код:

ApplyStop(stopTypeLoss, stopModePoint, Optimize( "max. loss stop level", 350, 350, 350, 1 ), True );
ApplyStop(stopTypeTrailing, stopModePoint, Optimize( "max. loss stop level", 340, 340, 340, 1 ), True );

В кавычках одинаковое описание оптимизируемго параметра???

Попробуй поменяй.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
VladimirN



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

СообщениеДобавлено: Ср Ноя 11, 2009 11:24 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Так на. Вот оно
Почему у тебя в этих строках
Код:

ApplyStop(stopTypeLoss, stopModePoint, Optimize( "max. loss stop level", 350, 350, 350, 1 ), True );
ApplyStop(stopTypeTrailing, stopModePoint, Optimize( "max. loss stop level", 340, 340, 340, 1 ), True );

В кавычках одинаковое описание оптимизируемго параметра???
Попробуй поменяй.

Я эти строки изначально из хелпа или форума копировал-вставлял... Так и сохранилось...
Сейчас переименовал - Оптимизация стала равной Бэктесту. Большое Спасибо за подсказку

P.S. Может в какой-ниб фак это внести...
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Ноя 12, 2009 12:15 am Ответить с цитатой Вернуться к началу

Цитата:

P.S. Может в какой-ниб фак это внести...

Да надо бы. Ошибка распространенная. Сам неоднократно наступал.
Только вот форму фака ника не придумаю...

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
maxign



Зарегистрирован: 17.10.2011
Сообщения: 12
Откуда: Иркутск

СообщениеДобавлено: Пт Ноя 09, 2018 11:47 am Ответить с цитатой Вернуться к началу

000 писал(а):
Цитата:

P.S. Может в какой-ниб фак это внести...

Да надо бы. Ошибка распространенная. Сам неоднократно наступал.
Только вот форму фака ника не придумаю...
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пт Ноя 09, 2018 4:28 pm Ответить с цитатой Вернуться к началу

Потому, что при некотором сочетании параметров нет сделок. Например если периоды этих МАшек равны. 20-20, 30-30. Кроме того смотрю нет сделок когда период одной Машки очень длинный. 300, 290... Вероятно потому, что длинна истории недостаточна и длинная МАшка не успевает сформироваться. А в некоторых случаях я не знаю почему....

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
maxign



Зарегистрирован: 17.10.2011
Сообщения: 12
Откуда: Иркутск

СообщениеДобавлено: Пн Ноя 12, 2018 10:45 am Ответить с цитатой Вернуться к началу

000 писал(а):
Потому, что при некотором сочетании параметров нет сделок. Например если периоды этих МАшек равны. 20-20, 30-30. Кроме того смотрю нет сделок когда период одной Машки очень длинный. 300, 290... Вероятно потому, что длинна истории недостаточна и длинная МАшка не успевает сформироваться. А в некоторых случаях я не знаю почему....
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen