Добавлял luacdll.dll c функциями на С++ в файлы луа таким образом:
require("luacdll")
На домашнем компьютере под управлением Win7 всё нормально долгие годы. Сегодня перенёс Quik и робота на сервер под управлением Windows Server 2008, и выскакивает такая ерунда:
swerg, не понял, что такое "пятифакторные авторизации" (это шутка?) На сайте брокера лежит версия QUIK с уже "вшитой" функцией двухфакторной авторизации (во всяком случае, так было при заключении договора, брокер Finam), и можно ли использовать у данного брокера другую версию QUIK, без этой опции, я не знаю. М.б., техподдержка подскажет.
Но вопрос не в этом. Была тема, где обсуждался автоматический запуск QUIK по таймингу с помощью VB-приложения, это приложение само вводило логин-пароль. С двухфакторной авторизацией такой вариант, понятно, не работает, но в теме был дан совет, что код смс нужно ввести только единожды за день, потом только логин-пароль. Я проверял, это работает. Только, как оказалось, не во всех случаях ((
Может, дело в том, что при разрывах связи меняется ip квика, и сервер брокера на это реагирует?
QUIK 7.2.2.3 , запускаю, авторизуюсь логин-пароль, потом код, присланный по смс, ухожу на работу, и через 2 часа получаю смс с кодом.
Прихожу с работы, связь квика с брокером разорвана, несмотря на то, что стоит галочка "автоматически восстанавливать связь при разрыве" (((
Как бороться с данной проблемой? Хорошо, что робот успел выполнить связку "купля-продажа" до разрыва связи, если нет - то могли быть финансовые потери (((
Подкорректирую: на Windows Server ставить QUIK из того же установочного пакета, из которого я устанавливаю QUIK на домашнем компьютере с Windows 7? Или действовать как-то по другому?
Суть в следующем. Есть роботы, написанные на QLUA и С++, работают на домашнем компьютере с QUIK. Хочется установить всё это на сервер (я имею в виду не сервер брокера или биржи, а сервер стороннего хостинг-провайдера), с возможностью удалённого контроля. Подскажите, с чего начать?
Николай Камынин, благодарю, это известно, просто индикатор планируется использовать с разными инструментами, неохота несколько экземпляров создавать. Я думал, м.б. есть что-то наподобие H L O C
Обычно индикаторы у меня рассчитываются в скрипте, но недавно понадобился ADX, написал расчёт, и обнаружил, что мои данные не совпадают с данными в QUIK. По всей видимости, где-то закралась неточность, но времени искать нет.
A.T., спасибо, на профильном ресурсе говорят, что нужно купить некий коннектор для работы с QUIK
Alexey Ivannikov, не думал, что так всё секретно )) Просто в среднесрочных планах возможна работа с иностранным брокером, а так как все наработки заточены под QLUA и QUIK, и переписывать впоследствии всё под новый язык как-то не комильфо, отсюда и вопрос.
На том же профильном ресурсе один пользователь писал, что работает с иностранным брокером (не interactive brokers) и именно через QUIK, но с каким именно - выяснить не удалось ((
Николай Камынин, уже тестировал в похожих на предложенные Вами отладочных вариантах - есть события последних сделок USD_RUB_TOM, USD_RUB_TOD, EUR_RUB_TOD, только по EUR_RUB__TOM пусто (((
Попробую покопаться в настройках QUIK, может быть что найду.
p_classcode = "CETS" --Код класса
p_seccode_usdrubtom = "USD000UTSTOM" --Код инструмента
p_seccode_usdrubtod = "USD000000TOD"
p_seccode_eurrubtod = "EUR_RUB__TOD"
p_seccode_eurrubtom = "EUR_RUB__TOM"
is_run=true
function main()
while is_run do
sleep(2000)
end
end
function OnQuote(class_code, sec_code)
if class_code==p_classcode and sec_code==p_seccode_eurrubtom then
tbid = getParamEx(class_code, sec_code, "last")
message(tostring(tbid.param_value), 1)
end
end
Когда вместо p_seccode_eurrubtom подставляется p_seccode_usdrubtom или p_seccode_usdrubtod - цена последней сделки выводится. Когда подставляешь p_seccode_eurrubtom - скрипт не выводит ничего, просто молчит.
К сожалению, не успел попробовать на p_seccode_eurrubtod, торги закончились, попробую завтра.
Если у кого-либо есть мысли о причинах неполадок - буду очень благодарен.