Sergey Gorokhov написал: Для решения проблемы не используйте относительные пути при доступе к сторонним файлам.
Там нет относительных путей! Понятно что скрипт доделывать нужно, но одно если он был запущен - то нужно и запускать каждый раз когда загружается квик, а не выключать загрузку скрипта при каком либо сиюминутном сбое! Там х.з. что может быть (биржа мутит как), мы же не можем прописать всё и вся сразу!
Ребята, а что в последних версиях за изменения были. Обновил программа, вообще глюк-на глюки, все индикаторы поменялись, в папки квика вообще какие то файты 0 байт c названием внутренних функции стали создаваться типа: getlastPrice()
Реально достал подход запуска в скрипта в Луи, если я запускают скрип в автономную работу (в просто народье жму плей) и во время работы происходит ошибка, то скрипт вырубается и при следующем запуске/перезапуске Квика больше не стартует. Из-за этого система может вырубиться из-за каких-нибудь секундных сбоев на бирже и не когда не запустится, на перёд знать какое рукопопье произойдёт знать нельзя, только после того как это произошло можно увидеть в логе. Верните принцып работы скрипта как в купле, если я нажал плей то это запускать скрипт прикаждом перезапуска Квика, пока я не нажму сам стоп. Если выпола ошибка остановить и запустить при следующем запуске Квик, а лучше как в купле остановить на время. А то пришёл, смотрю что система выпола и два дня позиции стоят и ни кто не закрывает, а выпола из-за того что на секунду график перезагрузился.
Точней когда в заявку 1 лот поставить. Вот эта цифра мне нужна, сколько ГО на один лот. Без указаний клиентского счёта и .т.д. т.е. имея только название инструмента, класс, и цену сделки - я хочу получить уровень ГО по инструменту.
Ближайший аналог getBuySellInfo - но он показывает обьём бумаг которые я максимально могу купить по определённому счету.
А я хочу знать, имея цену сделки, чистый ГО по одному контракту. ну это к примеру в 7 версии, когда вы вводите заявку, в зависимости от цены меняется уровень ГО, вот этот уровень ГО мне и нужен в виде функции.
Не совсем, я хочу узнать полностью требуемый уровень ГО на фьючерс, с учётом цену сделки. Да БГО я могу из таблички взять, а вот если функция которая вычисляет ГО (БГО+\-динамическая маржа)?
Сообщите пожалуйста какие особенности использования Квика нужно учитывать при настройки файрвола.
Вчера пытался поставить более агрессивную защиту, соединяться только с IP серверами брокера и только по порту15000, произошёл неожиданный сбой даже после удаления правил этот глюк остался и единственным решением его устранения стало полное удаления папки Квика. А глюк заключался в том что при соединении с сервером Квик не останавливаясь начинает жрать память, до полного зависания!
Ладно уже голова отказывается считать, пусть на небольшом боевом счёте поработает, посмотрим будет глючить или нет, а так буду ждать оф. функцию. Хорошо что сделали расчёт максимально компактным вот это радует. Благодарю вас SDL за поддержку в этом вопросе!
Данные раз в секунду обновляются, если по очереди поставите - они приблизительно одинаковые данные выдадут. просто опять вопрос стоит - как проверить рабочая формула или опять теоретическая.
local price_cliring = tonumber( getParamEx (class_code,security,"CLPRICE").param_value)
local two_bl = getParamEx (class_code,security,"PRICEMAX").param_value - getParamEx (class_code,security,"PRICEMIN").param_value
if direction = = 'B' then
go = getParamEx (class_code,security,"BUYDEPO").param_value
go = go * ( 1 + (price - price_cliring) / two_bl)
else
go = getParamEx (class_code,security,"SELLDEPO").param_value
go = go * ( 1 + (price_cliring - price) / two_bl)
end
По цене ниже клиринга, наверное: go = go * ( 1 - (price_cliring - price) / two_bl) Так теже данные выдаёт, что и у вас?
Так ну вот этот вариант должен сработать, SDL - проверьте пожалуйста со своим исходными данными
Код
local price_cliring = tonumber(getParamEx(class_code,security,"CLPRICE").param_value)
local bl = getParamEx(class_code,security,"PRICEMAX").param_value - getParamEx(class_code,security,"CLPRICE").param_value
if direction == 'B' then
go = getParamEx(class_code,security,"BUYDEPO").param_value
if price < price_cliring then
go = go * math.abs(1 - (price_cliring - price) / (2 *bl)) -- max
elsego = go * math.abs(1 + (price - price_cliring) / (2 *bl))
end
else
go = getParamEx(class_code,security,"SELLDEPO").param_value
if price > price_cliring then
go = go * math.abs(1 - (price - price_cliring) / (2 *bl))
else
go = go * math.abs(1 + (price_cliring - price) / (2 *bl)) -- max
end
end
Да просто Биржа уже достала - постоянно каку-то Хронику внедряет, мне кажется там такие Доумный ИТ отделом, даже вчера расширили дневной клиринг и сообщили об этом только за 10мин, до расширения, просто не знаю такого матерного слова как их назвать.
В профили Алексей Ерпылев, не чего об этом не написано, так что там ещё сомнения. А по поводу CalcBuySell - когда она там выйдет и богу не известно.
В общем, вот написал вариант для LUA, критикуйте.
Код
local bl = getParamEx(class_code,security,"PRICEMAX").param_value - getParamEx(class_code,security,"CLPRICE").param_value
if direction == 'Buy' then
go = getParamEx(class_code,security,"BUYDEPO").param_value
if price < price_cliring then
go = go * math.abs(1 + (price_cliring - price) / (2 *bl))
else
go = go * math.abs(1 + (price - price_cliring) / (2 *bl))
end
else
go = getParamEx(class_code,security,"SELLDEPO").param_value
if price > price_cliring then
go = go * math.abs(1 + (price - price_cliring) / (2 *bl))
else
go = go * math.abs(1 + (price_cliring - price) / (2 *bl))
end
end
Если нужно не просто знать, а автоматизировать... Нет, параметра такого не могу назвать.
Все подходи и правильно, но конечно всё автоматизировать нужно, с этим ГО на заплатках все работает (хотя новый расчёт ГО ещё в середине прошлого года поменяли), какой смысл одними заплатками менять на другие. Так что решения косяка со стороны КВИК - уже более чем крайне необходжио!!!
SDL, ну это понятно - но зачем эти километры кода в скрипте писать и потом следить за их изменениями, Надёжней в параметрах инструмента это указывать и всё, а если функция CalcBuySell будет корректно отражать данные. то в принципе для меня и не актуально будет.
Сергей, вы всё время пишите что функция работает на все 100% и в то же время говорите что радиус не учитывается, поэтому пожалуйста ответь окончательно и конкретно, что бы мы поняли вашу позицию!
Sergey Gorokhov написал: Что касается учета радиуса курса валют, то на данный момент этот функционал пока еще не реализован
Приходишь в магазин, уточняешь у продавцов работает ли купленная машина, отвечают: да мы несколько раз её проверили - работает!! Идёшь на стенд, забрать её и видишь что нет колёс, спрашиваешь: в чём дело, вы же сказали что она работает? Да работает мы несколько раз проверили! :)
По такому поводу конкретный вопрос, Сергей как вы считаете при оценки максимальных количестве лотов по фьючерсу РТС, должна ли учитываться валютный рдиус? а. НЕТ б. ДА в. Понятие не имею
У меня просто постоянно напрягает, сообщения по лимитам , может из-за из-за валотильности они лезут, но вроде не должно - конечную цену указываю, откуда эти проскальзывания берутся! Если бы я один здесь писал, то задумался, а внутренних проблемах, но так как здесь присоединились и другие пользователи добью вопрос.
Сергей я думаю вы сами понимаете, что файлы с диска ни я не кто либо из темы отправить вам не сможет, но здесь вам показали на примере использования формы, что у вас не верный расчёт производит, я не пойму какая проблема в том что бы открыть форму заявки и убедиться в этом?
Это означает, что если пишет тебе максимум 15 контрактов, то я ввожу 16 и спокойно их покупаю.
А как откатить версию, не фига она у меня не слезает с дампа? В предыдущей версии, кстати, тоже был глюк с работой под разными юзерами а админом, не как нельзя было обновить список серверов, приходилось в ручную вписывать!
Прикольно будет, если сам "МОЕКС" ни фига не знает как у него ГО считается :))))