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



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

СообщениеДобавлено: Пт Дек 23, 2011 9:24 am Ответить с цитатой Вернуться к началу

Штука полезная и нужная. Но у меня периодически пропадает изображение, вместо графика пишет "ERROR: Formula execution halted because of an error - no chart to display". Как с этим бороться?
Посмотреть профиль Отправить личное сообщение
spitfire



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

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

Мммм, ну я как то не понял, ты робота в виде индикатора выводишь? Smile График системы должен выводиться отдельным кодом. Код робота запускается только в сканере, в роботе же все функции по отрисовки должны быть убраны, так как в сканере они нафик не нужны и только ухудшают скорость.
Посмотреть профиль Отправить личное сообщение ICQ Number
dd



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

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

Разобрался) Но есть одна проблема. Запись в tri делает такого вида
TRANS_ID=510370012; PRICE=135234; QUANTITY=1; OPERATION=S; CLASSCODE=SPBFUT; ACTION=NEW_ORDER; TYPE=L; SECCODE=RIH2; ACCOUNT=SPBFUT00197; CLIENT_CODE=robot;
и квик ругается, что цена не кратна минимальному шагу. торгую фьючерсом на ртс.
на всякий случай прикладываю файл с кодом.
Посмотреть профиль Отправить личное сообщение
spitfire



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

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

dd писал(а):
Запись в tri делает такого вида
TRANS_ID=510370012; PRICE=135234; QUANTITY=1; OPERATION=S; CLASSCODE=SPBFUT; ACTION=NEW_ORDER; TYPE=L; SECCODE=RIH2; ACCOUNT=SPBFUT00197; CLIENT_CODE=robot;

Я тут вижу 2 проблемы:
1. В коде робота ты указал Spread = 1. Укажи число, кратное изменению цены фьюча. То бишь 0, 5, 10 и так далее. Робот все сделал верно, взял цену открытия 135235 и вычел спред = 1 для варианта с продажей.
2. Какой то странный CLIENT_CODE у тебя. У меня лично от брокера это 5 цифр.
Посмотреть профиль Отправить личное сообщение ICQ Number
dd



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

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

Все заработало) Спасибо! Проблема была в спреде.
Я на тестовом счете гоняю. Тут в CLIENT_CODE можно все что угодно писать.
Посмотреть профиль Отправить личное сообщение
icebraiker



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

СообщениеДобавлено: Чт Мар 22, 2012 3:19 pm Ответить с цитатой Вернуться к началу

spitfire писал(а):
Так, это значит что при выполнении скрипта excelStats_read() произошла ошибка.. Дело в том что в закладке stats файла stats.xls очень важно чтобы в полях считывания данных (столбец В) был правильный формат ячеек. Если ты очищал ячейки, то формат мог сбиться. Перекачай файл stats.xls. В закладке stats ничо не трогай Smile Смотреть мона, руками трогать низя Smile

Большое спасибо за робота! Работает хорошо. Но у меня возникла такая проблема. Может кто - то подскажет как её решить или обойти.
Когда я выделяю часть в отдельный код - возникает ошибка(скрин).
В Excel ничего не менял. Всё как в объяснении. На всякий случай прикладываю код.
Посмотреть профиль Отправить личное сообщение
spitfire



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

СообщениеДобавлено: Чт Мар 22, 2012 6:35 pm Ответить с цитатой Вернуться к началу

Спасибо на добром слове Smile
Думаю что все дело в строчке
transID = AS_READ_PARAM_STR("Quik_Robot", Name(), "transID");
Без понятия что она делает, но скорее всего она пишет в переменную transID какой-то левак, который VBScript не может преобразовать в число. Там должна быть числовая строка и никак иначе.
Попробуй через TRACE вывести что она пишет в переменную до вызова скрипта.
Посмотреть профиль Отправить личное сообщение ICQ Number
icebraiker



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

СообщениеДобавлено: Сб Мар 24, 2012 10:00 am Ответить с цитатой Вернуться к началу

Эта функция из плагина Олега AS_FILE. Она считывает из файла номер transID именно в строчном формате. Я так понял, что у тебя везде номера transID и заявок идут именно в строчном формате.
Я хочу добиться, чтобы по номеру заявки определялся её статус. Хорошо я приведу другой код где те же функции что и у тебя. Я только поменял в ф-ции excelOrder_read() "transID" на "orderNumber" и номера колонок - с 3 на 8. Самое главное, что сначала этот код работал несколько часов. Потом до AFL как бы доходит, что там ошибка и он начинает выдавать ошибку Smile . А что вообще значит эта строчка transID = CDbl(transID)?
Странно,вот перед выбором файла опять проверил код- работает. Что бы
это значило? И как добиться стабильной работы?
Посмотреть профиль Отправить личное сообщение
icebraiker



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

СообщениеДобавлено: Сб Мар 24, 2012 11:42 am Ответить с цитатой Вернуться к началу

Заметил я одну закономерность. Если запустил Квик, запуск Excel, запустил Ами, открыл код, проверяешь синтаксис - то всё нормально. Если забыл запустить Квик, а сразу открываешь Ами и делаешь проверку синтаксиса кода, то выдаёт ошибку в той строке. Т.е. сначала должна быть открыта таблица Excel, куда ведётся экспорт.
И вообще я так понял, что AFL с большим подозрением относится к этой строке. При всех прочих нормальных условиях он её выполняет. Если же
появляется какой - нибудь трабл, даже не связаный с этим местом, он начинает грешить на неё.
Посмотреть профиль Отправить личное сообщение
spitfire



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

СообщениеДобавлено: Сб Мар 24, 2012 4:00 pm Ответить с цитатой Вернуться к началу

Смотри, трабла в том, что мы работаем со строчным параметрами типа номера транзакции и номера заявки. А в экселе они из себя представляют числа типа DOUBLE. Еще есть проблема что встроенная в Ами функция преобразования строки в число работает криво если количество знаков там больше 6 (где то так). В VBScript такой проблемы нет, поэтому перед тем как начать поиск по таблице, мы преобразуем строку в число с помощью функции CDbl.
Все-таки попробуй выловить моменты ошибок и глянь что в том моменте было в переменной transID. От этого и можно будет скакать. У меня на каких-то этапах тоже были траблы со скриптами, но все косяки выловил - почти год стабильной работы робота тому подтверждение Smile
Насчет забывчивости. Если в Экселе не открыт stats.xls то будет ошибка. Если он оттуда считывает пустую строчку, то скорее всего тоже будет ошибка.
Посмотреть профиль Отправить личное сообщение ICQ Number
icebraiker



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

СообщениеДобавлено: Вс Мар 25, 2012 1:49 pm Ответить с цитатой Вернуться к началу

Всё - таки у меня проблема была в том, что я синтаксис проверял без связи с открытым Excel. Ну как обычно: пишешь код, написал кусок - проверил синтаксис. И совсем не обязательно связываться с другими приложениями. А здесь совсем другой случай Rolling Eyes . Да, и спасибо тебе за ликбез по функции CDbl.
Посмотреть профиль Отправить личное сообщение
Andrei



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

СообщениеДобавлено: Вт Май 29, 2012 3:44 pm Ответить с цитатой Вернуться к началу

Если не сложно дайте ссылку на работающий амиброкер 5.4,не найти что то
Посмотреть профиль Отправить личное сообщение
Andrei



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

СообщениеДобавлено: Ср Май 30, 2012 2:48 pm Ответить с цитатой Вернуться к началу

при загрузки робот выдает ошибку if(transID != "copy" AND orderDir != 0)
operation not allowed.operator/operand type mismatch
в чем проблема ,где искать?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Ср Май 30, 2012 11:20 pm Ответить с цитатой Вернуться к началу

Это что за робот? В том, который тут обсуждается, такого нет.

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



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

СообщениеДобавлено: Чт Май 31, 2012 8:12 am Ответить с цитатой Вернуться к началу

000 писал(а):
Это что за робот? В том, который тут обсуждается, такого нет.

Олег, это мой робот, все хорошо Smile И в нем есть такие переменные - первая это номер транзакции, вторая направление сделки.
Насчет ошибки. При запуске робота пути к экселевскому файлу верно прописаны? На второй закладке ничего руками не трогал? Сам файл открыт в экселе?
Посмотреть профиль Отправить личное сообщение ICQ Number
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen