Начать новую тему Ответить на тему |
Список форумов AmiSite.ru » Роботы |
На страницу Пред. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 След. |
Автор |
Сообщение |
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
TDG писал(а): |
С идентификаторами понятно, спасибо.
Только почему не использовать квиковскую проверку идентификатора? Он вроде читает из файла *.tro какие транзакции уже обработаны... А сам идентификатор задавать, на пример по предыдущему бару...
из инструкции к квику: |
Можно и так. Только есть вероятность, что ами засрет .tri одинаковыми строками. Зачем?
TDG писал(а): |
А по проскальзыванию еще вопрос.
1. Можно пример: пусть система должна купить при пересечении ценой уровня 1200. Тогда если цена пересечет его, какую цену робот выставит? 1212 или 1188 (если рассматривать 1 процент).
Правильно я понимаю что выставит 1212, но она исполнится по лучшей в данный момент в стакане, например 1203...? фактически брокер может исполнить ее по любой ему удобной цене, вплоть до 1212?
|
Совершенно верно. Заявка уйдет по 1212 но исполнится по лучшей на данный момент.
Заявки исполняет не брокер, биржа и на этот счет есть правила. Исполнится по лучшей цене.
TDG писал(а): |
2. Почему нельзя просто поставить TYPE=M, чтобы рыночная заявка была? |
Да вроде на фортс рыночных нет... (если не ошибаюсь) Т.е. так сделано для универсальности. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
TDG
Зарегистрирован: 15.01.2008
Сообщения: 34
Откуда: Нижний Новгород
|
Все ясно, спасибо. А вообще робот суперский. Сегодня погонял через симулятор, все четко |
|
|
Посмотреть профиль Отправить личное сообщение |
|
TDG
Зарегистрирован: 15.01.2008
Сообщения: 34
Откуда: Нижний Новгород
|
Олег, обнаружилась проблема.
сегодня одну сделку робот пропустил (не записал в файл).
Думаю из-за того, что в этот же момент была сделка по другому инструменту (это я уже вечером посмотрел по минутному графику, сигнал на одной и той же минутке). То есть по одному инструменту сигнал записал, по другому нет. Интервал часовой, скан через 2 сек.
Что-нибудь посоветуешь?
Или может еще какие причины могут быть? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
TDG писал(а): |
Олег, обнаружилась проблема.
сегодня одну сделку робот пропустил (не записал в файл).
|
Фиг его знает почему. Трудно сказать ничего не зная. Конечно это нехороший звонок и обязательно надо выяснить в чем дело. Попробуй погоняй на симуляторе. Я ща обдумываю концепцию совершенно нового, адвансетного робота. Только скоро не ждите
TDG писал(а): |
Думаю из-за того, что в этот же момент была сделка по другому инструменту (это я уже вечером посмотрел по минутному графику, сигнал на одной и той же минутке). То есть по одному инструменту сигнал записал, по другому нет. Интервал часовой, скан через 2 сек.
Что-нибудь посоветуешь?
Или может еще какие причины могут быть? |
Вообще в ID записи в tri код бумаги со сделкой должен учитываться через Full Name куда надо было внести двузначный код разный для всех символов. По идее если сигнал возник, то ему соответствует свой ID и если такой сигнал не записан в tri, то робот его пишет. Косяк может быть в том, что одинаковый код символов забит в Full Name или воможно сигнал появился на такой короткий срок, что робот не успел его выполнить (напрмр он возник в самом конце свечи, меньше чем за 2 сек до закрытия и прогона в этот момент небыло, а потом уже появилась следующая свеча без сигнала) |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
TDG
Зарегистрирован: 15.01.2008
Сообщения: 34
Откуда: Нижний Новгород
|
В том и проблема, что через симулятор все пишется. Номера все занесены. Может интервал сделать поменьше, например 1 сек?
И в целом как связан интервал сканирования и N quotantions=1? Что на что влияет?
А сегодня еще интересный момент заметил. Вчера в 18.00 по системе должна быть сделка по Лукойлу вверх (по пробою РС3 вверх). Робот ее записал и исполнил. А сегодня утром эту же сделку записал повторно (в идентификаторе время 18.00). Она не исполнилась, т.к. торги еще не начались, но сам факт неприятный. Видимо обновилась история или еще что, хотя вчера история догружалась до самого конца торгов...
Пока не придумал как этого избежать. Может в идентификатор добавить дату и очищать файл с транзакциями не полностью, а кроме сделок на последней свечке? т.к. файл с транзакциями утром был пустой, и поэтому в него повторно попала сделка, которая уже была. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Цитата: |
И в целом как связан интервал сканирования и N quotantions=1? Что на что влияет?
|
Интервал сканирования это как часто робот будет проверять сигналы системы. В принципе чем чаще, том лучше. Если интервал сделать слишком большим, то
во первых
возможна ситуация когда сигнал появился в самом конце формирования бара а робот не просканировал, и уже появился новый бар и робот пропустит сигнал
во вторых
сигналы будут исполнаяться с задержкой которая может в некоторых случаях приводить к значительному скольжению...
а N quotantions=1 это на скольки последних барах робот будет проверять сигнал. 1 - значит только на последнем.
Цитата: |
А сегодня еще интересный момент заметил. Вчера в 18.00 по системе должна быть сделка по Лукойлу вверх (по пробою РС3 вверх). Робот ее записал и исполнил. А сегодня утром эту же сделку записал повторно (в идентификаторе время 18.00). Она не исполнилась, т.к. торги еще не начались, но сам факт неприятный. Видимо обновилась история или еще что, хотя вчера история догружалась до самого конца торгов...
|
А tri файл видимо почистил (удалил вчерашние заявки)? Скорее всего получилось так. Робот просканировал последную свечку, она была еще вчерашная, а записи транзакции в кеш нету т.к. её удалили, вот он её и записал еще раз. Дату можно было бы добавить, то к сожалению длинна ID ограничена и скорее всего дата просто не влезет. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
TDG
Зарегистрирован: 15.01.2008
Сообщения: 34
Откуда: Нижний Новгород
|
000 писал(а): |
Дату можно было бы добавить, то к сожалению длинна ID ограничена и скорее всего дата просто не влезет. |
Ну я сегодня попробовал добавить LastValue (Day() ) в идентификатор, пока вроде не ругается. Поглядим что будет когда день будет двузначным... Если не будет помещаться, думаю можно будет время поменять (например писать туда только часы).
В принципе это актуально только в тех случаях, когда сигнал появляется на последней свечке.. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
TDG писал(а): |
000 писал(а): |
Дату можно было бы добавить, то к сожалению длинна ID ограничена и скорее всего дата просто не влезет. |
Ну я сегодня попробовал добавить LastValue (Day() ) в идентификатор, пока вроде не ругается. Поглядим что будет когда день будет двузначным... Если не будет помещаться, думаю можно будет время поменять (например писать туда только часы).
В принципе это актуально только в тех случаях, когда сигнал появляется на последней свечке.. |
Это вообще не актуально, т.к. даже при отправке заявки она не исполняется. |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
Fastin
Зарегистрирован: 09.07.2010
Сообщения: 9
|
Здравствуйте!
Спасибо вам, Олег, за сканер очень хорошая штука!
Подскажите, пожалуйста чему равен минимально возможный интервал сканирования? 1 сек или можно меньше?
Просто обратил внимание, что через индикатор вроде как шустрее. В сканере сейчас 1сек. и с какой периодичностью считается индикатор если через него? но вот только напрягает, что через индикатор Ами не свернуть( |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Минимальное время 1 сек. Если через индикатор, то обычно чуть быстрее, но не гарантировано. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Osiris
Зарегистрирован: 09.12.2009
Сообщения: 48
Откуда: Msk
|
000 писал(а): |
Минимальное время 1 сек. Если через индикатор, то обычно чуть быстрее, но не гарантировано. |
Пришёл в выводу, что Ами не может работать быстрее секунды.
Прикрутил вывод транзакций индикатором через API, заявки летели с интервалом в 1 секунду.
Так что хоть сканер, хоть индикатор, разницы в скорости никакой. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
belin
Зарегистрирован: 09.09.2009
Сообщения: 230
Откуда: wealth-lab user
|
Osiris писал(а): |
Прикрутил вывод транзакций индикатором через API, заявки летели с интервалом в 1 секунду. |
Если в <Preferences><Intraday><Realtime chart refresh interval> поставить 0, то перерисовка индикаторов идет при каждом поступлении данных, у меня по умолчанию стояла 1. Посмотри, может это ускорит? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Osiris
Зарегистрирован: 09.12.2009
Сообщения: 48
Откуда: Msk
|
belin писал(а): |
Если в <Preferences><Intraday><Realtime chart refresh interval> поставить 0, то перерисовка индикаторов идет при каждом поступлении данных, у меня по умолчанию стояла 1. Посмотри, может это ускорит? |
Спасибо belin. Как-то я упустил из-виду эту опцию. На глаз стало работать быстрее, так что + пол секунды нашему роботу))) |
|
|
Посмотреть профиль Отправить личное сообщение |
|
lesser
Зарегистрирован: 11.07.2010
Сообщения: 7
|
Привет , всем .
Хочу прикрутить робота для торговли фьючем на 15 минутных барах , почемуто если появляеться сигнал робот пишет в три файл заявку на каждом тике весь следующий бар
Что может быть не так?
вот .три файл
TRANS_ID=011415001; PRICE=1980.86; QUANTITY=1; OPERATION=B; CLASSCODE=XXXX; ACTION=NEW_ORDER; TYPE=L; SECCODE=XXX; ACCOUNT=XXXXX; CLIENT_CODE=XXXXX;
TRANS_ID=011415004; PRICE=1980.86; QUANTITY=1; OPERATION=B; CLASSCODE=XXXX; ACTION=NEW_ORDER; TYPE=L; SECCODE=XXX; ACCOUNT=XXXXX; CLIENT_CODE=XXXXX;
TRANS_ID=011416001; PRICE=1982.36; QUANTITY=1; OPERATION=B; CLASSCODE=XXXX; ACTION=NEW_ORDER; TYPE=L; SECCODE=XXX; ACCOUNT=XXXXX; CLIENT_CODE=XXXXX;
TRANS_ID=011416004; PRICE=1982.36; QUANTITY=1; OPERATION=B; CLASSCODE=XXXX; ACTION=NEW_ORDER; TYPE=L; SECCODE=XXX; ACCOUNT=XXXXX; CLIENT_CODE=XXXXX;
TRANS_ID=011419001; PRICE=1978.62; QUANTITY=1; OPERATION=B; CLASSCODE=XXXX; ACTION=NEW_ORDER; TYPE=L; SECCODE=XXX; ACCOUNT=XXXXX; CLIENT_CODE=XXXXX;
TRANS_ID=011419004; PRICE=1978.62; QUANTITY=1; OPERATION=B; CLASSCODE=XXXX; ACTION=NEW_ORDER; TYPE=L; SECCODE=XXX; ACCOUNT=XXXXX; CLIENT_CODE=XXXXX;
TRANS_ID=011420001; PRICE=1979.85; QUANTITY=1; OPERATION=B; CLASSCODE=XXXX; ACTION=NEW_ORDER; TYPE=L; SECCODE=XXX; ACCOUNT=XXXXX; CLIENT_CODE=XXXXX;
TRANS_ID=011420004; PRICE=1979.85; QUANTITY=1; OPERATION=B; CLASSCODE=XXXX; ACTION=NEW_ORDER; TYPE=L; SECCODE=XXX; ACCOUNT=XXXXX; CLIENT_CODE=XXXXX;
TRANS_ID=011424001; PRICE=1978.85; QUANTITY=1; OPERATION=B; CLASSCODE=XXXX; ACTION=NEW_ORDER; TYPE=L; SECCODE=XXX; ACCOUNT=XXXXX; CLIENT_CODE=XXXXX;
TRANS_ID=011424004; PRICE=1978.85; QUANTITY=1; OPERATION=B; CLASSCODE=XXXX; ACTION=NEW_ORDER; TYPE=L; SECCODE=XXX; ACCOUNT=XXXXX; CLIENT_CODE=XXXXX;
TRANS_ID=011425001; PRICE=1978.85; QUANTITY=1; OPERATION=B; CLASSCODE=XXXX; ACTION=NEW_ORDER; TYPE=L; SECCODE=XXX; ACCOUNT=XXXXX; CLIENT_CODE=XXXXX;
TRANS_ID=011425004; PRICE=1978.85; QUANTITY=1; OPERATION=B; CLASSCODE=XXXX; ACTION=NEW_ORDER; TYPE=L; SECCODE=XXX; ACCOUNT=XXXXX; CLIENT_CODE=XXXXX;
TRANS_ID=011426001; PRICE=1981.86; QUANTITY=1; OPERATION=B; CLASSCODE=XXXX; ACTION=NEW_ORDER; TYPE=L; SECCODE=XXX; ACCOUNT=XXXXX; CLIENT_CODE=XXXXX;
TRANS_ID=011426004; PRICE=1981.86; QUANTITY=1; OPERATION=B; CLASSCODE=XXXX; ACTION=NEW_ORDER; TYPE=L; SECCODE=XXX; ACCOUNT=XXXXX; CLIENT_CODE=XXXXX;
TRANS_ID=011427001; PRICE=1982.85; QUANTITY=1; OPERATION=B; CLASSCODE=XXXX; ACTION=NEW_ORDER; TYPE=L; SECCODE=XXX; ACCOUNT=XXXXX; CLIENT_CODE=XXXXX;
TRANS_ID=011427004; PRICE=1982.85; QUANTITY=1; OPERATION=B; CLASSCODE=XXXX; ACTION=NEW_ORDER; TYPE=L; SECCODE=XXX; ACCOUNT=XXXXX; CLIENT_CODE=XXXXX;
TRANS_ID=011428001; PRICE=1983.87; QUANTITY=1; OPERATION=B; CLASSCODE=XXXX; ACTION=NEW_ORDER; TYPE=L; SECCODE=XXX; ACCOUNT=XXXXX; CLIENT_CODE=XXXXX;
TRANS_ID=011428004; PRICE=1983.87; QUANTITY=1; OPERATION=B; CLASSCODE=XXXX; ACTION=NEW_ORDER; TYPE=L; SECCODE=XXX; ACCOUNT=XXXXX; CLIENT_CODE=XXXXX;
А должны быть только две первых заявки |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
1. Похоже в настройках -> intraday у тебя время бара стоит end time of interval. Надо поставить start...
2. Вообще странно, что не каждую минуту заявка уходит.... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
|
Начать новую тему Ответить на тему |
Список форумов AmiSite.ru » Роботы |
На страницу Пред. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 След. |
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|