вот вам портфель для QUIK (на вечерке возможны глюки, пока не проверял, жду вечерку).
он быстренько считает прибыль / убыток по каждой позиции и общую.
Считает внутри дня, и за месяц (в скрипте укажите ваш начальный баланс за месяц. Открывается скрипт простым Блокнотом)
Поставьте его, скажите какие есть ошибки? Баланс там не правильно показывает, или еще что.
как поставить: в QUIK нажимаем CTRL+F11 далее ДОБАВИТЬ (указываем файл), далее ПЕРИОД РАСЧЕТА поставьте на 1 секунду. ПРИМЕНИТЬ
далее снова CTRL+F11 — создать таблицу, выделяем наш скрипт, добавим все колонки (ДОБАВИТЬ ВСЕ) и жмем ДА
Когда будете писать ошибку, напишите какой у вас брокер.
Если все хорошо, можете просто написать что еще сделать.
>>> СКАЧАТЬ <<<
биржевая сводка
UPD1
14 июля в 19:47 нашел на вечерке ошибку.
Все поправил — можно обновиться
UPD2
15 июля в 10:40
Подправил работу со временем локальным и серверным.
Из-за этого выборка по позициям шла коряво в клиринг и выходные
PORTFOLIO_EX BRENT_RUB; DESCRIPTION Нефть в рублях; CLIENTS_LIST ALL_CLIENTS; FIRMS_LIST ALL_FIRMS; PROGRAM ' =========Пользовательские настройки============= INSTRUMENT_BRENT="BRK7" ' код инструмента BRENT INSTRUMENT_USDRUB="USD000UTSTOM" ' код инструмента USDRUB_TOM CLASSCODE_FUT="SPBFUT" ' код группы CLASSCODE_ETC="CETS" ' код группы PriceBrent = 0 + GET_PARAM(CLASSCODE_FUT,INSTRUMENT_BRENT, "OFFER") PriceUSDRUB = 0 + GET_PARAM(CLASSCODE_ETC,INSTRUMENT_USDRUB, "OFFER") BRENT_RUB=PriceBrent*PriceUSDRUB ' ===============СЕРВЕРНЫЕ ДАТА И ВРЕМЯ=============== SERVERDATE=GET_INFO_PARAM("TRADEDATE") ' дата сервера в формате DD.MM.YYYY SERVERTIME=GET_INFO_PARAM("SERVERTIME") ' время сервера в формате HH:MM:SS DATETIME(SERVERDATE,SERVERTIME) ' вызов функции даты-времени ' ===============ДАННЫЕ В ТАБЛИЦУ=============== OUTPUT_BRENT=CREATE_MAP() OUTPUT_BRENT=SET_VALUE(OUTPUT_BRENT,"BRENT_RUB" , BRENT_RUB) OUTPUT_BRENT=SET_VALUE(OUTPUT_BRENT,"SERVERTIME" , SERVERTIME) OUTPUT_BRENT=SET_VALUE(OUTPUT_BRENT,"SERVERDATE" , SERVERDATE) OUTPUT_BRENT=SET_VALUE(OUTPUT_BRENT,"INSTRUMENT" , INSTRUMENT_BRENT) DELETE_ALL_ITEMS() ADD_ITEM(1,OUTPUT_BRENT) ' ===============ФУНКЦИИ=============== ' ФУНКЦИЯ СЕРВЕРНЫХ ДАТЫ И ВРЕМЕНИ FUNC DATETIME(FSERVERDATE,FSERVERTIME) CURYEAR=SUBSTR(FSERVERDATE,6,4) ' текущий год в текстовом формате CURMONTH=SUBSTR(FSERVERDATE,3,2) ' текущий месяц в текстовом формате CURDAY=SUBSTR(FSERVERDATE,0,2) ' текущий день в текстовом формате CURDATE=CURYEAR & CURMONTH & CURDAY ' дата в текстовом формате CURHOUR=SUBSTR(FSERVERTIME,0,2) ' текущие часы в текстовом формате CURMIN=SUBSTR(FSERVERTIME,3,2) ' текущие минуты в текстовом формате CURSEC=SUBSTR(FSERVERTIME,6,2) ' текущие секунды в текстовом формате CURTIME=CURHOUR & CURMIN & CURSEC ' время в текстовом формате END FUNC END_PROGRAM PARAMETER SERVERDATE; PARAMETER_TITLE Дата; PARAMETER_DESCRIPTION Дата; PARAMETER_TYPE STRING(10); END PARAMETER SERVERTIME; PARAMETER_TITLE Время; PARAMETER_DESCRIPTION Время; PARAMETER_TYPE STRING(10); END PARAMETER BRENT_RUB; PARAMETER_TITLE Нефть (руб.); PARAMETER_DESCRIPTION Нефть (руб.); PARAMETER_TYPE STRING(10); END END_PORTFOLIO_EXссылка на скрипт