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



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

СообщениеДобавлено: Пн Июн 29, 2009 9:43 am Ответить с цитатой Вернуться к началу

робот интрадейный.
включаю - идет операция Sell или Cover,
а Buy (Short) по мнению робота был вчера.
как можно обнулять вчерашний сигнал или начинать новый день "с чистого листа"?

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


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

СообщениеДобавлено: Пн Июн 29, 2009 7:21 pm Ответить с цитатой Вернуться к началу

Интересно, а как закрылась позиция открытая вчера если сегодня начинаем с "чистого листа"?
А вообще очень просто. Заставь систему всегда закрывать позицию в конце дня.

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



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

СообщениеДобавлено: Пн Июн 29, 2009 9:49 pm Ответить с цитатой Вернуться к началу

да к такому же выводу пришел.

так еще у меня что-то сигналы buy-sell и short-cover вперемешку:
т.е. сначала buy, потом short (????), потом sell, потом cover.
ерунда какая-то.
я, правда, equity(1,0) убрал и оставил только Exrem'ы.

счас поищу где-то на форуме был график позы системы (лонг, шорт, кеш)
Посмотреть профиль Отправить личное сообщение
Novi4ok



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

СообщениеДобавлено: Пн Июн 29, 2009 9:59 pm Ответить с цитатой Вернуться к началу

sell
TRANS_ID=011039592; PRICE=91780; QUANTITY=1; OPERATION=S; CLASSCODE=SPBFUT; ACTION=NEW_ORDER; TYPE=L; SECCODE=RIU9;

short ???
TRANS_ID=011547593; PRICE=94680; QUANTITY=1; OPERATION=S; CLASSCODE=SPBFUT; ACTION=NEW_ORDER; TYPE=L; SECCODE=RIU9;

buy ???
TRANS_ID=011657591; PRICE=94195; QUANTITY=1; OPERATION=B; CLASSCODE=SPBFUT; ACTION=NEW_ORDER; TYPE=L; SECCODE=RIU9;

cover ???
TRANS_ID=011732594; PRICE=94725; QUANTITY=1; OPERATION=B; CLASSCODE=SPBFUT; ACTION=NEW_ORDER; TYPE=L; SECCODE=RIU9;

sell ????
TRANS_ID=011814592; PRICE=93745; QUANTITY=1; OPERATION=S; CLASSCODE=SPBFUT; ACTION=NEW_ORDER; TYPE=L; SECCODE=RIU9;

short ????
TRANS_ID=011828593; PRICE=94885; QUANTITY=1; OPERATION=S; CLASSCODE=SPBFUT; ACTION=NEW_ORDER; TYPE=L; SECCODE=RIU9;

cover ??????
TRANS_ID=011842594; PRICE=95305; QUANTITY=1; OPERATION=B; CLASSCODE=SPBFUT; ACTION=NEW_ORDER; TYPE=L; SECCODE=RIU9;

cover ???????????????
TRANS_ID=012123594; PRICE=96055; QUANTITY=1; OPERATION=B; CLASSCODE=SPBFUT; ACTION=NEW_ORDER; TYPE=L; SECCODE=RIU9;
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пн Июн 29, 2009 10:26 pm Ответить с цитатой Вернуться к началу

Да. Это фигня голимая... Строки из tri подряд?
А выложи кусок с exrem()ами. Скорее всего там ошибка.

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



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

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

да из tri!
причем в реальном времени.
это уже с Экстремами.

я тут обнаружил косяк - в Ref положительные числа - в будущее смотрел,
счас переделал завтра заново буду тестировать и внимательно следить.
Посмотреть профиль Отправить личное сообщение
Novi4ok



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

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

отсеиваю сигналы дважды:

1) сначала идет блок истинности сигналов:
тут проверяется на истинность Buy и Short.

истинный сигнал Buy/Short означает, что либо это первый сигнал вообще, либо до него сработали стопы.

2) в конце программы отсеиваю повторные выходы
с помощью
Sell = ExRem(Sell, Buy);
Cover = ExRem(Cover, Short);

===
система на часовиках

===
только в лонг или только в шорт все верно работает,
а вот и в лонг и в шорт начинается кутерьма.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Угу. Вот в чем там засада. Лонги и шорты между собой никак не связаны и лонговые сигналы никак не фильтруются если система в шорте и наоборот. Поэтому вполне возможен вариант когда система одновременно и в лонге и в шорте. Проще всего это фильтрануть с помощбю ф-ции Equity(); но можно и так. Правда сейчас попробовал без эквити, получатся очень замороченно. Sad

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



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

СообщениеДобавлено: Вт Июн 30, 2009 10:03 am Ответить с цитатой Вернуться к началу

знать бы что конкретно и как делает эта функция...
и чем отличается Equity(1) от Equity(1,0)
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Июн 30, 2009 10:09 am Ответить с цитатой Вернуться к началу

СИНТАКСИС equity( Flags = 0, RangeType = -1, From = 0, To = 0 )
ВОЗВРАЩАЕТ МАССИВ
ФУНКЦИЯ ПРИМЕЧАНИЕ: Эта функция служит для совместимости со старыми версиями и использования старого, не портфельного тестера. Теперь лучше использовать портфельную эквити (специальный тикер ~~~EQUITY).
Функция:
Возвращает эквити для одного символа базирующуюся на правилах покупки/продажи/короткой продажи/закрытия короткой продажи, buy/sell/short/coverprice массивах, всех стопов (apply stops), и всех других настройках тестера. Flags - определяет поведение функции Equity


0 : (default) Equity работает как в версии 3.98 - просто вычисляет массив капитала
1 : работает как и 0 и еще отфильтровывает массивы buy/sell/short/cover, удаляет все излишние сигналы как это делает тестер а так же расчитывает срабатывание всех стопов. Таким образом становится возможна визуализация срабатывания функции ApplyStop().
2 : (расширенный) работает как и 1, но не возвращает назад сигналы buy/sell/short/cover после смещения в соответствии с настройками задержки (delays). Примечание: этот режим возможен но 99% случаев не должен быть использован.
Остальные значения зарезервированы на будущее.
RangeType - определяет используемый дипазон котировок:
-1 : (по умолчанию) использует диапазон установленый в Automatic analysis
0 : все данные
1 : n последних данных (n определяется параметром 'From')
2 : n последних дней (n определяется параметром 'From')
3 : С/По дату

From : определяет начальную дату (datenum) (если RangeType == 3) или параметр "n" (если RangeType == 1 or 2)
To: определяет конечную дату (datenum) (если RangeType == 3) в других случаях игнорируется

datenum обозначает дату так же как функция DateNum()- YYYMMDD
где YYY обозначает (год - 1900), MM - месяц, DD - день

31 декабрья 1999 должен быть записан в виде 991231
21 мая 2001 должен быть записан в виде 1010521 Все эти параметры оценены на момент вызова функции Equity. Полный массив капитала генерируется сразу. Изменения в правилах buy/sell/short/cover после вызова Equity не учитываются. функция Equity() может быть использована несколько раз в одном коде.

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


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

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

Отличие Equity(1) от Equity(1,0) в том, что первая сработает на диаппазоне установленом в АА а вторая на всех данных.

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



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

СообщениеДобавлено: Вт Июн 30, 2009 10:48 am Ответить с цитатой Вернуться к началу

Код:
1 : работает как и 0 и еще отфильтровывает массивы buy/sell/short/cover, удаляет все излишние сигналы как это делает тестер а так же расчитывает срабатывание всех стопов. Таким образом становится возможна визуализация срабатывания функции ApplyStop().


так можно тогда стопы в робота через ApplyStop() ставить?

===
у робота интервал 1 последний бар
поэтому лучше применять Equity(1,0) вместо Equity(1)?
Посмотреть профиль Отправить личное сообщение
Novi4ok



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

СообщениеДобавлено: Вт Июн 30, 2009 12:07 pm Ответить с цитатой Вернуться к началу

применил Equity(1,0)
уже стал радоваться, что все сигналы ровненькие, и тут на тебе:

TRANS_ID=071909591; PRICE=54400; QUANTITY=1; OPERATION=B; CLASSCODE=Group 255; ACTION=NEW_ORDER; TYPE=L;

TRANS_ID=072109592; PRICE=54070; QUANTITY=1; OPERATION=S; CLASSCODE=Group 255; ACTION=NEW_ORDER; TYPE=L;

TRANS_ID=072329593; PRICE=55805; QUANTITY=1; OPERATION=S; CLASSCODE=Group 255; ACTION=NEW_ORDER; TYPE=L;

TRANS_ID=072109591; PRICE=54240; QUANTITY=1; OPERATION=B; CLASSCODE=Group 255; ACTION=NEW_ORDER; TYPE=L;

TRANS_ID=072329592; PRICE=54500; QUANTITY=1; OPERATION=S; CLASSCODE=Group 255; ACTION=NEW_ORDER; TYPE=L;

TRANS_ID=071649591; PRICE=49655; QUANTITY=1; OPERATION=B; CLASSCODE=Group 255; ACTION=NEW_ORDER; TYPE=L;

TRANS_ID=071709592; PRICE=49640; QUANTITY=1; OPERATION=S; CLASSCODE=Group 255; ACTION=NEW_ORDER; TYPE=L;
Посмотреть профиль Отправить личное сообщение
Novi4ok



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

СообщениеДобавлено: Вт Июн 30, 2009 3:43 pm Ответить с цитатой Вернуться к началу

ох боже ж мой
дальше вообще ужас

и это я убрал все свои фильтры, хотя сигналы на стоп и зависят от сигналов на buy

получается вот ерунда:
TRANS_ID=071749591; PRICE=51630; QUANTITY=1; OPERATION=B; CLASSCODE=Group 255; ACTION=NEW_ORDER; TYPE=L;
TRANS_ID=071829592; PRICE=51560; QUANTITY=1; OPERATION=S; CLASSCODE=Group 255; ACTION=NEW_ORDER; TYPE=L;
TRANS_ID=071609592; PRICE=51860; QUANTITY=1; OPERATION=S; CLASSCODE=Group 255; ACTION=NEW_ORDER; TYPE=L;
TRANS_ID=071929591; PRICE=52230; QUANTITY=1; OPERATION=B; CLASSCODE=Group 255; ACTION=NEW_ORDER; TYPE=L;
TRANS_ID=071049593; PRICE=51310; QUANTITY=1; OPERATION=S; CLASSCODE=Group 255; ACTION=NEW_ORDER; TYPE=L;
TRANS_ID=071049594; PRICE=51310; QUANTITY=1; OPERATION=B; CLASSCODE=Group 255; ACTION=NEW_ORDER; TYPE=L;

т.е.
buy
sell
sell
buy
short
cover
Shocked
Посмотреть профиль Отправить личное сообщение
Novi4ok



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

СообщениеДобавлено: Вт Июн 30, 2009 4:19 pm Ответить с цитатой Вернуться к началу

хм... вспомнил!
я ж на барреплей счас тестирую
все дни подряд
может из-за этого получаются сигналы невпопад

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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen