Торговый автомат Амиброкер+Квик

  • Автор темы mehanizator1
  • Дата начала

Smirnoff

New member
Уважаемые, помогите!
Проблема такая - в разделе "установки аккаунта" (см. самый первый пост этой ветки) есть параметр TimeFrame=30 ( // таймфрейм в минутах. На других таймфреймах работать не будет). Мне же нужен 50-ТИКОВЫЙ тайм-фрейм. У меня АмиБрокер 5.20, в описании к которому в разделе про переменные класса TimeFrame сказано буквально следующее:"Новое в версии 4.70 и выше: вы можете также использовать отрицательные значения для N-тиковой компрессии: -5 дает 5ти-тиковый график. Примечание: N-тиковая компрессия работает корректно только если у Вас установлен тиковый (1-tick) базовый временной интервал в настройках базы данных (database settings)." Я указываю TimeFrame=-50, но в момент появления торгового сигнала в файл trans.tri ничего не пишется! Если же я указываю TimeFrame=1, т.е. перехожу с тиков на минутки все работает! В чем проблема??
 

000

New member
писк по коду робота показывает, что переменная TimeFrame в дальнейшем используется в
Код:
(TimeFrame==Interval()/60)
Дальше смотри хелпер по функции Interval
 

Smirnoff

New member
Спасибо, помогло! Конструкция (TimeFrame==Interval()/60) стоит в условии записи в файл транзакции trans.tri и нужна для проверки: совпадает ли таймфрейм на активном графике с "установками аккаунта". Я просто удалил ее и все заработало.
 

Smirnoff

New member
Зря удалил. Случайно сменишь фрейм чарта и робот такого накосячит.....
Это понятно. Но "случайно" его сменить у меня все равно бы не получилось, я очень внимательный и аккуратный. ))) Как в первоначальном тексте Механизатора "Руками не лазить!" )))))
Да и я уже обратно вернул, просто подправил условие под тики. Работает!
 

Denko

New member
Парни, подскажите, не сталкивались... Амиброкер 5,2, незарегистрированный. Настраиваю экспорт из квика, экспорт идет, т.к. при запуске Амиброкера появляется заставка Амиброкера, а за ней сразу виден график с реальными котировками, но через 2 секунды график пропадает- данные недоступны...

Проблема в регистрации? У вас зарегистрированный?
 

GH05

New member
Парни, подскажите, не сталкивались... Амиброкер 5,2, незарегистрированный. Настраиваю экспорт из квика, экспорт идет, т.к. при запуске Амиброкера появляется заставка Амиброкера, а за ней сразу виден график с реальными котировками, но через 2 секунды график пропадает- данные недоступны...

Проблема в регистрации? У вас зарегистрированный?
Скорее всего, там есть чудо файлик его нужно поменять
 
Обратная связь

Спасибо механизатору за толковый код.

Есть предложение по доработке. В Amibroker есть ODBC plugin (ищите в поиске - ссылку не дает поставить), а в QUIK есть возможность выгрузки таблиц по ODBC. Для этой связки проще всего использовать MS Access ODBC driver.

1. Создаем MDB файл со структурой нужных нам полей таблицы QUIK.
2. Создаем ODBC источник данных.
3. Настраиваем в QUIK выгрузку таблицы по ODBC.
4. В код робота добавляем чтение нужных нам полей из ODBC источника данных для принятия решений о формировании транзакций.

Пп. 1-3 см. в документации на QUIK.
П. 4 см. документацию на ODBC plugin Amibroker.

Вот образец кода для п. 4 (просто для иллюстрации, смысловая нагрузка практически отсутствует):

Код:
///////////// Get assets value ///////////////
odbcOpenDatabase("ODBC;DATABASE=quikdatameb.mdb;DSN=QUIKDATAMDB");
Assets = 0;
Assets = odbcGetValueSQL("SELECT ASSETS FROM CLIENTPORTFOLIO WHERE CLIENTCODE='49439/49439'");
if( Status("action") == actionCommentary ) 
{ 
 printf("Current assets - %g\n", Assets); 
}
Приведенный код выводит в окно Interpretation стоимость текущих активов.
 

GH05

New member
Re: Обратная связь

Приведенный код выводит в окно Interpretation стоимость текущих активов.
Насколько знаю в реале ами работает с одним плагином и в этом случае придется тянуть и котировки через ODBC, тормоза ужасные, ваши заявки будут последними в стакане.
Универсальной решения этой проблемы не существует, только самому писать прогу.
 
Re: Обратная связь

Насколько знаю в реале ами работает с одним плагином
Работает с одним Data source plugin'ом. И параллельно сколько угодно других плагинов (не data source). В Amibroker'е есть два ODBC plugin'а

There are two plugins:
ODBC.dll - data plugin
ODBCA.dll - AFL plugin

Data plugin handles retrieving quotation data, while AFL plugin allows to access other data from AFL formula level.


Первый можно использовать для загрузки котировок, но нам он для этого не нужен, есть же QUIK Data Plug-in.

Поэтому берем второй и из AFL кода читаем данные экспорта QUIK. Например в этой ветке обсуждалась проблема, связанная с тем, что робот не знает в какой позиции находится и предлагалось синхронизироать робота и позицию вручную. А так робот может посмотреть по данным QUIK'а какая позиция открыта прежде чем формировать транзакцию.
 
VOLUME

всем привет обратился ко мне чел просит найти кт о сможет в стратеджи рунер робота впихнуть .
кто знает к каму обратиться можно.
 
Re: Обратная связь

Не секрет написал прогу для квика, то есть никаких заморочек запускаю квик потом ами и в ами уже вся инфа доступна на экране.
То есть скрипт на qpile, который выгружает информацию для Amibroker в текстовый файл, а в Amibroker средствами AFL читаете данный из этого файла?
 

kartaviy

New member
одной системе присваеваете 1, другой 2, третьей 3. просто разным системам разные, чтоб не путались.
Настроил на три бумаги робота - не знаю как раньше в ами было, но в 5.20 нужно это делать через file-new-default chart. Эта команда открывает новые окна. Сделал три дубликата робота (в каждом свой id и имя) и открыл его в каждом окне. Может кто-то сразу догадался, а я только сейчас допер поэтому может будет кому-то полезно.

Осилил прочитать все 40 страниц, спасибо большое Меху за труд. Есть два вопроса.

1. в заявке указывается цена заведомо худшая, в примере на 1,5%. Так вроде описывается рыночная заявка. В реальности заявка не получается на 1,5% хуже, т.е. quik заявку исполняет по более лучшей цене. Так и должно быть? я не хотел бы чтобы мой робот ухудшал мою заявку на такой большой процент.

2. Где взять данные по тикеру? Classcode и Seccode?
 
Your email address will not be publicly visible. We will only use it to contact you to confirm your post.
Сверху