Автор |
Сообщение |
Rybak
Зарегистрирован: 15.09.2008
Сообщения: 125
Откуда: С Паука
|
Моя отказывается понимать...
Вот кусок кода:
Код: |
Buy= ... ;
BuyPrice = C ;
Sell = 0;
SellPrice = C ;
SetOption("AllowSameBarExit", False);
SetOption("ActivateStopsImmediately", False);
SetTradeDelays(0, 0, 0, 0);
ApplyStop(stopTypeNBar,stopModeBars, 1, 0);
ApplyStop(stopTypeProfit, stopModePoint, ATR(1)*0.5, 1, False, 2 );
ApplyStop(stopTypeLoss, stopModePoint, ATR(1)*1.5, 1, False, 2);
Equity(1); |
Вроде бы всё стандартно, но не пойму где засада.
Тестируемая система показалась подозрительно хорошей, поэтому полез проверять все сделки в таблице.
И увидел форменное безобразие - цена выхода из трейда в строке Long(profit), которая как мне казалось, должно быть равна значению вчерашнего входа (close) плюс профит (ATR(1)*0.5) совсем не та!
Тестер каждый раз лихо умудряется выйти на Хай дня!!! Вместо более скромных ожиданий.
Откуда такая завышенная оценка моих возможностей ?
Вопрос - что же это Ами с позволенья сказать натестировал? И как этому тестеру можно доверять...
Или я чего-то непонял? |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
настырный
Зарегистрирован: 15.06.2008
Сообщения: 67
|
.... |
Последний раз редактировалось: настырный (Чт Апр 02, 2009 6:22 pm), всего редактировалось 1 раз |
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
настырный
Зарегистрирован: 15.06.2008
Сообщения: 67
|
Моя считает, что:
выход по ApplyStop(stopTypeNBar,stopModeBars, 1, 0); означает выход через 1 бар после открытия.
Скорее всего (это предположение), что до двух других ApplyStop дело и не доходит.
При этом запрещены:
SetOption("AllowSameBarExit", False); - выход на том же баре, на котором открыта позиция.
SetOption("ActivateStopsImmediately", False); - Немедленно активировать стопы. |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
настырный писал(а): |
SetOption("ActivateStopsImmediately", False); - Немедленно активировать стопы. |
Вот это правильно написано. Если вход по закрытию, то немедленно активировать и не надо. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
Rybak
Зарегистрирован: 15.09.2008
Сообщения: 125
Откуда: С Паука
|
Цитата: |
выход по ApplyStop(stopTypeNBar,stopModeBars, 1, 0); означает выход через 1 бар после открытия.
Скорее всего (это предположение), что до двух других ApplyStop дело и не доходит.
|
Читаем у Томаша в хелпе:
Цитата: |
ExitAtStop имеет новое значение для N-барного стопа.
Если ExitAtStop = 0 тогда N-баровый стоп имеет самый малый приоритет (например если взятие прибыли сработает на том же баре, то сделка закроется по ордеру взятия прибыли)
If ExitAtStop = 1 тогда N-баровый стоп имеет самый высокий приоритет и сработает вперед всех остальных стопов.
Этот же эффект имеет опция "Has priority" в настройках АА. |
По жизни же получается, что при "0" что-то там действительно не срабатывает, и Ами тупо закрывает сделку по наиболее выгодной цене. |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
Rybak
Зарегистрирован: 15.09.2008
Сообщения: 125
Откуда: С Паука
|
Для наглядности.
Обратите внимание на эту стоку в таблице сделок -
выход у неё ровно на хай дня, а в скрипте я ведь тупо написал 1.0
пункт ProfitTarget
Поскольку вход был на закрытии пред. дня по 3.66 то выход казалось
бы логичным - должен быть 4.66
Это не единичный глюк, это Повсеместно - все профитные сделки закрываются не по вашему таргету, а по хаю!
Чё это ??? И как с этим жить.. |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
В воскресенье поизучаю этот вопрос и напишу. К сожалению раньше не обещаю. ![Smile](images/smiles/icon_smile.gif) |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
Rybak
Зарегистрирован: 15.09.2008
Сообщения: 125
Откуда: С Паука
|
000 писал(а): |
В воскресенье поизучаю этот вопрос и напишу. К сожалению раньше не обещаю. ![Smile](images/smiles/icon_smile.gif) |
Заранее Спасибо! |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
настырный
Зарегистрирован: 15.06.2008
Сообщения: 67
|
Rybak писал(а): |
000 писал(а): |
В воскресенье поизучаю этот вопрос и напишу. К сожалению раньше не обещаю. ![Smile](images/smiles/icon_smile.gif) |
Заранее Спасибо! |
Вопрос к Rybak - а в Information по данному торгуемому инструменту точно все прописано? |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
Rybak
Зарегистрирован: 15.09.2008
Сообщения: 125
Откуда: С Паука
|
настырный писал(а): |
Rybak писал(а): |
000 писал(а): |
В воскресенье поизучаю этот вопрос и напишу. К сожалению раньше не обещаю. ![Smile](images/smiles/icon_smile.gif) |
Заранее Спасибо! |
Вопрос к Rybak - а в Information по данному торгуемому инструменту точно все прописано? |
Да всё нормуль, соб-но там особо и прописывать нечего - обычная база стоков.
Заставить работать правильно, получилось нелогичным способом -
деинсталяцией проги и запуском её из резервной папки.
Но появилась другая проблема - пропали надписи на вкладках.
Таки дела. |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
max
Зарегистрирован: 01.08.2008
Сообщения: 253
|
Ну вот похоже тут дело не в коде, а скорее всего с самой прогой или системой. Судя по картинкам - похоже на висту.....ой не доверяю я ей |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
Rybak
Зарегистрирован: 15.09.2008
Сообщения: 125
Откуда: С Паука
|
max писал(а): |
Ну вот похоже тут дело не в коде, а скорее всего с самой прогой или системой. Судя по картинкам - похоже на висту.....ой не доверяю я ей |
Да нет винда - ХРюша, стоит уже несколько лет без проблем...
Вобщем получается что причина кривости тестера - в инсталяции Ами в среду винды - как хошь это так и понимай.
Переустановка Ами не помогает, помогает именно деинсталяция :=()
Осталось ещё попробовать переустановку винды, поскольку откат системы на более раннее время не помогает. |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
Rybak
Зарегистрирован: 15.09.2008
Сообщения: 125
Откуда: С Паука
|
Глюк устранён переустановкой системы.
Будьте бдительны, во какие фокусы возможны! |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
настырный
Зарегистрирован: 15.06.2008
Сообщения: 67
|
Rybak писал(а): |
Переустановка Ами не помогает, помогает именно деинсталяция :=()
Осталось ещё попробовать переустановку винды, поскольку откат системы на более раннее время не помогает. |
Ага... еще гильотина помогает и сыра земля всех уравнивает...
Попрошу без экстремизма. Оставьте в покое старушку Виндоуз.
Ну было у меня точно такое же. Что получилась система с супер-пупер результатом, на проверку оказалось, что закрывалась по хаям...
Еще раз повторяю.
С утра пораньше, на свежую голову проверить:
1. В закладке Information по каждому торгуемому инструменту проверить, что выставлены TickSize и пр. настройки этого инструмента.
2. В коде программы установлены величины SellPrice и CoverPrice. По другому эти величины можно задать в окошке Backtester Settings -> Trades.
Скорее всего пункт 2. Так как выход из позиции осуществляется по ApplyStop по количеству баров.
Как это проверить? Например, закомментарить этот оператор. Оставив ApplyStopы по профиту и по стоп лоссу.
"Спокойствие, только спокойствие! Дело-то житейское!" (с) м/ф "Карлссон, который живет на крыше" |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
Rybak
Зарегистрирован: 15.09.2008
Сообщения: 125
Откуда: С Паука
|
По пунктам:
Цитата: |
1. В закладке Information по каждому торгуемому инструменту проверить, что выставлены TickSize и пр. настройки этого инструмента. |
Стоит.
Цитата: |
2. В коде программы установлены величины SellPrice и CoverPrice. По другому эти величины можно задать в окошке Backtester Settings -> Trades.
|
Обижаете, не первый год замужем
Проверено, стояло по клоуз на время проверки описанной ниже.
Цитата: |
Например, закомментарить этот оператор. |
Самое смешное что коментировал - безрезультатно.
В какой-то момент почувствовал, что съезжаю с катушек
Простейший кастрированный до предела скрипт не фунциклирует как надо!
Бред!? Похоже..
Для прояснения ситуации был сделан простейший скрипт (на картинке)
У меня Ами стоит два раза, на двух логических дисках D: и E:
На D: он инсталирован "по правильному", а на E: Абсолютно Точная Копия.
(Как известно, Ами может работать и без инсталяции - простым переносом файлов на другой компутер или диск)
Итак проводим такой эксперимент:
- Делаем деинстал Ами с D
-Запускаем копию на E:
= Стопы Работают правильно.
Затем -
Делаем инсталл Ами, и запускаем его на D:
= Стопы Работают НЕ правильно.
Ровно также не работает его копия на E:
Которая минуту тому назад, до инсталяции, работала!
вопрос- причём здесь соб-но пункты 1 и 2 ?
Тут что-то не лады с другим - точнее, с регистрацией библиотек dll в реестре винды или что-то типа того, сорри, не программер.
Короче как и писал выше - систему (ХР) снёс и поставил заново.
Всё заработало во всех режимах, как старая копия на E:, так и вновь инсталированная на D:, что конечно радует
Но Осадок Остался
Да и причина такого глюка не ясна, что конечно напрягает.
Таперича, не зная когда соб-но это началось, сижу и перелопачиваю все свои системы, чего там натестилось-наоптимизировалось - хз. |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
|