Вопросы по AmiSharp
Другое дело, что подключение к терминалу может быть только одно. И если кто-то уже подключился - вам в подключении откажут.
Поэтому имеет смысл проверять возвращаемое значение и соответствующе реагировать в случае отказа к подключению.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Как там говориться - с головой в омут))
Установил quick, amisharp, amibroker.
Для начала хочу связать quik и amibroker через amisharp.
Сразу возник вопрос...
www.bot4sale.ru/index.php?option=com_con...&catid=21&Itemid=285
в статье амишарп не используется.
Я правильно понимаю, что полноценный импорт/экспорт через амишарп реализуется только через код? Например, как здесь:
www.bot4sale.ru/index.php?option=com_con...&catid=23&Itemid=153
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
1. Экспорт котировок (цен инструментов) реализуется стандартным способом - через плагин quik2amibroker. Он имеется, работает и тут что-то придумывать нет никакого смысла. Амишарп же позволяет добраться до той информации, к которой иным способом доступа из амиброкера нет (таблицы квика.) и отправлять в квик торговые приказы.
2. Амишарп - это инструмент для програмиста
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
с п.1 понятно
по п.2 - понятно, что Амишарп - инструмент для создания МТС. Но, правильно ли я понимаю, что через Амишарп можно настроить как импорт, так и экспорт?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Regis пишет: через Амишарп можно настроить как импорт, так и экспорт?
Regis, если Вы объясните, что такое "экспорт" в Вашем случае, откуда и куда, я постараюсь ответить.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Под импортом, наоборот, из амиброкер в quik через амишарп.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
А что Вы собираетесь импортировать из амиброкера в квик?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
ну, например, здесь:
www.bot4sale.ru/index.php?option=com_con...&catid=23&Itemid=153
В этой статье я попробую проиллюстрировать процесс создания простейшего робота на связке QUIK-AmiSharp-AmiBroker. Пример боевого фреймворка описан здесь.
Я правильно же понимаю, что алгоритм работает в амиброкере и через амишапр посылает заявки в квик?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Вопрос терминологии. Импорт и экспорт обычно поразумевает данные. Транзакции - это скорее приказы или сообщения.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
QUIK_Path = ParamStr("QUIK_Path","d:\\Program Files\\QUIK-Junior\\");
amisharp.QuikConnect(QUIK_Path);
это в первом случае,
QUIK_Path = ParamStr("QUIK_Path","d:\\Program Files\\Quik\\");
amisharp.QuikConnect(QUIK_Path);
соответственно во втором случае, амишарп выдает ошибку:
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Собственно, в сообщении все написано: не обнаружен квик, запущенный из указанной папки.
Тут следует иметь ввиду, что подключиться можно только к одному квику в каждый момент времени. Поэтому лучше подключаться по мере необходимости и потом отключаться.
Посмотрите StaticVarCompareExchange - это если Вы используете версию амиброкера 5.6 или старше
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
define(`m4_connect_semaphore', `"Trans.2.QUIK~Busy"')
dnl -----------------------------------------------------------------------------------------
dnl Подключение к терминалу
dnl Возвращает:
dnl "-1" - квик занят
dnl "0" - подключение невозможно
dnl "1" - успешно
function Connect(path)
{ Local Result;
Result = "-1";
if (!StaticVarCompareExchange(m4_connect_semaphore,False,True))
if ((Result = QuikConnect(path)) == "0")
StaticVarSet(m4_connect_semaphore,False);
Return Result;
}
dnl -----------------------------------------------------------------------------------------
dnl Отключение от терминала
dnl Возвращает "0" при неудаче и "1" при успехе
function DisConnect()
{ local Result;
Result = QuikDisconnect();
StaticVarSet(m4_connect_semaphore,False);
return Result;
}Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- genius-1978
- Не в сети
- Захожу иногда
-
- Сообщений: 38
- Спасибо получено: 0
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Амишарп должен работать с любой версией квика. У меня есть подозрение, что дело не в этом.
Возможно, что причина в отключенных внешних транзакциях. Или может, атрибуты папки этого квика явно запрещают что-то, как в предудущем вопросе
Что касается новой версии амишарпа - не вопрос, дам. Пришлите мне на почту запрос.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- genius-1978
- Не в сети
- Захожу иногда
-
- Сообщений: 38
- Спасибо получено: 0
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Подскажите, как можно с помощью Амишарп организовать конструкции для замены заявок и снятия.Спасибо!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Попробую угадать. Вам хочется в какой-то момент снять заявку с известным номером и вместо нее выставить новую?
Если так - то проблем никаких нет.
Посылаете транзакцию с ACTION=KILL_ORDER, проверяете на отсутствие ошибок и после чего выставляете новую заявку (ACTION=NEW_ORDER). В ответе получите номер новой заявки.
А если я неправильно понимаю, тогда напишите поподробнее, чего хочется добиться.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Получается такая ситуация, что Amibroker не может передавать синхронные заявки "str = ___prahsima.quiksendsynctransaction(str);"
пока во внешней программе не сделать "AmiSharpMutant.QuikDisconnect();"
все вроде работает и внешняя программа может читать таблицы Amisharp при любом раскладе, но внешнюю программу смущает этот дисконект при проверке.
Команда во внешней программе "AmiSharpMutant.QuikConnect(_cmd);" приводит к тому, что Amisharp выводит сообщение "Allready Quik is connected".
как то можно исключить команду " AmiSharpMutant.QuikDisconnect(); " ?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Похоже, Вам надо подправить внешнюю программу: ( подключение-отключение ), чтобы она подключалась к терминалу только на момент подачи транзакции. Фреймворк для амиброкера в этом плане работает корректно.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Вероятно, на этом же чарте запущены еще какие-то индикаторы и в таблице параметров вы видите настройки всех наложенных на чарт индикаторов.
Есть также кнопка <<Reset>> , которая убирает все лишнее и сбрасывает параметры к их дефолтным значениям.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Отличноadmin пишет: Добрый день. Ответ на все вопросы утвердительно положительный
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
