Автор |
Сообщение |
VladimirN
Зарегистрирован: 07.11.2009
Сообщения: 49
|
Запускаю на оптимизацию простую систему.
---------------------
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
Сообщения: 9106
|
Сейчас проверил. Правда на 15 минутках и за 2 дня. Все четко совпало.
Давай конкретные примеры.
Бумага, код (тот который в сообщении с конкретными ошибками, возможно глюки форума), дата.... и не совпадающие цифры. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
VladimirN
Зарегистрирован: 07.11.2009
Сообщения: 49
|
Повозившись с вариантами обнаружил, что разница между Оптимизатором и Бэктестом исчезает, если убрать из кода обычный стоп-лосс, оставив стоп-трейлинг. Т.е. именно наличие в коде двух стопов порождает разные результаты.
Привожу ниже упрощеный код - здесь при Оптимизации обрабатывается только один вариант. Что бы было очевидней. На минутках (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
Сообщения: 9106
|
А не пробовал на других данных. И сразу в догонку еще вопрос. Эти (на которых тестировал) данные откуда. (Замечено, что иногда Ами кривые данные отображает, но при работе на них косячит) |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
VladimirN
Зарегистрирован: 07.11.2009
Сообщения: 49
|
000 писал(а): |
А не пробовал на других данных. И сразу в догонку еще вопрос. Эти (на которых тестировал) данные откуда. (Замечено, что иногда Ами кривые данные отображает, но при работе на них косячит) |
Данные с Финама - http://www.finam.ru/analysis/export/default.asp
На других графиках не пробовал, а вот на этом же, но в другие дни - не раз.
Данные импортированы в Ами из базы Метастока... Амишным штатным визардом...
Ладно, попробую покопать в сторону ошибок в самих данных
Update - загрузил с Финама тхт файл. Импортировал прямо из него Амишнышным аски-визардом. С первого раза, ошибок не высветило.
Всё по прежнему... Та же разница там же на тех же. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Действительно есть разница.
Передалал в коде трейлинг вот так
Код: |
ApplyStop(stopTypeTrailing, stopModePoint, 340, 1 );
|
Разница исчезла... Повод задуматься... А по хорошему надо бы Томашу написать... Жаль не умею. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Так на. Вот оно
Почему у тебя в этих строках
Код: |
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
|
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
Сообщения: 9106
|
Цитата: |
P.S. Может в какой-ниб фак это внести...
|
Да надо бы. Ошибка распространенная. Сам неоднократно наступал.
Только вот форму фака ника не придумаю... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
maxign
Зарегистрирован: 17.10.2011
Сообщения: 12
Откуда: Иркутск
|
000 писал(а): |
Цитата: |
P.S. Может в какой-ниб фак это внести...
|
Да надо бы. Ошибка распространенная. Сам неоднократно наступал.
Только вот форму фака ника не придумаю... |
|
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Потому, что при некотором сочетании параметров нет сделок. Например если периоды этих МАшек равны. 20-20, 30-30. Кроме того смотрю нет сделок когда период одной Машки очень длинный. 300, 290... Вероятно потому, что длинна истории недостаточна и длинная МАшка не успевает сформироваться. А в некоторых случаях я не знаю почему.... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
maxign
Зарегистрирован: 17.10.2011
Сообщения: 12
Откуда: Иркутск
|
000 писал(а): |
Потому, что при некотором сочетании параметров нет сделок. Например если периоды этих МАшек равны. 20-20, 30-30. Кроме того смотрю нет сделок когда период одной Машки очень длинный. 300, 290... Вероятно потому, что длинна истории недостаточна и длинная МАшка не успевает сформироваться. А в некоторых случаях я не знаю почему.... |
|
|
|
Посмотреть профиль Отправить личное сообщение |
|
|