Автор |
Сообщение |
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Олег, слух, вопрос есть В API Квика используется библиотека Trans2QUIK.dll. Ты когда нибудь в коде использовал внешние библиотеки? Как их подключать к телу робота и передавать амишные массивы в вызовах внешних функций? Я там глянул переменные, которые используются при вызовах - там есть указатели на переменные, меня это пугает сильно. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Ты знаешь. Я смотрел этот АПИ. На Пауке вроде даже был рабочий пример. Но там фигня в том, что никакого преимущества перед .tri .tro этот АПИ не дает. Ничего не возвращает толком. В общем я когда разбирался был совершенно удручен.
А рабочий пример смотри на пауке. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
А если не оч сложно, мог бы сюда кинуть код? Я там не зареган и поиск не работает.. Пробовал регистрироваться, но меня почему то не зарегали Подтверждение на почту так и не пришло.
А преимущества есть. Я глянул функции API, там есть такая функция TRANS2QUIK_ORDER_STATUS_CALLBACK, дык вот там мона по переменной
nStatus определить статус заявки - активна, снята или исполнена. По тро-файлу этого не сделать.
ДОП. Ксать эта фича появилась в версии 5.15 и выше, соответсвенно там API версии 1.1 - именно тут появилась возможность мониторить состояние заявки и сделок по ней. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Побыстрому нашлось вот что
Код: |
if (TRANS2QUIK_IS_DLL_CONNECTED_()!=10) { TRANS2QUIK_CONNECT_(QUIK_Path); }
OrderNum=int(TRANS2QUIK_SEND_SYNC_TRANSACTION_(sstr)); // запись транзакции через АПИ
|
А вообще лучше зарегистрируйся. Только мне дай знать в личку. Помогу с этим вопросом. В логине цифр быть не должно и желательно чтобы в почте не было. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Ага, спасибо! Сейчас просто без поиска читаю там весь форум, посвященный ami. Все подряд. Уже нашел тему про робота, вкуриваю.. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Osiris
Зарегистрирован: 09.12.2009
Сообщения: 48
Откуда: Msk
|
Тоже было время прикручивал вывод заявок через API с паука.
Spitfire, QUIK_Path выглядит таким образом (С:\\QUIK\\Robot\\), т.е. двойные слеши.
Но заявки выкидывались каждый тик, не как через tri, если в файле есть транзакция, то повторная не пишется. По API видимо нет истории отправленных транзакций.
Не стал с этим разбираться, т.к. особого прироста в скорости не заметил, хотя <секунды может что и прибавляет, на глаз не особо видно.
Так что CALLBACK тут в любом случае нужен будет. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Плагин на пауке я нашел для API, но дело в том, что он
1. Написан для предыдущей версии API
2. Функции которые оттранслированы в этом API, есть не все, что требуются. Вообще смахивает на жуткую недоделку..
В общем я пока потестирую робота с три-файлом (надо для диплома в институте ), а там буду разбираться с написанием плагинов для АМИ и API квика. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
hardcam
Зарегистрирован: 12.11.2010
Сообщения: 124
|
может я не правильно понимаю
но вывод заявок не проще ли сделать так
burga писал(а): |
Делал вывод через dde в excel, а оттуда читал следующим кодом:
Код: |
EnableScript("vbscript");
<%
OpenLots = afl("OpenLots")
RobotID = afl("RobotID")
Seccode = afl("Seccode")
Set Excel = GetObject("r:\case.xls")
NameSheet = "Robot" + CStr(RobotID)
Set SheetRobot = Excel.WorkSheets(NameSheet)
OpenLots = 0
for i = 2 to 30
TickerExcel = SheetRobot.Cells(i,3).Value
if (TickerExcel = Seccode) then
OpenLots = SheetRobot.Cells(i,8).Value
exit for
end if
Next
AFL.Var("OpenLots") = OpenLots
%>
|
|
http://amisite.ru/phpBB2/viewtopic.php?t=439&highlight=odbc |
|
|
Посмотреть профиль Отправить личное сообщение |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
О, интересная тема!
Тут правда говорится про контроль позиции, ну ксать так как раз можно узнать, выполнилась ли заявка или нет, глянув текущую позу
Да, наверное как промежуточный вариант пойдет, спасибо за ссылку. Попробую на днях прикрутить к роботу чтение таблиц экселя. Как сделаю, выложу тута. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
hardcam
Зарегистрирован: 12.11.2010
Сообщения: 124
|
spitfire писал(а): |
О, интересная тема!
Тут правда говорится про контроль позиции, ну ксать так как раз можно узнать, выполнилась ли заявка или нет, глянув текущую позу
Да, наверное как промежуточный вариант пойдет, спасибо за ссылку. Попробую на днях прикрутить к роботу чтение таблиц экселя. Как сделаю, выложу тута. |
мне кажется с экселем самое простое должно быть
и как по трудозатратам и так по удобству.
вообще читаю эту тему и понимаю что написать правила не самое сложное)))
так что пока пользуюсь системой,как советником)) |
|
|
Посмотреть профиль Отправить личное сообщение |
|
hardcam
Зарегистрирован: 12.11.2010
Сообщения: 124
|
Почитал я про файлы транзакций и пришел в ужас)
вообще не понимаю(((
а зачем кстати выводить информацию о позиции,когда можно посмотреть портфель? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
hardcam
Зарегистрирован: 12.11.2010
Сообщения: 124
|
а я правильно понял что писать .tri и .tro файлы не нужно они уже естьв квике?просто указать на них путь? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
tri робот в крайнем случае создаст сам. В квике только путь должен быть указан правильно. На счет tro не знаю. Имхо, не трудно его создать на всякий случай. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
hardcam
Зарегистрирован: 12.11.2010
Сообщения: 124
|
000 писал(а): |
tri робот в крайнем случае создаст сам. В квике только путь должен быть указан правильно. На счет tro не знаю. Имхо, не трудно его создать на всякий случай. |
т.е. по большому счету в код робота получается только вставить нужно свои правила и данные.
так а почему за позицией нельзя следить из портфеля? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Это дело вкуса - по dde можно вывести любую таблицу и из робота обрабатывать те поля, которые тебе интересны. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
|