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



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

СообщениеДобавлено: Пн Апр 22, 2013 4:25 pm Ответить с цитатой Вернуться к началу

Пристрелите меня, но я незнаю почему так получается.
Дано: Тиковые данные сегодняшнего дня РТС 200 тиков ТФ. Обновление AA 1 сек.

Первая сделка сегодня в 13:24:52 - Лонг по цене 131080.
Открываю квик - первая сделка 13:25(ну похоже. В 13:20 не торговалось, включал робота позже). Цена входа 131060. С учетом проскальзывания похоже.

Но далее начинается беспредел. По квику мы выходим в 13:36:07 по цене 130940. А по бэктесту в 13:55 по цене 130610.

По бэктесту у меня за сделки выходит плюс, по квику - лось. И я не могу понять в чем причина. Робот торгует по паттернам.

Вот кусок из описания сигналов на вход

Buy=pattern15minbuyA AND DEMAFILTERLONG AND TradeTime OR pattern15minbuyB AND DEMAFILTERLONG AND TradeTime OR pattern15minbuyC AND DEMAFILTERLONG AND TradeTime;

Sell=pattern15minshort AND DEMAFILTERSELL OR NOT TradeTime ;

Cover=pattern15minbuyA AND DEMAFILTERCOVER OR NOT TradeTime OR pattern15minbuyB AND DEMAFILTERCOVER OR NOT TradeTime;

Short=pattern15minshort AND DEMAFILTERSHORT AND TradeTime;

Пример описания паттерна: Buy=pattern15minbuyA= Ref(Close,-3)>Ref(Open,-3) AND условия AND условие


Image

Помогите плиз.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пн Апр 22, 2013 11:57 pm Ответить с цитатой Вернуться к началу

Стопы не используются?

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


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

СообщениеДобавлено: Вт Апр 23, 2013 12:13 am Ответить с цитатой Вернуться к началу

А, скорее всего вот в чем дело.
Вообще робот просто обязан совершать сделки чуть позже, чем показывает тестер. Потому, что тестер видит уже полностью сформированные свечи и не имеет возможности "наблюдать" как строится свечка и принимать решение в процессе. Поэтому, как правило тестируют по закрытию свечи. Т.е. только свечка полностью сформировалась сразу смотрим и принимаем торговое решение.
С роботом все немного не так. Робот видит весь процесс строительства свечи и поэтому (в середине периода) может увидеть картину которую тестер в принципе увидеть не может. Для того, чтобы это обойти я, в шаблоне робота, использовал перенос сигнала на следующий бар. Вот эта часть кода
Код:
Buy1 = Ref(Buy1, -1);
Sell1 = Ref(Sell1, -1);
Short1 = Ref(Short1, -1);
Cover1 = Ref(Cover1, -1);

Если сигнал перенесен на следующий бар, то робот не станет торговать до тех пор, пока свечка не построиться полностью и не появиться начало следующего бара. Да, безусловно такое решение чуть задержит исполнение сигнала, зато в таком случае робот безусловно повторит сигналы тестера.
Сдя по тому, что у тебя вход
Первая сделка сегодня в 13:24:52 - Лонг по цене 131080.
раньше сигнала тестера
13:25
ты убрал сдвиг сигнала.
Иногда это делать можно, но надо точно понимать зачем и как будешь обходить эффект принятия решений на еще недостроенной свечке.
...

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



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

СообщениеДобавлено: Вт Апр 23, 2013 7:12 am Ответить с цитатой Вернуться к началу

Спасибо Олег. А как должен выглядеть в коде роботе это?

Было например:
buy=pattern;

а станет
Buy1 = Ref(Buy1, -1)=pattern ?

И как тогда описать мои условия,ведь у меня 3 свечи используются с ref -1 ref-2 и ref-3 и из них создается условие
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Апр 23, 2013 8:05 am Ответить с цитатой Вернуться к началу

Нет. Должно стать так
Buy1 = pattern;
Buy = Ref(Buy1, -1);

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



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

СообщениеДобавлено: Вт Апр 23, 2013 12:51 pm Ответить с цитатой Вернуться к началу

Вот поэтому тестировать нужно только по опен (мудрость). Smile
Посмотреть профиль Отправить личное сообщение ICQ Number
Alex14



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

СообщениеДобавлено: Ср Апр 24, 2013 6:06 am Ответить с цитатой Вернуться к началу

Mechanic писал(а):
Вот поэтому тестировать нужно только по опен (мудрость). Smile

Только забыл добавить, что по опену следующей свечи Very Happy

_________________
Деда Мороза не существует!!!
Посмотреть профиль Отправить личное сообщение
Mechanic



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

СообщениеДобавлено: Ср Апр 24, 2013 11:45 am Ответить с цитатой Вернуться к началу

Следующей после чего?
На открытии свечи проверяем условия системы и выполняем их, если они соблюдаются.
Посмотреть профиль Отправить личное сообщение ICQ Number
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen