Автор |
Сообщение |
dd
Зарегистрирован: 22.11.2010
Сообщения: 10
|
Штука полезная и нужная. Но у меня периодически пропадает изображение, вместо графика пишет "ERROR: Formula execution halted because of an error - no chart to display". Как с этим бороться? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Мммм, ну я как то не понял, ты робота в виде индикатора выводишь? График системы должен выводиться отдельным кодом. Код робота запускается только в сканере, в роботе же все функции по отрисовки должны быть убраны, так как в сканере они нафик не нужны и только ухудшают скорость. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
dd
Зарегистрирован: 22.11.2010
Сообщения: 10
|
Разобрался) Но есть одна проблема. Запись в 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
|
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
|
Все заработало) Спасибо! Проблема была в спреде.
Я на тестовом счете гоняю. Тут в CLIENT_CODE можно все что угодно писать. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
icebraiker
Зарегистрирован: 19.05.2011
Сообщения: 15
|
spitfire писал(а): |
Так, это значит что при выполнении скрипта excelStats_read() произошла ошибка.. Дело в том что в закладке stats файла stats.xls очень важно чтобы в полях считывания данных (столбец В) был правильный формат ячеек. Если ты очищал ячейки, то формат мог сбиться. Перекачай файл stats.xls. В закладке stats ничо не трогай Смотреть мона, руками трогать низя |
Большое спасибо за робота! Работает хорошо. Но у меня возникла такая проблема. Может кто - то подскажет как её решить или обойти.
Когда я выделяю часть в отдельный код - возникает ошибка(скрин).
В Excel ничего не менял. Всё как в объяснении. На всякий случай прикладываю код. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Спасибо на добром слове
Думаю что все дело в строчке
transID = AS_READ_PARAM_STR("Quik_Robot", Name(), "transID");
Без понятия что она делает, но скорее всего она пишет в переменную transID какой-то левак, который VBScript не может преобразовать в число. Там должна быть числовая строка и никак иначе.
Попробуй через TRACE вывести что она пишет в переменную до вызова скрипта. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
icebraiker
Зарегистрирован: 19.05.2011
Сообщения: 15
|
Эта функция из плагина Олега AS_FILE. Она считывает из файла номер transID именно в строчном формате. Я так понял, что у тебя везде номера transID и заявок идут именно в строчном формате.
Я хочу добиться, чтобы по номеру заявки определялся её статус. Хорошо я приведу другой код где те же функции что и у тебя. Я только поменял в ф-ции excelOrder_read() "transID" на "orderNumber" и номера колонок - с 3 на 8. Самое главное, что сначала этот код работал несколько часов. Потом до AFL как бы доходит, что там ошибка и он начинает выдавать ошибку . А что вообще значит эта строчка transID = CDbl(transID)?
Странно,вот перед выбором файла опять проверил код- работает. Что бы
это значило? И как добиться стабильной работы? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
icebraiker
Зарегистрирован: 19.05.2011
Сообщения: 15
|
Заметил я одну закономерность. Если запустил Квик, запуск Excel, запустил Ами, открыл код, проверяешь синтаксис - то всё нормально. Если забыл запустить Квик, а сразу открываешь Ами и делаешь проверку синтаксиса кода, то выдаёт ошибку в той строке. Т.е. сначала должна быть открыта таблица Excel, куда ведётся экспорт.
И вообще я так понял, что AFL с большим подозрением относится к этой строке. При всех прочих нормальных условиях он её выполняет. Если же
появляется какой - нибудь трабл, даже не связаный с этим местом, он начинает грешить на неё. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Смотри, трабла в том, что мы работаем со строчным параметрами типа номера транзакции и номера заявки. А в экселе они из себя представляют числа типа DOUBLE. Еще есть проблема что встроенная в Ами функция преобразования строки в число работает криво если количество знаков там больше 6 (где то так). В VBScript такой проблемы нет, поэтому перед тем как начать поиск по таблице, мы преобразуем строку в число с помощью функции CDbl.
Все-таки попробуй выловить моменты ошибок и глянь что в том моменте было в переменной transID. От этого и можно будет скакать. У меня на каких-то этапах тоже были траблы со скриптами, но все косяки выловил - почти год стабильной работы робота тому подтверждение
Насчет забывчивости. Если в Экселе не открыт stats.xls то будет ошибка. Если он оттуда считывает пустую строчку, то скорее всего тоже будет ошибка. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
icebraiker
Зарегистрирован: 19.05.2011
Сообщения: 15
|
Всё - таки у меня проблема была в том, что я синтаксис проверял без связи с открытым Excel. Ну как обычно: пишешь код, написал кусок - проверил синтаксис. И совсем не обязательно связываться с другими приложениями. А здесь совсем другой случай . Да, и спасибо тебе за ликбез по функции CDbl. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Andrei
Зарегистрирован: 27.05.2012
Сообщения: 9
|
Если не сложно дайте ссылку на работающий амиброкер 5.4,не найти что то |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Andrei
Зарегистрирован: 27.05.2012
Сообщения: 9
|
при загрузки робот выдает ошибку if(transID != "copy" AND orderDir != 0)
operation not allowed.operator/operand type mismatch
в чем проблема ,где искать? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Это что за робот? В том, который тут обсуждается, такого нет. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
000 писал(а): |
Это что за робот? В том, который тут обсуждается, такого нет. |
Олег, это мой робот, все хорошо И в нем есть такие переменные - первая это номер транзакции, вторая направление сделки.
Насчет ошибки. При запуске робота пути к экселевскому файлу верно прописаны? На второй закладке ничего руками не трогал? Сам файл открыт в экселе? |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
|