BAT файлом удаляю: del /f /q *.dat del /f /q info.log del /f /q portfolio.log copy hotkey.at hotkey.dat copy portfolio.at portfolio.dat copy scripts.at scripts.dat И нужные настройки из рабочей версии добрасываю. Единственное галочки приходится вручную ставить. Не смог обнаружить нужные для настройки файлы.
В каком файле хранятся настройки Связь > Списки > Выбор принимаемых параметров и инструментов ???
После удаления dat файлов приходится вручную восстанавливать Фильтр инструментов и Фильтр параметров. В каком файле хранятся настройки Связь > Списки > Выбор принимаемых параметров и инструментов ??? В файле hotkey.dat - горячие клавиши, scripts.dat - lua скрипты
В состоянии "запоя", вы отключите все, что вам мешает. Даже можете найти запасной компьютер. Как вариант: второй QUIK на бесплатном в течении года сервере Amazon, пароли от которого у вашей жены. Единственное, что вам после этого грозит, это развод.
Я правильно понял? БИРЖА ===> БРОКЕР ===> КЛИЕНТ - OnTrade() первый раз пролетает "почти пустая" БРОКЕР ===> КЛИЕНТ - брокер добавляет "...UID, TRANS_ID а также набор флагов и ряд других специфичных параметров" Сразу добавили, и пусть хоть "Почтой России" доставляют. Куда спешить?
Да они его ,kzlm вообще не тестируют. Еще логин не завел, уже 2 ошибки и damp. Буду ВОСЬМЁРКУ ждать или 8.1 ))) Может даже QUIK X-files , если ДЕВЯТКИ не будет.
function killStopOrders( seccode )
local transaction,bs,res={},{},""
for i=0,getNumberOf("stop_orders")-1 do bs=getItem("stop_orders",i)
if bit.band(bs.flags, 1)~=0 and bs.seccode==seccode then
transaction.ACTION=tostring("KILL_STOP_ORDER")
transaction.TRANS_ID=tostring(math.random(2000000000))
transaction.CLASSCODE=tostring( bs.class_code )
transaction.STOP_ORDER_KEY=tostring( bs.ordernum )
if sendTr ==1 then res=sendTransaction( transaction ) end
if res~="" then message ( "killStopOrders() = ".. tostring(res) ,3) end
end
end
end
function sendStop(class,security,direction,stopprice,dealprice,volume,account,exp_date,client_code,comment)
-- отправка простой стоп-заявки
-- все параметры кроме кода клиента,коментария и времени жизни должны быть не нил
-- если код клиента нил - подлставляем счет
-- если время жизни не указано - то заявка "До Отмены"
-- Данная функция возвращает 2 параметра
-- 1. ID присвоенный транзакции либо nil если транзакция отвергнута на уровне сервера Квик
-- 2. Ответное сообщение сервера Квик либо строку с параметрами транзакции
if (class==nil or security==nil or direction==nil or stopprice==nil or volume==nil or account==nil or dealprice==nil) then
return nil,"QL.sendStop(): Can`t send order. Nil parameters."
end
local trans_id=random_max()
local transaction={
["TRANS_ID"]=tostring(trans_id),
["ACTION"]="NEW_STOP_ORDER",
["CLASSCODE"]=class,
["SECCODE"]=security,
["OPERATION"]=direction,
["QUANTITY"]=string_format("%d",tostring(volume)),
["STOPPRICE"]=toPrice(security,stopprice,class),
["PRICE"]=toPrice(security,dealprice,class),
["ACCOUNT"]=tostring(account)
}
if client_code==nil then
transaction.client_code=tostring(account)
else
transaction.client_code=tostring(client_code)
end
if exp_date==nil then
transaction["EXPIRY_DATE"]="GTC"
else
transaction['EXPIRY_DATE']=tostring(exp_date)
end
if comment~=nil then
transaction.comment=string_sub(tostring(comment),0,20)
else
transaction.comment='QL'
end
local res=sendTransaction(transaction)
if res~="" then
return nil, "QL.sendStop():"..res
else
return trans_id, "QL.sendStop(): Stop-order sended sucesfully. Class="..class.." Sec="..security.." Dir="..direction.." StopPrice="..stopprice.." DealPrice="..dealprice.." Vol="..volume.." Acc="..account.." Trans_id="..trans_id
end
end
Вам скорей всего фондовый нужен? Это пример для срочного рынка.
Код
account="SPBFUT00a35"
function main()
is_run=true while is_run do
for i=0,getNumberOf( "futures_client_limits" )-1 do
bs=getItem( "futures_client_limits" ,i)
if bs.trdaccid==account and bs.limit_type==0 then
cbplimit=tonumber(bs.cbplimit) --Лимит откр. поз.
varmargin=tonumber(bs.varmargin) --Вариац. маржа
accruedint=tonumber(bs.accruedint) --Накоплен. доход
ts_comission=tonumber(bs.ts_comission) --Биржевые сборы
end
end
DEPO=cbplimit+varmargin+accruedint
file=io.open("c:\\DEPO.csv", "a+")
file:write( os.date("%d.%m.%y", os.time())..";"..tostring(os.date("%H:%M:%S", os.time())).. ";"..
tostring( math.floor (DEPO)).."\n")
file:flush ()
file:close()
sleep(2000) --как часто писать в фаил
end
end
function OnStop()
is_run = false
end
Тёска, я думаю, куча трейдеров скажет спасибо тем разработчикам, которые составят конкуренцию данному программному комплексу. Помнишь как в той истории про NOKIA, жили были, не тужили, были довольны своей позицией на рынке. Вот и расслабились. Но тут пришли другие компании. И вытеснили NOKIA с рынка. Конкуренции нет. Вот так и рисуем, кто в Paint, кто на бумажной салфетке. У них и без рисовалок работы много.
if msg == QTABLE_CLOSE then OnStop() endВот. При закрытии QUIK первым делом срабатывает колбек закрытия окна с таблицей. Поэтому часть скриптов успевают остановиться до закрытия приложения.
У меня все скрипты так закрывает. Или так.
Код
if IsWindowClosed(t_RM) then OnStop() end
И при перезапуске QUIK все скрипты работают. Только иногда "слетают".
function OnInit()
...
CreateWindow(t_delta)
SetTableNotificationCallback ( t_delta, callback_delta )
end
function main()
is_run=true while is_run do sleep(500)
...
end
end
function callback_delta(t_delta, msg, par1, par2)
if msg == QTABLE_CLOSE then OnStop() end
if msg == QTABLE_LBUTTONDOWN then
par11,par22 = par1,2
Highlight(t_delta, par11,par22, RGB(0,0,255), RGB(255,255,255), 700 )
end
SetSelectedRow(t_delta, par11)
if msg == QTABLE_CHAR then
if par11==1 then n=1000 elseif par11==2 or par11==8 then n=0.1 else n=1 end
if par2==113 or par2==233 or par2==201 or par2==81 then
SetCell( t_delta, par11, par22, tostring( GetCell( t_delta, par11, par22).image+n ))
end
if par2==97 or par2==244 or par2==212 or par2==65 then
SetCell( t_delta, par11, par22, tostring( GetCell( t_delta, par11, par22).image-n ))
end
end
end
Запустил 6 таблиц в QUIK 6.16.1.16 : 1) После перезагрузки, все таблицы работали. 2) После второй, не сработал 5й скрипт. 3) Все работали 4) 1й скрипт не работал. с 6го по 11й перезапуски QUIK'а - все работали. Несработавшие пару раз скрипты 1й и 5й содержали SetTableNotificationCallback. Узнаю фиременный почерк, это нестабильность. )))
sam063rus пишет: Создание открытой системы учёта и контроля тикетов - помимо удобства для пользователей - налагает ответственность на разработчиков, к чему они ну никак неготовы и им это абсолютно не надобно.
Это точно! Здесь даже не будет стандартного ответа: "Ваше пожелание зарегистрировано. Ждите..." ))) Чаще медитируем, пользуемся тем, что есть. ))) Я и раньше придерживался совета, не нервничать по поводу QUIK'а. Лишний перерасход валерьянки. Тему можно закрывать. Лето! 8) Всем удачных сделок!
На счет процедуры регистрации пожеланий, думаю здравая мысль. И многие меня поддержат. Здравая мысль, выполнять работу необходимую большинству пользователей? Не так ли?
Сергей, просто накипело. ))) Я простой клиент. Обещания есть, движения нет. Такое мнение, что они там, в офисе пьют и кальян курят. Еще не один десяток лет будем торговать через это "безобразие". Уже все брокеры подсажены на QUIK. На платное ПО немногие клиенты пойдут. Мне хватает и QUIK, скорость Plaza не нужна. Хотя знаком с её скорострельностью. Plaza получает котировку и бъёт по рынку, получая меньше убытка. Чем выставленная через QUIK stop-заявка. Проскальзывание 30-90п RIM5. Задержка на QUIK-сервере брокера + домашний QUIK. Такое мнение, что это QUIK-заговор против клиента. ))) Торговая программа из "прошлого", котировки вчерашние, команда разработчиков на 5 с плюсом, только регистрирует пожелания. Хочу пожелать, принять на работу в ARQA Technologies, трудолюбивых студентов программистов.
А на счет процедуры регистрации пожеланий, тоже пожелание имеется. Организовать процедуру голосования. Какой пункт наберет больший процент голосов, тот и ожидаем в следующем обновлении. Это вам не сложно сделать?
Биржа уже сложила, брокер знает количество денег на счете клиента. Один только клиент, который платит им всем денежку (комиссию брокеру, брокер за ПО), дожен (писать программу, считать в EXCEL, складывать на калькуляторе). Как говорилось выше у ARQA ответ один : "значит сами переберите двигатель, или разработайте свой".
Демо было срочного рынка было привязано к реальным котировкам. И объемы были. Теперь снова "вата". Не поторговать ))), не потестировать. Наверное это слишком сильно напрягает их демосервер.
Верните привязку срочного рынка к реальным котировкам.
Проблемму начали изучать 05/06/13 При закрытии терминала : OnClose() - действия выполняются, окно терминала исчезает. Но процеес info.exe остается. OnCleanUp() - действия не происходят. Процеес info.exe останавливается нормально. OnStop() - действия выполняются, терминал зависает.
Необходимо при закрытии терминала выполнять действия. Как это сделать?
Создание таблицы текущая прибыль/убыток и высчитывать по позициям в терминале, Сегодня невозможно понять текущее состояние счета, пересчет происходит с долгими задержкам, что добавляет еще большего психологического давления
Да, тоже. Я до сих пор считаю это нормой, когда вариационная маржа обновляется раз в минуту. )) Тоже посоветуете qLUA? ))) Если биржа расчитывает ежесекундно, то в связи с чем брокер задерживает расчет маржи?
Создание таблицы текущая прибыль/убыток и высчитывать по позициям в терминале, Сегодня невозможно понять текущее состояние счета, пересчет происходит с долгими задержкам, что добавляет еще большего психологического давления
Finrise (Инстройинвест), Открытие - также ссылаются на разработчиков ПО. Открытие даже обновление QUIK делают с задержкой 2-3 версии. У них до сих пор 6.16(42)