Автор |
Сообщение |
prostrate
Зарегистрирован: 27.06.2010
Сообщения: 7
|
Доброго времени суток.
Давно назревал этот вопрос. Все время занимался прошивками микроконтоллеров, поэтому привык, что все проги - это бесконечные циклы с засыпанием и с просыпанием от прерывания. Поэтому, когда тестил стратегию на ами по истории изменения цен, то все просто было, там один прогон проги и все. А вот как сделать автомат 24/7, чтобы он включался перед началом торгов, проводил предсессионные манипуляции и отключался после завершения торговой сессии? Как понимаю, квик, висящий в памяти, после настройки экспорта сам автоматически начнет передавать данные в ами при каждом начале торговой сессии? Тогда вопрос состоит том, как сделать фактически бесконечный цикт в ами с постоянно проверкой времени или появления первых данный с квика, учитывая, что количество итераций цикла в ами ограничено, а та же команда sleep не поддерживается? или есть более изящное решение этой проблемы?
заранее благодарен за совет, и прошу извинить, если уж слишком узко мыслю. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
http://amisite.ru/afl/exp/0001.htm
Робот готов работать столько пока стоит галочка "Run Every.." - вот вам и бесконечный цикл.
В квике можно настроить во сколько он подключается к серверам брокера.
Запуск программ и выключение можно настроить с помощью какой-нибудь внешней программы, xStarter к примеру. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
prostrate
Зарегистрирован: 27.06.2010
Сообщения: 7
|
Немного не понял. Своего робота я писал целиком в окне формулы амиброкера, не затачивая его под анализатор. При попытке прогнать его анализом, выдается ошибка, ибо сами сигналы sell и buy у меня закинуты далеко в тела циклов и условий, да и вход в позицию начинается по ступеням, а не целиком, то есть не просто buy всей суммой. Как я понял, эти команды должны быть в корне программы, но тогда само тело моей проги не выполняется. Я бы не против был запустить выполнение окна формулы без анализатора, но это получается постоянно цикл с проверкой в периоды ожидания, то есть загрузка под завязку проца. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Где вопрос? Алгоритм Вашего робота я не понял, зато скинул версию рабочего и проверенного робота. Более продвинутую версию можете найти тут же на форуме.
Насчет загрузки проца. Купите себе многоядерный процессор - будет грузиться только одно ядро. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
prostrate
Зарегистрирован: 27.06.2010
Сообщения: 7
|
Всего чуть не хватило внимания и/или понимания. Разобрался, может не так, как должно быть правильно, но результат меня полностью устроил. За что огромное спасибо, spitfire. И еще один вопрос - что лучше/быстрее/надежнее - транзакции в квик через файл или через API ? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Если робота запускаешь через Ами, то в скорости не будет разницы ни через файл, ни через Api. Сама Ами просто не подходит для быстрой торговли.
Но через Api вроде пофункциональней будет, через файл ты можешь только заявки (стопы) кидать/снимать, через Апи вроде можно еще проверки на исполнение делать. Вообще с Апи не работал, так как не хватает программистких навыков.
Насчет надежности. Скажу только по своему роботу, который работает через файл транзакций + DDE. Запускается на виртуальной машине в понедельник, виртуалку выключаю в пятницу ночью (ну еще чтобы комп ночью не работал, на ночь виртуалку перевожу в Suspended-состояние). За 3 месяца ни одного сбоя не было. Если что, виртуалка на WinServer 2003 R2 |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
prostrate
Зарегистрирован: 27.06.2010
Сообщения: 7
|
spitfire писал(а): |
Вообще с Апи не работал, так как не хватает программистких навыков. |
Случайно наткнулся в инете на софт http://ttools.ru. Пусть это не слишком этично, размещать на форуме одной программы ссылки на другую, но это реальное разрешение проблемы. Ами это только тестер оффлайн стратегий, а вот эта софтина как раз позволяет торговать в реальном времени, реализуя как раз весь функционал APi от квика, а данные качает прямо из адресного простраства квика, что дает тот же стакан почти без задержек. Тело робота пишется на любом языке, только скомпилить надо в дллку. + подробный хелп, + бесплатна, +русская. минус только один - напрямую не работает с историей, только динамические значения. историю или через скрипты qpile доставать, или уже dde настраивать и считывать в своей проге. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Знаю эту приблуду. Только не понял какое это отношение имеет к Ами? Робота на afl вы не сможете превратить в dll'ку. Разве что перегоните код в в .NET с помощью сторонних средств типа http://www.dotnetforab.com/ |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
prostrate
Зарегистрирован: 27.06.2010
Сообщения: 7
|
Нет, к Ами никакого отношения не имеет. Просто это софт, который использует API, и не нужно заморачиваться в программировании, чтоб их присостыковать к Ами. А дллку я переписал на Паскале в Делфи. Еще проще написать дллку в С/С++, благо синтаксис не меняется, только переменные, зарезервированные в Ами, надо переучить на С. И никакого .NET. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
|