Кирков Алексей
Кирков Алексей личный блог
29 октября 2015, 14:51

Для тех кому лень...

каждый день вручную выгружать стоимость активов из квика в эксель.

 

В этом деле поможет Lua. Ниже качайте скрипт и копите историю по стоимости активов.

Скрипт ежедневно в 18:45 пишет оценку активов по всем счетам, которые доступны в квике в файл my.log .

В каждой строчке файла my.log содержится код фирмы, код клиента, вид лимита, активы на начало и активы на конец.

Когда накопите представительную историю, загружаете файл в эксель, фильтруете по счетам и строите equity вашего счета.

 

Основную работу за вас делает вот такой скрипт:

function main()

                myLogOpenAppend()   -- открывает лог

                path = getWorkingFolder()

                myLog(«WorkingFolder: »..path)

 

                local cur_time

                while not stopped do

                               cur_time = os.date('*t') –получает текущее время

                               if( (cur_time.hour==18) and (cur_time.min==45) ) then

--если конец торговой сессии, записываем активы в лог

                                               local itemcount = getNumberOf(«FUTURES_CLIENT_LIMITS»)

                                               for i = 0,itemcount-1 do

                                                               local limit = getItem(«FUTURES_CLIENT_LIMITS»,i)

                                                               myLog(«firmid;trdaccid;limittype;cbp_prev_limit;cbplplanned»)

                myLog(limit.firmid..";"..limit.trdaccid..";"..limit.limit_type..";"..limit.cbp_prev_limit..";"..limit.cbplplanned)

                                               end

                              

                                               itemcount = getNumberOf(«money_limits»)

                                              

                                               for i = 0,itemcount-1 do

                                                               local limit = getItem(«money_limits»,i)

                                                              

                                                               if(limit.limit_kind==2) then

                                                                              local portfolio = getPortfolioInfoEx(limit.firmid,limit.client_code,2)

                                                                              if portfolio~=nil then

                                                                                              myLog(«firmid;client_code;limit_kind;in_assets;portfolio.assets»)

                myLog(limit.firmid..";"..limit.client_code..";"..limit.limit_kind..";"..portfolio.in_assets..";"..portfolio.assets)

                                                                              end

                                                               end

                                               end

                               end

                              

                               sleep(60000)

                end

end


скрипты качать отсюда:

https://github.com/robostock/equity
 

  

  

16 Комментариев
  • Ruscash
    29 октября 2015, 14:54
    на луа пишешь?
  • Андрей Верников
    29 октября 2015, 15:13
    Лайкнул, А где обещанное интервью?
  • Григорий
    29 октября 2015, 15:27
    Подскажите, пожалуйста, для ламеров, как это конкретно к квику применить, а так конечно, большое спасибо!

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн