Как сделать робота на AmiSharp? Пишет ошибку.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Видимо, вы поставили амиброкер версии 5.5 и выше.
Разработчик Амиброкера преследует цель максимальной скорости работы приложения. С этой целью он реализовал полный мультитрединг.
COM механизм, обеспечивающий связь скрипта с амишарпом, с точки зрения разработчика, есть относительно медленный механизм. Он абсолютно прав, если дело касается долгих циклических расчетов. Поэтому по умолчанию в версиях 5.5 и выше работа с внешними объектами отключена в угоду производительности. Даже несмотря на то, что Amibroker использует свой особый (патентованный) способ работы с Dispatch.
Для наших целей (разовые действия типа выставления заявок или чтения таблиц) ракладные расходы на COM - это доли или единицы миллисекунд, которые совершенно ни на что не влияют.
2 выхода:
- Отключить в настройках амиброкера multitreading
- Установить амиброкер 5.4
Вторая ошибка - это невозможность доступа к методу QuikConnect амишарпа. Что очевидно - если объект не создан, о каких методах может идти речь?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Что за переменная 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");
}
}
Поэтому возник вопрос, откуда берёт значение переменная POSITION и что она значит?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Также поменяйте строку, где запоминается текущая позиция при покупке на
StaticVarSetText("POSITION","" + Size);
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Спасибо за подсказку, а то вообще тёмный лес был
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Вы можете найти его в главном меню амиброкера
если во встроенном редакторе амиброкера Вы установите курсор на требуемую Вам функцию и нажмете F1, сразу получите хелп по ней
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- genius-1978
- Не в сети
- Захожу иногда
-
- Сообщений: 38
- Спасибо получено: 0
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Установите амишарп правильно и не запускайте его руками - он будет запускаться в нужный момент сам.
Также отключите multitreaded charts в настройках амиброкера
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- genius-1978
- Не в сети
- Захожу иногда
-
- Сообщений: 38
- Спасибо получено: 0
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- tsyganovav
- Не в сети
- Новый участник
-
- Сообщений: 2
- Спасибо получено: 0
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Сначала отключите multitreaded charts в настройках амиброкера.
Второе. символ "\" во всех си-подобных языках - специальный. "c:\\quik"
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- tsyganovav
- Не в сети
- Новый участник
-
- Сообщений: 2
- Спасибо получено: 0
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- genius-1978
- Не в сети
- Захожу иногда
-
- Сообщений: 38
- Спасибо получено: 0
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- genius-1978
- Не в сети
- Захожу иногда
-
- Сообщений: 38
- Спасибо получено: 0


Хотел увидеть те таблицы, что у Вас в примерах.
Откуда они вообще?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Если кликнуть в какой-то из этих пунктов, появится таблица а-ля Excel. В ней будет показано текущее содержимое выбранной таблицы.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- genius-1978
- Не в сети
- Захожу иногда
-
- Сообщений: 38
- Спасибо получено: 0
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- genius-1978
- Не в сети
- Захожу иногда
-
- Сообщений: 38
- Спасибо получено: 0

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
проведите эксперимент.
у Вас амишарп запущен, иконка в трее имеется. Откройте диспетчер задач. Среди задач амишарпа быть не должно. После чего через трей вызовите Show form. Амишарп появился среди задач?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- genius-1978
- Не в сети
- Захожу иногда
-
- Сообщений: 38
- Спасибо получено: 0
Запускаю из AFL так : amisharp = CreateStaticObject("AmiSharp.Mutant");
в каждой итерации. Евгений.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Несколько мониторов? Эмулятор Windows? Нужно больше информации. Какая версия амишарп?
Чтобы не засорять форум, давайте перейдем в почту
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.