× Ссылка на скачивание архива: www.bot4sale.ru/download-categories/2012...6/item/amisharp.html (архив под паролем)

Как сделать робота на AmiSharp? Пишет ошибку.

Подробнее
9 года 4 мес. назад - 9 года 4 мес. назад #137 от RomaNick
Добрый день.
Пытаюсь разобраться коде "Первый робот на AmiSharp"

Но на данный момент у меня пишет ошибку на строчку amisharp = CreateStaticObject("AmiSharp.Mutant");


Как показано на скриншоте.

А в рабочей области пишет следующее.

Вложения:
Последнее редактирование: 9 года 4 мес. назад пользователем RomaNick.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 4 мес. назад - 9 года 4 мес. назад #138 от admin
RomaNick,

Видимо, вы поставили амиброкер версии 5.5 и выше.

Разработчик Амиброкера преследует цель максимальной скорости работы приложения. С этой целью он реализовал полный мультитрединг.

COM механизм, обеспечивающий связь скрипта с амишарпом, с точки зрения разработчика, есть относительно медленный механизм. Он абсолютно прав, если дело касается долгих циклических расчетов. Поэтому по умолчанию в версиях 5.5 и выше работа с внешними объектами отключена в угоду производительности. Даже несмотря на то, что Amibroker использует свой особый (патентованный) способ работы с Dispatch.

Для наших целей (разовые действия типа выставления заявок или чтения таблиц) ракладные расходы на COM - это доли или единицы миллисекунд, которые совершенно ни на что не влияют.

2 выхода:
  • Отключить в настройках амиброкера multitreading
  • Установить амиброкер 5.4
Подробнее в руководстве к амиброкеру к Вашей версии.

Вторая ошибка - это невозможность доступа к методу QuikConnect амишарпа. Что очевидно - если объект не создан, о каких методах может идти речь?
Последнее редактирование: 9 года 4 мес. назад пользователем admin.
Спасибо сказали: RomaNick

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 4 мес. назад #139 от RomaNick
Спасибо, действительно дело было в версии программы! Отключается так - Tools->Preferences->AFL и убираем галку Multi-treaded charts. После этого перегружаем Amibroker.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 4 мес. назад #140 от RomaNick
Решил написать здесь, чтоб не создавать новую тему. Есть вопрос по коду "первого робота".
Что за переменная POSITION? в данном примере. Встороенный массив AFL? Потому что данный код не правильно отрабатывает. При возникновении сигнала он бесконечно открывает позиции, пока сигнал не пропадёт. Т.Е. не отслеживает, открыта уже позиция или нет.
// Смотрим текущую позицию и отрабатываем сигналы. CurrentPosition хранит 0, если позиции нет и размер позиции, если она есть
CurrentPosition = StrToNum(StaticVarGetText("POSITION"));
if (CurrentPosition == 0)
   {  if (LastValue(Buy))
      { Make_Order(ClassCode,SecCode,"Buy",Size);
        StaticVarSetText("POSITION","" + CurrentPosition);
      }
   }
else
   {  if (LastValue(Sell))
      { Make_Order(ClassCode,SecCode,"Sell",CurrentPosition);
         StaticVarSetText("POSITION","0");
      }
   }
С помощью отладчика удалось выяснить , что при открытии позиции CurrentPosition присваевается не размер позиции а колличество позиций, НО При следующем тике, когда робот начинает работать по новой CurrentPosition обнуляется. Результат понятен - постоянно открывает позиции.
Поэтому возник вопрос, откуда берёт значение переменная POSITION и что она значит?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 4 мес. назад - 9 года 4 мес. назад #141 от admin
Роман, ответ на Ваш вопрос в хелпе по функции StaticVarSetText. Эта функция формирует глобальную переменную, сохраняемую между итерациями.

Также поменяйте строку, где запоминается текущая позиция при покупке на
StaticVarSetText("POSITION","" + Size);
Последнее редактирование: 9 года 4 мес. назад пользователем admin.
Спасибо сказали: RomaNick

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 4 мес. назад #149 от RomaNick
Где бы взять такой хелп? :) В котором сказано, что данная функция объявляет глобальную переменную.
Спасибо за подсказку, а то вообще тёмный лес был

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 4 мес. назад #151 от admin
Роман, это стандартный хелп амиброкера

Вы можете найти его в главном меню амиброкера

если во встроенном редакторе амиброкера Вы установите курсор на требуемую Вам функцию и нажмете F1, сразу получите хелп по ней

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 2 мес. назад #283 от genius-1978
Михаил, здравствуйте! У меня вот такая ошибка..текст скрипта тупо "откопипастил". Подскажите пожалуйста, что не так.

Буду признателен за помощь.
Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 2 мес. назад - 9 года 2 мес. назад #284 от admin
В этой строке Ваш скрипт желает запустить объект Амишарп. У него это не получилось, что означает, что амишарп неправильно установлен или Ваша ОС препятствует запуску амишарпа.

Установите амишарп правильно и не запускайте его руками - он будет запускаться в нужный момент сам.

Также отключите multitreaded charts в настройках амиброкера
Последнее редактирование: 9 года 2 мес. назад пользователем admin.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 1 мес. назад #322 от genius-1978
Спасибо, Амишарп заработал.))

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 1 мес. назад - 9 года 1 мес. назад #337 от tsyganovav
Добрый день, Михаил.
Разбираюсь с "Первым роботом'' получаю ошибку "Не задан путь к info.exe''.



Вместе с тем в коде выделяются две ошибки





Помогите, буду очень признателен.
Вложения:
Последнее редактирование: 9 года 1 мес. назад пользователем tsyganovav. Причина: Местоположение рисунков

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 1 мес. назад - 9 года 1 мес. назад #338 от admin
Здравствуйте, tsyganovav

Сначала отключите multitreaded charts в настройках амиброкера.

Второе. символ "\" во всех си-подобных языках - специальный. "c:\\quik"
Последнее редактирование: 9 года 1 мес. назад пользователем admin.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 1 мес. назад - 9 года 1 мес. назад #339 от tsyganovav
В "Preferens/AFL/ Multi-threaded'' отключил с самого начала.
К сожалению замена ''\" на "\\" результатов не дала. Не могу понять что еще не правильно?


Вложения:
Последнее редактирование: 9 года 1 мес. назад пользователем tsyganovav.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 1 мес. назад #370 от genius-1978
Михаил, здравствуйте! Вопрос еще такой, создаю таблицу в амишарп, делаю ее видимой, и...не вижу ее! почему?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 1 мес. назад #371 от admin
genius, а где вы ее хотите найти, куда смотрите?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 1 мес. назад - 9 года 1 мес. назад #373 от genius-1978
Хочу найти в окне амишарпа :) Кликаю по нему :) , а у него только одно окно "About"
Хотел увидеть те таблицы, что у Вас в примерах.
Откуда они вообще?
Последнее редактирование: 9 года 1 мес. назад пользователем genius-1978.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 1 мес. назад - 9 года 1 мес. назад #374 от admin
По мере создания таблиц посредством createtable() и любыми другими методами в меню "ТАБЛИЦЫ" амишарпа появляются пункты подменю, имеющие имена этих таблиц. При удалении таблицы через deletetable или другими методами, таблица из меню убирается.

Если кликнуть в какой-то из этих пунктов, появится таблица а-ля Excel. В ней будет показано текущее содержимое выбранной таблицы.
Последнее редактирование: 9 года 1 мес. назад пользователем admin.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 1 мес. назад #375 от genius-1978
В том то и проблема, что ничего акромя вот этого


не появляется в меню.
Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 1 мес. назад #376 от admin
Все правильно.Вы открыли контекстное меню иконки амишарпа в трее. Выбор Show Form откроет окно самого приложения AmiSharp

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 1 мес. назад #377 от genius-1978
Выбираю, ничего не открывает :( не пойму в чем же дело.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 1 мес. назад #378 от admin
genius,

проведите эксперимент.

у Вас амишарп запущен, иконка в трее имеется. Откройте диспетчер задач. Среди задач амишарпа быть не должно. После чего через трей вызовите Show form. Амишарп появился среди задач?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 1 мес. назад #379 от genius-1978
Михаил, у меня после запуска Amibroker' а запускается Amisharp, и в задачах он появляется сразу же.
Запускаю из AFL так : amisharp = CreateStaticObject("AmiSharp.Mutant");
в каждой итерации. Евгений.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 1 мес. назад #380 от admin
Не могу повторить.

Несколько мониторов? Эмулятор Windows? Нужно больше информации. Какая версия амишарп?

Чтобы не засорять форум, давайте перейдем в почту

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
8 года 8 мес. назад - 8 года 8 мес. назад #466 от rmh
Михаил, AmiSharp выдает ошибку: " Already is connected to QUIK" . Из-за чего?
Последнее редактирование: 8 года 8 мес. назад пользователем rmh.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
8 года 8 мес. назад - 8 года 8 мес. назад #467 от admin
Если два раза подряд попросить амишарп подключиться к одному и тому же запущенному терминалу, но на второй попытке амишарп возмутится и выдаст эту диагностику: зачем еще раз поключаться?
Последнее редактирование: 8 года 8 мес. назад пользователем admin.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Модераторы: admin