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


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

СообщениеДобавлено: Ср Фев 02, 2011 1:33 pm Ответить с цитатой Вернуться к началу

Все верно. Только отступ не надо делать слишком большим. Если сделать слишком большим, то может случиться ситуация, что цена в заявке будет за пределами границы допустимого диапазона и заявка не исполнится хотя по идее все ок.
Ипо чтению .tro Я бы проверял не в момент когда выход из позы, а при подаче заявки. Типа в .tri записали и ждем что будет в .tro, если все ок, то запоминаем, что позиция открыта.
Вообще в планах есть сделать "рыбу" подобного робота. Только вот не знаю как со временем будет....

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



Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow

СообщениеДобавлено: Ср Фев 02, 2011 2:21 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Вообще в планах есть сделать "рыбу" подобного робота. Только вот не знаю как со временем будет....

Я этим как раз занимаюсь параллельно с тестами вариантов систем. Как сделаю и протестирую, выложу сюда окончательный вариант.
Посмотреть профиль Отправить личное сообщение ICQ Number
spitfire



Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow

СообщениеДобавлено: Ср Фев 02, 2011 8:03 pm Ответить с цитатой Вернуться к началу

Вот блин, покурил мануал для квика насчет 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;

Это, черт подери, что же получается. Этот параметр нам говорит не то, что заявка выполнена, а что она ПРОСТО попала в стакан???
Question Это же тогда полный щыт, как же тогда проверить, выполнилась заявка или нет? Confused Отправил на форуме квика вопрос разработчикам, буду ждать ответа..
Еще параллельно ищу какой-нить воркараунд этого. В три-файл можно писать параметр заявки EXECUTION_CONDITION=FILL_OR_KILL - исполнить немедленно или отклонить - возможно с ним получится сделать проверку, но не факт. Вообще есть у кого-нить мысли как проверять исполнение заявки? Поделитесь опытом Cool
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


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

СообщениеДобавлено: Ср Фев 02, 2011 9:37 pm Ответить с цитатой Вернуться к началу

А этот FILL_OR_KILL и на мамбе и на фортс будет работать?
И вот еще. Любопытно, а возможно, что заявка отправлена и исполнена, а в .tro ничего не поступило?

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



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

СообщениеДобавлено: Ср Фев 02, 2011 10:38 pm Ответить с цитатой Вернуться к началу

spitfire писал(а):
hardcam писал(а):

чтобы покупать по рынку на следующем баре после сигнала(считай на открытии) что нужно поставить?

Надо делать отступ по больше - переменая Otstup. По сути кидается лимитник с ценой, которая как пить дать должна быть удовлетворена сразу при попадании в стакан лучшим предложением. В коде она задается в виде процента от цены. Имеет смысл писать то макс. проскальзывание, которое ты себе можешь позволить при входе в рынок.


процент от цены закрытия прошлого бара?
по поводу проскальзывания не волнуюсь
руками покупаю по рынку..не дожидаясь ни чего
Посмотреть профиль Отправить личное сообщение
hardcam



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

СообщениеДобавлено: Ср Фев 02, 2011 10:40 pm Ответить с цитатой Вернуться к началу

а это что значит??
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

СообщениеДобавлено: Ср Фев 02, 2011 11:08 pm Ответить с цитатой Вернуться к началу

Функция 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

СообщениеДобавлено: Ср Фев 02, 2011 11:11 pm Ответить с цитатой Вернуться к началу

000 писал(а):
А этот FILL_OR_KILL и на мамбе и на фортс будет работать?
И вот еще. Любопытно, а возможно, что заявка отправлена и исполнена, а в .tro ничего не поступило?

Если не ошибаюсь, это стандратный вид брокерских заявок, независящих от самой биржи. Есть заявки дневные, есть при открытии биржи, при ее закрытии, а есть вот такие "молнии" - все или ничего Smile
Судя по хелпу, в тро-файл квик всегда пришет - в момент принятия из три файлы заявки и отправки ее на биржу..
Чет мне ответили на форуме квика что через тро-файл никак не проверить статус исполнения заявки - мечты о хуллиардах баксов рушатся прямо на глазах... Crying or Very sad Типа эти файлы отвечают только за ОТПРАВКУ заявок на биржу, контроля исполнения заявки там нет Sad


Последний раз редактировалось: spitfire (Ср Фев 02, 2011 11:16 pm), всего редактировалось 1 раз
Посмотреть профиль Отправить личное сообщение ICQ Number
spitfire



Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow

СообщениеДобавлено: Ср Фев 02, 2011 11:13 pm Ответить с цитатой Вернуться к началу

Собсно сам процесс работы с три и тро квиком:
Цитата:
Схема взаимодействия между программами выглядит следующим образом:

1. Внешняя программа формирует транзакцию с заданными параметрами и записывает ее в виде новой строки в .tri-файл. Транзакции идентифицируются по дополнительному целочисленному параметру TRANS_ID, содержащему уникальный номер.
2. Система QUIK опрашивает с определенной периодичностью .tri-файл с параметрами транзакций и передает в торговую систему ранее не обработанные транзакции. Если описание транзакции не соответствует принятому формату, то она отвергается.
3. Результат действий записывается в .tro-файл в формате, приемлемом для чтения внешней программой. Каждая строка файла содержит информацию об обработке отдельной транзакции, различаемые по параметру TRANS_ID.
4. При обработке внешней программой результатов операции (на ММВБ), выводимых в .tro-файл, регистрационный номер заявки в торговой системе указывается в текстовом сообщении, возвращаемом торговой системой (поле «DESCRIPTION»), а также параметром ORDER_NUMBER.
Посмотреть профиль Отправить личное сообщение ICQ Number
hardcam



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

СообщениеДобавлено: Ср Фев 02, 2011 11:59 pm Ответить с цитатой Вернуться к началу

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

СообщениеДобавлено: Чт Фев 03, 2011 12:01 am Ответить с цитатой Вернуться к началу

spitfire писал(а):
000 писал(а):
А этот FILL_OR_KILL и на мамбе и на фортс будет работать?
И вот еще. Любопытно, а возможно, что заявка отправлена и исполнена, а в .tro ничего не поступило?

Если не ошибаюсь, это стандратный вид брокерских заявок, независящих от самой биржи. Есть заявки дневные, есть при открытии биржи, при ее закрытии, а есть вот такие "молнии" - все или ничего Smile
Судя по хелпу, в тро-файл квик всегда пришет - в момент принятия из три файлы заявки и отправки ее на биржу..
Чет мне ответили на форуме квика что через тро-файл никак не проверить статус исполнения заявки - мечты о хуллиардах баксов рушатся прямо на глазах... Crying or Very sad Типа эти файлы отвечают только за ОТПРАВКУ заявок на биржу, контроля исполнения заявки там нет Sad


т.е. статуса заявки не будет в таблице заявок??
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Фев 03, 2011 2:12 am Ответить с цитатой Вернуться к началу

Цитата:
Если не ошибаюсь, это стандратный вид брокерских заявок, независящих от самой биржи

Я спросил потому, что это похоже на "по рынку", а на фортс таких заявок вроде нет.

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



Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow

СообщениеДобавлено: Чт Фев 03, 2011 10:41 am Ответить с цитатой Вернуться к началу

hardcam писал(а):
т.е. статуса заявки не будет в таблице заявок??

Статуса исполнения зявки в tro-файле не будет. Мне тут на квик-форуме ответили, что надо работать с Таблицей Заявок самого Квика, обращаясь к полю "Состояние". Способы такие:
1. С помощью qPile. Есть пример: http://quik.ru/forum/qpile/47845/47857/
2. Экспортировать Таблицу Заявок по ODBC в какую-нибудь базу данных а к базе данных в свою очередь обратиться из своей программы.
3. Экспортировать по DDE в Excel или в свою программу
4. Использовать API.

2 пункт для меня точно отпадает, я в этом не шарю Smile Буду думать над 1ым, 3им и 4ым..
Для первого пука даж примерно все ясно. Роботом кидаем транзакцию в три-файл, потом из тро-файла считываем номер заявки на бирже, с помощью мини-прожки на qpile экспортируем таблицу заявок в файлик, его открываем роботом, и ищем строчку с номером нашей заявкой и смотрим поле "Состояние". Как то так.

Вообще конечно хочется чтобы все было в коде робота, и не использовались еще какие-то сторонние глючные проги Smile В API Квика используется библиотека Trans2QUIK.dll. Олег, ты когда нибудь в коде использовал внешние библиотеки? Как их подключать к телу робота и передавать амишные массивы в вызовах внешних функций? Я там глянул переменные, которые используются при вызовах - там есть указатели на переменные, меня это пугает сильно. Confused


Последний раз редактировалось: spitfire (Чт Фев 03, 2011 10:57 am), всего редактировалось 2 раз(а)
Посмотреть профиль Отправить личное сообщение ICQ Number
spitfire



Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow

СообщениеДобавлено: Чт Фев 03, 2011 10:43 am Ответить с цитатой Вернуться к началу

000 писал(а):
Я спросил потому, что это похоже на "по рынку", а на фортс таких заявок вроде нет.

Не, это не рыночная заявка. Это по сути тот же самый лимитник, просто у него время жизни оч мелкое Smile Кидается в стакан, если не находит по нужной цене встречную заявку, то отменяется.
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


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

СообщениеДобавлено: Чт Фев 03, 2011 11:05 am Ответить с цитатой Вернуться к началу

Ясно. Это хорошо.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen