Начать новую тему Ответить на тему |
Список форумов 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
|
Все верно. Только отступ не надо делать слишком большим. Если сделать слишком большим, то может случиться ситуация, что цена в заявке будет за пределами границы допустимого диапазона и заявка не исполнится хотя по идее все ок.
Ипо чтению .tro Я бы проверял не в момент когда выход из позы, а при подаче заявки. Типа в .tri записали и ждем что будет в .tro, если все ок, то запоминаем, что позиция открыта.
Вообще в планах есть сделать "рыбу" подобного робота. Только вот не знаю как со временем будет.... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
000 писал(а): |
Вообще в планах есть сделать "рыбу" подобного робота. Только вот не знаю как со временем будет.... |
Я этим как раз занимаюсь параллельно с тестами вариантов систем. Как сделаю и протестирую, выложу сюда окончательный вариант. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Вот блин, покурил мануал для квика насчет tro-файлов. Там самое интересующий параметр в строке, соотвествующий нашей заявки с определенным TRANS_ID это параметр STATUS. Это результат выполнения операции, при значении=3 - транзакция выполнена. Но вот пример в хелпе меня ваще смутил.
Цитата: |
TRANS_ID=14;STATUS=0;TRANS_NAME="Ввод заявки"; DESCRIPTION="Отправлена транзакция";
TRANS_ID=14;STATUS=3;TRANS_NAME="Ввод заявки"; DESCRIPTION="(160) Заявка на покупку N 68359610 зарегистрирована."; ORDER_NUMBER=68359610; |
Это, черт подери, что же получается. Этот параметр нам говорит не то, что заявка выполнена, а что она ПРОСТО попала в стакан???
Это же тогда полный щыт, как же тогда проверить, выполнилась заявка или нет? Отправил на форуме квика вопрос разработчикам, буду ждать ответа..
Еще параллельно ищу какой-нить воркараунд этого. В три-файл можно писать параметр заявки EXECUTION_CONDITION=FILL_OR_KILL - исполнить немедленно или отклонить - возможно с ним получится сделать проверку, но не факт. Вообще есть у кого-нить мысли как проверять исполнение заявки? Поделитесь опытом |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
А этот FILL_OR_KILL и на мамбе и на фортс будет работать?
И вот еще. Любопытно, а возможно, что заявка отправлена и исполнена, а в .tro ничего не поступило? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
hardcam
Зарегистрирован: 12.11.2010
Сообщения: 124
|
spitfire писал(а): |
hardcam писал(а): |
чтобы покупать по рынку на следующем баре после сигнала(считай на открытии) что нужно поставить? |
Надо делать отступ по больше - переменая Otstup. По сути кидается лимитник с ценой, которая как пить дать должна быть удовлетворена сразу при попадании в стакан лучшим предложением. В коде она задается в виде процента от цены. Имеет смысл писать то макс. проскальзывание, которое ты себе можешь позволить при входе в рынок.
|
процент от цены закрытия прошлого бара?
по поводу проскальзывания не волнуюсь
руками покупаю по рынку..не дожидаясь ни чего |
|
|
Посмотреть профиль Отправить личное сообщение |
|
hardcam
Зарегистрирован: 12.11.2010
Сообщения: 124
|
а это что значит??
Equity(1, 0);
Buy = LastValue(Ref(Buy, -1));
Sell = LastValue(Ref(Sell, -1));
Short = LastValue(Ref(Short, -1));
Cover = LastValue(Ref(Cover, -1)); |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Функция Equity(1, 0); фактически активизирует тестер и таким макаром удаляет повторяющиеся сигналы на сделку, а
Buy = LastValue(Ref(Buy, -1));
Sell = LastValue(Ref(Sell, -1));
Short = LastValue(Ref(Short, -1));
Cover = LastValue(Ref(Cover, -1));
выделяет сигнал на сделку на предпоследнем баре. Это сделано для того, чтобы исключить так называемые "пропадающие" сигналы и сделка осуществляется сразу на открытии следующего после сигнального бара. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
000 писал(а): |
А этот FILL_OR_KILL и на мамбе и на фортс будет работать?
И вот еще. Любопытно, а возможно, что заявка отправлена и исполнена, а в .tro ничего не поступило? |
Если не ошибаюсь, это стандратный вид брокерских заявок, независящих от самой биржи. Есть заявки дневные, есть при открытии биржи, при ее закрытии, а есть вот такие "молнии" - все или ничего
Судя по хелпу, в тро-файл квик всегда пришет - в момент принятия из три файлы заявки и отправки ее на биржу..
Чет мне ответили на форуме квика что через тро-файл никак не проверить статус исполнения заявки - мечты о хуллиардах баксов рушатся прямо на глазах... Типа эти файлы отвечают только за ОТПРАВКУ заявок на биржу, контроля исполнения заявки там нет |
Последний раз редактировалось: spitfire (Ср Фев 02, 2011 11:16 pm), всего редактировалось 1 раз |
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Собсно сам процесс работы с три и тро квиком:
Цитата: |
Схема взаимодействия между программами выглядит следующим образом:
1. Внешняя программа формирует транзакцию с заданными параметрами и записывает ее в виде новой строки в .tri-файл. Транзакции идентифицируются по дополнительному целочисленному параметру TRANS_ID, содержащему уникальный номер.
2. Система QUIK опрашивает с определенной периодичностью .tri-файл с параметрами транзакций и передает в торговую систему ранее не обработанные транзакции. Если описание транзакции не соответствует принятому формату, то она отвергается.
3. Результат действий записывается в .tro-файл в формате, приемлемом для чтения внешней программой. Каждая строка файла содержит информацию об обработке отдельной транзакции, различаемые по параметру TRANS_ID.
4. При обработке внешней программой результатов операции (на ММВБ), выводимых в .tro-файл, регистрационный номер заявки в торговой системе указывается в текстовом сообщении, возвращаемом торговой системой (поле «DESCRIPTION»), а также параметром ORDER_NUMBER.
|
|
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
hardcam
Зарегистрирован: 12.11.2010
Сообщения: 124
|
000 писал(а): |
Функция Equity(1, 0); фактически активизирует тестер и таким макаром удаляет повторяющиеся сигналы на сделку, а
Buy = LastValue(Ref(Buy, -1));
Sell = LastValue(Ref(Sell, -1));
Short = LastValue(Ref(Short, -1));
Cover = LastValue(Ref(Cover, -1));
выделяет сигнал на сделку на предпоследнем баре. Это сделано для того, чтобы исключить так называемые "пропадающие" сигналы и сделка осуществляется сразу на открытии следующего после сигнального бара. |
понял т.е. тут тоже ни чего не трогаем) |
|
|
Посмотреть профиль Отправить личное сообщение |
|
hardcam
Зарегистрирован: 12.11.2010
Сообщения: 124
|
spitfire писал(а): |
000 писал(а): |
А этот FILL_OR_KILL и на мамбе и на фортс будет работать?
И вот еще. Любопытно, а возможно, что заявка отправлена и исполнена, а в .tro ничего не поступило? |
Если не ошибаюсь, это стандратный вид брокерских заявок, независящих от самой биржи. Есть заявки дневные, есть при открытии биржи, при ее закрытии, а есть вот такие "молнии" - все или ничего
Судя по хелпу, в тро-файл квик всегда пришет - в момент принятия из три файлы заявки и отправки ее на биржу..
Чет мне ответили на форуме квика что через тро-файл никак не проверить статус исполнения заявки - мечты о хуллиардах баксов рушатся прямо на глазах... Типа эти файлы отвечают только за ОТПРАВКУ заявок на биржу, контроля исполнения заявки там нет |
т.е. статуса заявки не будет в таблице заявок?? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Цитата: |
Если не ошибаюсь, это стандратный вид брокерских заявок, независящих от самой биржи |
Я спросил потому, что это похоже на "по рынку", а на фортс таких заявок вроде нет. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
hardcam писал(а): |
т.е. статуса заявки не будет в таблице заявок?? |
Статуса исполнения зявки в tro-файле не будет. Мне тут на квик-форуме ответили, что надо работать с Таблицей Заявок самого Квика, обращаясь к полю "Состояние". Способы такие:
1. С помощью qPile. Есть пример: http://quik.ru/forum/qpile/47845/47857/
2. Экспортировать Таблицу Заявок по ODBC в какую-нибудь базу данных а к базе данных в свою очередь обратиться из своей программы.
3. Экспортировать по DDE в Excel или в свою программу
4. Использовать API.
2 пункт для меня точно отпадает, я в этом не шарю Буду думать над 1ым, 3им и 4ым..
Для первого пука даж примерно все ясно. Роботом кидаем транзакцию в три-файл, потом из тро-файла считываем номер заявки на бирже, с помощью мини-прожки на qpile экспортируем таблицу заявок в файлик, его открываем роботом, и ищем строчку с номером нашей заявкой и смотрим поле "Состояние". Как то так.
Вообще конечно хочется чтобы все было в коде робота, и не использовались еще какие-то сторонние глючные проги В API Квика используется библиотека Trans2QUIK.dll. Олег, ты когда нибудь в коде использовал внешние библиотеки? Как их подключать к телу робота и передавать амишные массивы в вызовах внешних функций? Я там глянул переменные, которые используются при вызовах - там есть указатели на переменные, меня это пугает сильно. |
Последний раз редактировалось: spitfire (Чт Фев 03, 2011 10:57 am), всего редактировалось 2 раз(а) |
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
000 писал(а): |
Я спросил потому, что это похоже на "по рынку", а на фортс таких заявок вроде нет. |
Не, это не рыночная заявка. Это по сути тот же самый лимитник, просто у него время жизни оч мелкое Кидается в стакан, если не находит по нужной цене встречную заявку, то отменяется. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Ясно. Это хорошо. |
_________________ 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 След. |
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|