Космонавт (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 2 3 4 5 6 След.
Показывать последние 100 интервалов
 
Интересная опция появилась - показывать на графике не все свечи, а только последние 100 (200,300) штук.
Но не могу сообразить, что эта опция экономит, позволяет ли она оптимизировать работу процессора, квика, трафик интернета? Что она экономит?
У меня робот прочёсывает около 150 графиков, все они открыты на полную катушку, думаю мне эта опция пригодится, но прошу разъяснить, что же всё таки она даёт в плане производительности?
Один квик для двух брокеров
 
Это очень плохо...
Один квик для двух брокеров
 
Да, про одновременную. Чтобы с одного квика шарашить одновременно на двух брокерах.
Один квик для двух брокеров
 
Здравствуйте.
Можно ли настроить внутри одного КВИКа работу с двумя (тремя) разными брокерами?
Спасибо.
запуск робота при запуске квика
 
Спасибо за ответы!
Но они разные.
Что скажут разработчики?
Сохранятся ли изменившиеся переменные в памяти при уходе в гибернацию?
П.С. Для меня это ООООчень важно. Заранее спасибо.
запуск робота при запуске квика
 
А если компьютер на ночь уходил в гибернацию без выключения КВИКА, а утром ожил?
Запомнятся ли переменные и будет ли читаться код до функции main?
запуск робота при запуске квика
 
Вопросы в продолжение этой темы.
Вечером комп выключается.
Утром включается.
Роботы самозапустились (зелёные треугольники).
Вопрос 1
С какого места начинает работать робот? С Функции Main или он читает и исполняет код с самого начала (до функции main)?

Вопрос 2.
Помнит ли робот переменные, которые поменялись в ходе его работы?
Ну например переменная flag имеет первоначальное значение 0, но стала иметь значение 1 в ходе работы скрипта.
Какое у неё будет значение в моём случае - 0 или 1?
запуск робота при запуске квика
 
Николай, но при это внизу нет никаких ошибок. Выглядит как незапущенный скрипт, вот так
запуск робота при запуске квика
 
здравствуйте
почему при утреннем запуске КВИКа какие то роботы само-запускаются, а какие то нет?
от чего это зависит?
вот пример:
Sleep (1) приводит к бОльшим задержкам чем 1 мс.
 
ок
но Ваш ответ о другом
у меня вопрос почему при проходе 61 акции  sleep (1) даёт задержку не 61 миллисекунда, а гораздо больше.
Sleep (1) приводит к бОльшим задержкам чем 1 мс.
 
не понял Вашу мысль
переформулируйте пожалуйста по простому, для не программиста.
Sleep (1) приводит к бОльшим задержкам чем 1 мс.
 
Странная особенность у функции sleep с параметром 1 миллисекунда.

в ticker_list 61 акция ММВБ
Код
for sec in string.gmatch(ticker_list,"%a+") do
без sleep (1)
скрипт
end
начало первого  прохода всех акций в тикер листе
04/11/16 16:50:11,109
начало второго прохода всех акий в тикер листе
04/11/16 16:50:11,296

Итого 187 миллисекунд

теперь то же самое, но уже со sleep (1)
Код
for sec in string.gmatch(ticker_list,"%a+") do
sleep (1)
скрипт
end
04/11/16 17:00:52,687
04/11/16 17:00:53,640

разница ПОЧТИ секунда!

откуда она берётся?
Экспорт графиков в Эксель
 
Здравствуйте.
Подскажите пожалуйста как экспортировать данные графика в эксель.
Речь идёт не о банальном "Сохранить данные в файл", а о настройке непрерываного он-лайн экспорта.
Спасибо за ответ.
Снятие каждой десятой заявки
 
Спасибо.
Сделал так:
Код
function FreeMoney ()
dofile("C:\\variables.lua")
   i=0
   for sec in string.gmatch(ticker_list,"%a+") do
   sleep (1)
   ostatok=math.mod(i/5)
      if ostatok=0 then 
         table_mask={}
         table_mask.seccode=sec
         killAllOrders(table_mask)
         i=i+1
      end
   end   
end
Снятие каждой десятой заявки
 
Помогите пожалуйста переделать эту функцию, чтобы она снимала не все активные заявки, а каждую пятую активную заявку.
Спасибо

Это нужно чтобы когда засигналит соседний робот, эта функция сняла не все, а часть этих заявок, чтобы освободить немного денег.


Код
function killAllOrders(table_mask)
   -- данная функция отправит транзакции на отмену АКТИВНЫХ заявок соответствующим фильтру указанному как входящий параметр table_mask
   -- список всех возможных параметров  : ACCOUNT,CLASSCODE,SECCODE,OPERATION,CLIENT_CODE,COMMENT
   -- если вызвать функцию с параметром nil - снимутся ВСЕ активные заявки
   local i,key,val,result_num=0,0,0,0
   local tokill=true
   local row={}
   local result_str=""

   for i=0,getNumberOf("orders")-1,1 do
      row=getItem("orders",i)
      tokill=false
      --toLog(log,"Row "..i.." onum="..row.order_num)
      if orderflags2table(row.flags).active then
         tokill=true
         --toLog(log,"acitve")
         if table_mask~=nil then
            for key,val in pairs(table_mask) do
               --toLog(log,"check key="..key.." val="..val)
               --toLog(log,"strlowe="..string.lower(key).." row="..row[string.lower(key)].." tbl="..val)
               if string_lower(key)=='comment' then
                  if string_find(string_lower(row.brokerref),string_lower(val))==nil then   tokill=false break end
               else
                  if row[string_lower(key)]~=val then tokill=false   break end
               end
            end
         end
      end
      if tokill then
         --toLog(log,"kill onum"..row.order_num)
         res,ms=killOrder(tostring(row.order_num),row[securityfiledname],row.class_code)
         result_num=result_num+1
         --toLog(log,ms)
         if res then
            result_str=result_str..row.order_num..","
         else
            result_str=result_str.."!"..row.order_num..","
         end
      end
   end
   return true,"QL.killAllOrders(): Sended "..result_num.." transactions. order_nums:"..result_str
end
Слетают настройки приёма данных
 
в каком файле хранится информация об этих выставленных параметрах?
Я его буду отдельно сохранять и потом копировать в папку Front
Слетают настройки приёма данных
 
Проблема проявилась после Перезаказать данные.
Все птички возле рынков выставились, фильтры инструментов и параметров убрались.
Слетают настройки приёма данных
 
Чтобы дать точную информацию, я дождусь следующего появления проблемы и опишу при каких условиях она возникла.
По определённым причинам я не могу просто так брать и перезапускать КВИК когда захочу ради тестов.
Слетают настройки приёма данных
 
Версия 7.1.0
Слетают настройки приёма данных
 
Здравствуйте.
Всё время слетают настройки приёма данных. Работаю-работаю. Потом перезапустил квик, и снова все птички стоят, все ненужные данные принимаются.
Как с этим бороться?


Посоветуйте как повысить надёжность сбережения этих настроек. Может быть они лежат в каком то особом дат файле, его можно сохранить и если слетели настройки приёма данных, то подцепить сохранённый файл.
время сервера
 
Михаил, спасибо. Помогло
время сервера
 
Операционная система Windows Server 2003
время сервера
 
внезапно стало отображаться время сервера в формате 5:07:22 PM
Раньше было 17:07:22
Это сбило всю работу робота так как он брал время сервера.
Это настраивается в КВИКе или у брокера?

Стало так:


Как вернуть чтобы было так:
Железо для торговли роботом
 
Николай, спасибо!
Раскройте пожалуйста термин "очередь сигналов"
Железо для торговли роботом
 
попробую запихнуть проверку статуса в колбек.
Тогда он будет реагировать на каждую сделку, даже если они пришли одновременно.
Железо для торговли роботом
 
а вот - красота - всё сработало как надо
(тоже сегодня)
http://i.imgur.com/OvOGcPx.jpg
Железо для торговли роботом
 
Цитата
Николай Камынин написал:
а почему Вы решили, что меньше сигналов - это неправильно?
возможно у вас коридор для болинджера большой задан для текущего рынка.
всегда был такой коридор.
Я имел в виду, что в новом брокере чересчур много случаев, когда визуально график опустился ниже нижней линии боллинджера (или поднялся выше верхней), а заявка не отправилась.
Вот свеженький пример:
http://i.imgur.com/TIiajov.jpg
должна была выставиться заявка на продажу, а её не было. И в таблице Транзакций никаких попыток зашортить Сбер не было.
Я не понимаю почему.
Железо для торговли роботом
 
Цитата
Николай Камынин написал:
Вы используете сделку и заявку Вы именно так хотите?
Раньше - торгуя в БКС - было так: если бид из ТТП опускается ниже нижней линии Боллинджера, робот выставляет заявку на покупку (лучшим бидом).
Когда я понял, что на новом брокере - Неттрейдер - у меня раза в три меньше срабатываний, чем в БКС, то начал экспериментировать.
Сейчас робот отсылает заявку если ИЛИ цена сделки из ТВС опускается ниже нижней линии Боллинджера, ИЛИ бид из стакана опускается ниже нижней линии Боллинджера.
И то, и то меня устраивает с точки зрения точки входа: купить, если цена поцеловалась с нижней линией Боллинджера.
Железо для торговли роботом
 
Цитата
Николай Камынин написал:
вернее сказать ошибка в алгоритме функции пересечения

Код
function OnAllTrade (alltrade)
    if string.find(ticker_list,alltrade.sec_code)~=nil then
    last_price[alltrade.sec_code]=alltrade.price
    end
end
Код
 function OnParam (class, sec)
     if string.find(ticker_list,sec)~=nil then 
        tablebid=getParamEx(class,  sec, "bid")
        tableoffer=getParamEx(class,  sec, "offer")

            if  bid_best[sec]~=tablebid.param_value then
                bid_best[sec]=tonumber(toPrice(sec, tablebid.param_value))
            end
            
            if offer_best[sec]~=tableoffer.param_value then
                offer_best[sec]=tonumber(toPrice(sec, tableoffer.param_value))
            end
     end
 end
Внутри main идёт перебор 50 акций из тикер листа for sec in string.gmatch(ticker_list,"%a+") do
Код
        if bid_best[sec]~=0 and offer_best[sec]~=0 and last_price[sec]~=0 then        
            if last_price[sec]<line_3 or bid_best[sec]<line_3 then    
                status="Fire_LONG"
            elseif offer_best[sec]>line_2 or last_price[sec]>line_2 then        
                status="Fire_SHORT" 
            else 
                status="SPACE"
            end
        end   

line_3 и line_2 - это нижняя и верхняя линии Боллинджера.
Железо для торговли роботом
 
Я тоже думал о том, чтобы присвоить графику идентификатор, и сравнивать значение свечки CLOSE с Боллинджером, но потом решил что с коллбеком будет быстрее и реализовал через колбек.
Железо для торговли роботом
 
Вот и я думаю, что заявки должны отсылаться, пусть даже с опозданием.
Но на практике очень часто не бывает срабатываний. Снижение цены под Боллинджера есть, а заявка не выставляется.
http://i.imgur.com/fHRuwtY.jpg  вот пример.

(при этом много случаев, когда робот молодец и всё сработало как надо)
Железо для торговли роботом
 
Николай, спасибо что помогаете.
Тогда такой вопрос.
Ответ  для меня очень важен. Станет понятно почему у моего робота после перехода на нового брокера стало мало срабатываний. Это и стало причиной, почему я встревожился и задал вопрос на этом форуме.

Вот пример сделки, которую заключил робот:
http://1.bp.blogspot.com/-FGMaEclvh9o/VRLRqlmYPiI/AAAAAAAAAiM/vW2ZRh-Wm8A/s1600/FEES_bollinger.jpg
КУПИТЬ, если цена опустилась ниже нижней линии Боллинджера. Данные о сделках берутся коллбеком из таблицы обезличенных сделок (ТВС).

Итак, вопрос:
Если у брокера тормозной сервер, а у меня тормозной интернет, то при наступлении точки входа, отправит ли робот заявку, пусть даже с опозданием? Или возможен вариант, что точка входа была, робот завтыкал, за эти миллисекунды точка входа прошла, и заявка отправлена не будет?
Заранее спасибо.
Ответ на этот вопрос даст мне очень многое.

П.С. Моё личное мнение: робот должен выставить заявку, даже с опозданием, ведь в Таблице обезличенных сделок появится запись, которую он обработает.
Железо для торговли роботом
 
Цитата
Николай Камынин написал:
а как вы управляете терминалом КВИК. Он у Вас на сервере брокера?
через RDP
Железо для торговли роботом
 
Цитата
Николай Камынин написал:
Похоже что в киеве.
С первого взгляда выгоды от виртуалки почти нет. Я такие параметры получаю на своем компе(но не у всякого брокера).
Есть брокеры у которых сервера тормозятся сильно.
А где будет комп?
Дома в Симферополе.
Железо для торговли роботом
 
виртуалка в 10-00
(она стоит в Киеве, поэтому время на час назад)
http://joxi.ru/xAe0x7YSYZDa92.jpg
Железо для торговли роботом
 
виртуалка в 10-00
Железо для торговли роботом
 
Николай, то есть нынешний вариант - виртуалка у брокера - даже имеет реальные недостатки по сравнению с ноутбуком?
(при условии что интернет везде одинаково хорош)
Железо для торговли роботом
 
Цитата
swerg написал:
Цитата
Переезд на вот такой ноутбук будет ли равнозначным?
У вас робот с типа высокочастотной торговлей или открываете позицию - и на неделю?
если первое - то, как было сказано, основное - это каналы связи, а не железо.
он не ХФТ, но требует быстрой реакции.
Железо для торговли роботом
 
Николай, спасибо.
Тогда уточняющий вопрос.
Какое железо лучше:
виртуалка у брокера сейчас такая
http://cs631629.vk.me/v631629274/d4e7/s2WY_6Tl32U.jpg

Переезд на вот такой ноутбук будет ли равнозначным?
http://joxi.ru/bmoVM5YsMjEaYr.jpg
Железо для торговли роботом
 
Господа, прошу давать конструктивные ответы в рамках заданного вопроса.
Без советов "потестировать" и "нужен быстрый интернет" я вполне обойдусь.
Спасибо.
Железо для торговли роботом
 
Добрый день.
Торгую роботом на минутках. Скорость срабатывания очень важна. Точка входа может длиться доли секунды, за которые робот должен успеть выставить заявку. В связи с этим вопрос. Какое должно быть железо у компьютера, чтобы роботу комфортно торговалось? Сейчас я пользуюсь виртуальным сервером брокера, но планирую переехать на обычный ноутбук и торговать с него. Других программ на ноутбуке не будет. Только КВИК.
Робот на Lua. Работает с таблицей всех сделок и таблицей текущих торгов.

Вот параметры ноутбука. Достаточно ли их?
Celeron ® Dual Core CPU  
T 3100 1,9 GHz
ОЗУ 2 ГБ
Как бороться с файлом alltrade.dat
 
За неделю файл alltrade.dat разросся до 130 мегабайт.
Есть ли в 7 версии КВИКа способы как то с этим бороться?
Или только вручную удалить?
Можно ли не открывать таблицы при работе с Луа
 
Что значит по хорошему?
Я добавил только один столбец, а принимаются все которые нужны
Можно ли не открывать таблицы при работе с Луа
 
Эти таблицы достаточно просто открыть, или нужно добавлять в них те столбцы, которые мне нужны?
Можно ли не открывать таблицы при работе с Луа
 
Добрый день
Есть ли способ работы с коллбеками OnParam, OnAllTrade, не открывая таблицу Текущих торгов и таблицу обезличенных сделок?
Спасибо.
В новой версии перестала работать функция
 
если поставить
row=getItem("orders",i-1)
то функция начинает работать
Вы что то поменяли в новых версиях в учёте строк в таблице заявок?
В новой версии перестала работать функция
 
В этом виде функция работает в версии 6.14.
Когда обновил до 6.17, она перестала работать. В версии 7 - тоже не работает.
Ошибка: attempt to index local row (a nil value)
Стоит откатить КВИК до версии 6.14, всё работает безукоризненно.
Функция на входе принимает цену и объём котировки из стакана
Код
function is_it_my_quote(price_from_glass, volume_from_glass, sec)
   local row
   for i=getNumberOf("orders"),getNumberOf("orders")-orders_threshold,-1 do   
      row=getItem("orders",i)

      if row.seccode==sec and row.price==price_from_glass and orderflags2table(row.flags).active then
         if row.balance==volume_from_glass then
            return true,true
         else
            return true,false
         end
      end
   end
   return false,false
end
Как эффективнее разгрузить КВИК
 
Сергей Горохов,
это правда то, что написал Николай Камынин?
Неужели и в таблицу всех сделок данные заезжают срезами?
Как эффективнее разгрузить КВИК
 
Николай Камынин,не понял Вас
мне брокер выключил все лишние классы.
Теперь вот так:
http://i.imgur.com/rEXpV7h.jpg
ТВС мне нужна, так как я отслеживаю цену последней сделки.
ТТП не подходит, так как мой брокер обновляет её раз в 50 миллисекунд.

И ещё.
Если в ТВС фильтром Редактировать таблицу оставить только 1 бумагу - ОГК-2 например. А все остальные акции останутся включенными в Связь - Заказ всех сделок.
То.... коллбэк будет по прежнему находить сделки по всем акциям?
Как эффективнее разгрузить КВИК
 
Здравствуйте.
Я торгую роботом на акциях ММВБ, фортс мне не нужен.
Работаю с таблицей всех сделок - коллбек OnAllTrades
Как эффективнее разгрузить КВИК от ненужных данных рынка фортс?

1. Попросить брокера на своей стороне выключить мне рынок ФОРТС?
2. Убрать птички в Связь - Списки и Связь - Заказ всех сделок?

Во второму случае - как мне кажется - квик должен делать дополнительную работу - проверять сделку принадлежит она к ММВБ или ФОРТС и в зависимости от этого транслировать её или отфутболивать. Лишняя вычислительная нагрузка.
Значит первый вариант лучше?
Страницы: Пред. 1 2 3 4 5 6 След.
Наверх