<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: &quot;Состояние счета&quot;]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме &quot;Состояние счета&quot; форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 11 Apr 2026 09:27:07 +0300</pubDate>
		<item>
			<title>&quot;Состояние счета&quot; </title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum1/message79821/topic9285/">&quot;Состояние счета&quot; </a></b> <i>программно получить параметр по прибыли</i> в форуме <a href="http://forum.quik.ru/forum1/">Система QUIK</a>. <br />
			вопрос решен - добавил три функции ниже в QuikPy, все заработало. пример функции для вызова в роботе:<br />
====code====
<pre>def get_account_summary(self):
&nbsp;&nbsp;&nbsp;&nbsp;"""Получает сводку по счету: дату, свободные средства и прибыль/убыток в %"""

&nbsp;&nbsp;&nbsp;&nbsp;# Инициализация переменных значениями по умолчанию
&nbsp;&nbsp;&nbsp;&nbsp;free_money = "0.0"
&nbsp;&nbsp;&nbsp;&nbsp;currency_code = "SUR"
&nbsp;&nbsp;&nbsp;&nbsp;profit_percentage = 0.0
&nbsp;&nbsp;&nbsp;&nbsp;profit_loss = 0.0

&nbsp;&nbsp;&nbsp;&nbsp;try:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Получаем первый счет (основной)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;accounts = self.qp.accounts
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if not accounts:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.logger.info("Нет доступных счетов")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return free_money, currency_code, profit_percentage

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;account = accounts&#91;0&#93;&nbsp;&nbsp;# Берем первый счет
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;firm_id = account&#91;'firm_id'&#93;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;client_code = account&#91;'client_code'&#93;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Получаем текущую дату
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;current_date = datetime.now(self.qp.tz_msk).strftime('%d.%m.%Y')

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Получаем свободные средства T1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;money_limits = self.qp.get_money_limits()&#91;'data'&#93;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;firm_money_limits = &#91;ml for ml in money_limits if ml&#91;'firmid'&#93; == firm_id and ml&#91;'limit_kind'&#93; == 1&#93;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if firm_money_limits:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;free_money = firm_money_limits&#91;0&#93;&#91;'currentbal'&#93;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;currency_code = firm_money_limits&#91;0&#93;&#91;'currcode'&#93;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Получаем прибыль/убыток в %
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;profit_percentage = self.qp.get_daily_profit_percentage(firm_id, client_code, 1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;profit_loss = self.qp.get_daily_profit_loss(firm_id, client_code, 1)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Выводим результат (теперь переменные определены)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.logger.info(current_date)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.logger.info(f"T1: Свободные средства {free_money} {currency_code}")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.logger.info(f"T1: Прибыль/убыток %: {profit_percentage:.2f}%")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.logger.info(f"T1: Прибыль/убыток дня: {profit_loss:.2f} {currency_code}")
&nbsp;&nbsp;&nbsp;&nbsp;except Exception as e:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.logger.error(f"Ошибка при получении данных: {e}")

&nbsp;&nbsp;&nbsp;&nbsp;return free_money, currency_code, profit_percentage, profit_loss
</pre>
=============
что добавить в QuikPy:<br />
====code====
<pre>def get_daily_profit_loss(self, firm_id, client_code, limit_kind=0, trans_id=0):
&nbsp;&nbsp;&nbsp;&nbsp;"""Получение прибыли/убытка дня

&nbsp;&nbsp;&nbsp;&nbsp;:param str firm_id: Код фирмы
&nbsp;&nbsp;&nbsp;&nbsp;:param str client_code: Код клиента
&nbsp;&nbsp;&nbsp;&nbsp;:param int limit_kind: Срок расчетов (0-T0, 1-T1, 365-T365)
&nbsp;&nbsp;&nbsp;&nbsp;:param int trans_id: Код транзакции
&nbsp;&nbsp;&nbsp;&nbsp;:return: Прибыль/убыток дня
&nbsp;&nbsp;&nbsp;&nbsp;"""
&nbsp;&nbsp;&nbsp;&nbsp;portfolio = self.get_portfolio_info_ex(firm_id, client_code, limit_kind, trans_id)
&nbsp;&nbsp;&nbsp;&nbsp;if portfolio and 'data' in portfolio:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;profit_loss = portfolio&#91;'data'&#93;.get('profit_loss')
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if profit_loss is not None:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return float(profit_loss)
&nbsp;&nbsp;&nbsp;&nbsp;return 0.0

def get_daily_profit_percentage(self, firm_id, client_code, limit_kind=0, trans_id=0):
&nbsp;&nbsp;&nbsp;&nbsp;"""Получение прибыли/убытка дня в процентах

&nbsp;&nbsp;&nbsp;&nbsp;:param str firm_id: Код фирмы
&nbsp;&nbsp;&nbsp;&nbsp;:param str client_code: Код клиента
&nbsp;&nbsp;&nbsp;&nbsp;:param int limit_kind: Срок расчетов
&nbsp;&nbsp;&nbsp;&nbsp;:param int trans_id: Код транзакции
&nbsp;&nbsp;&nbsp;&nbsp;:return: Прибыль/убыток дня в %
&nbsp;&nbsp;&nbsp;&nbsp;"""
&nbsp;&nbsp;&nbsp;&nbsp;portfolio = self.get_portfolio_info_ex(firm_id, client_code, limit_kind, trans_id)
&nbsp;&nbsp;&nbsp;&nbsp;if portfolio and 'data' in portfolio:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data = portfolio&#91;'data'&#93;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;portfolio_value = data.get('portfolio_value')
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;profit_loss = data.get('profit_loss')

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if portfolio_value and profit_loss and float(portfolio_value) != 0:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;portfolio_value_float = float(portfolio_value)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;profit_loss_float = float(profit_loss)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (profit_loss_float / portfolio_value_float) * 100
&nbsp;&nbsp;&nbsp;&nbsp;return 0.0

def get_portfolio_value(self, firm_id, client_code, limit_kind=0, trans_id=0):
&nbsp;&nbsp;&nbsp;&nbsp;"""Получение стоимости портфеля

&nbsp;&nbsp;&nbsp;&nbsp;:param str firm_id: Код фирмы
&nbsp;&nbsp;&nbsp;&nbsp;:param str client_code: Код клиента
&nbsp;&nbsp;&nbsp;&nbsp;:param int limit_kind: Срок расчетов
&nbsp;&nbsp;&nbsp;&nbsp;:param int trans_id: Код транзакции
&nbsp;&nbsp;&nbsp;&nbsp;:return: Стоимость портфеля
&nbsp;&nbsp;&nbsp;&nbsp;"""
&nbsp;&nbsp;&nbsp;&nbsp;portfolio = self.get_portfolio_info_ex(firm_id, client_code, limit_kind, trans_id)
&nbsp;&nbsp;&nbsp;&nbsp;if portfolio and 'data' in portfolio:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;portfolio_value = portfolio&#91;'data'&#93;.get('portfolio_value')
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if portfolio_value is not None:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return float(portfolio_value)
&nbsp;&nbsp;&nbsp;&nbsp;return 0.0
</pre>
============= <br />
			<i>16.10.2025 10:05:12, sberuser.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum1/message79821/topic9285/</link>
			<guid>http://forum.quik.ru/messages/forum1/message79821/topic9285/</guid>
			<pubDate>Thu, 16 Oct 2025 10:05:12 +0300</pubDate>
			<category>Система QUIK</category>
		</item>
		<item>
			<title>&quot;Состояние счета&quot; </title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum1/message79815/topic9285/">&quot;Состояние счета&quot; </a></b> <i>программно получить параметр по прибыли</i> в форуме <a href="http://forum.quik.ru/forum1/">Система QUIK</a>. <br />
			Добрый день всем.<br />В таблице &quot;Состояние счета&quot; есть два параметра Прибыль дня \ Прибыль %, мне нужно получить их значения в консультативном роботе на python на базе библиотеки QuikPy. <br />Попробовал эскпорт dde по этой таблице - но эти параметры в Итого и в экспорт не попадают..<br />Мне будет достаточно если где-нибудь в папке Quik будет создаваться файлик, а в нем текстом нужные мне значения всегда актуальные.<br />Подскажите пожалуйста, как это сделать с использованием это библиотеки, внутреннего lua-скрипта или иной встроенной функциональности.<br /><br />Буду очень признателен за помощь. <br />
			<i>15.10.2025 16:33:06, sberuser.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum1/message79815/topic9285/</link>
			<guid>http://forum.quik.ru/messages/forum1/message79815/topic9285/</guid>
			<pubDate>Wed, 15 Oct 2025 16:33:06 +0300</pubDate>
			<category>Система QUIK</category>
		</item>
	</channel>
</rss>
